return null;
do {
try {
OChannelBinaryClient network = null;
try {
network = beginRequest(OChannelBinaryProtocol.REQUEST_RECORD_LOAD);
network.writeRID(iRid);
network.writeString(iFetchPlan != null ? iFetchPlan : "");
} finally {
endRequest(network);
}
try {
beginResponse(network);
if (network.readByte() == 0)
return null;
final ORawBuffer buffer = new ORawBuffer(network.readBytes(), network.readInt(), network.readByte());
ORecordInternal<?> record;
while (network.readByte() == 2) {
record = (ORecordInternal<?>) readIdentifiable(network, iDatabase);
// PUT IN THE CLIENT LOCAL CACHE
iDatabase.getLevel1Cache().updateRecord(record);
}