// get rdbnam
int scldtaLen = peekFastLength();
if (scldtaLen < 18 || scldtaLen > 255) {
agent_.accumulateChainBreakingReadExceptionAndThrow(
new DisconnectException(agent_,
new ClientMessageId(
SQLState.NET_SQLCDTA_INVALID_FOR_RDBNAM),
new Integer(scldtaLen)));
return null;
}
// read 2+scldtaLen number of bytes from the reply buffer into the pkgnamcsnBytes
//offset = readBytes (pkgnamcsnBytes, offset, 2+scldtaLen);
offset = peekFastBytes(pkgnamcsnBytes, offset, 2 + scldtaLen);
skipFastBytes(2);
rdbnam = readFastString(scldtaLen);
// get rdbcolid
scldtaLen = peekFastLength();
if (scldtaLen < 18 || scldtaLen > 255) {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
new ClientMessageId(SQLState.NET_SQLCDTA_INVALID_FOR_RDBCOLID),
new Integer(scldtaLen)));
return null;
}
// read 2+scldtaLen number of bytes from the reply buffer into the pkgnamcsnBytes
offset = peekFastBytes(pkgnamcsnBytes, offset, 2 + scldtaLen);
skipFastBytes(2);
rdbcolid = readFastString(scldtaLen);
// get pkgid
scldtaLen = peekFastLength();
if (scldtaLen < 18 || scldtaLen > 255) {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
new ClientMessageId(SQLState.NET_SQLCDTA_INVALID_FOR_PKGID),
new Integer(scldtaLen)));
return null; // To make compiler happy.
}
// read 2+scldtaLen number of bytes from the reply buffer into the pkgnamcsnBytes
offset = peekFastBytes(pkgnamcsnBytes, offset, 2 + scldtaLen);
skipFastBytes(2);
pkgid = readFastString(scldtaLen);
// get consistency token
offset = peekFastBytes(pkgnamcsnBytes, offset, 8);
pkgcnstkn = readFastBytes(8);
} else {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
new ClientMessageId(SQLState.NET_PGNAMCSN_INVALID_AT_SQLAM),
new Integer(ddmLength), new Integer(netAgent_.targetSqlam_)));
return null; // To make compiler happy.
}