"extensible fields not supported yet");
}
Object column = row[columnId];
OverflowInputStream overflowIn = null;
// SRW-DJD code assumes non-extensible case ...
// field is non-existent, return null
if (StoredFieldHeader.isNonexistent(fieldStatus))
{
if (column instanceof DataValueDescriptor)
{
// RESOLVE - This is in place for 1.2. In the future
// we may want to return this column as non-existent
// even if it is a storable column, or maybe use a
// supplied default.
((DataValueDescriptor) column).restoreToNull();
}
else
{
row[columnId] = null;
}
continue;
}
boolean isOverflow = StoredFieldHeader.isOverflow(fieldStatus);
if (isOverflow)
{
// A fetched long column needs to be returned as a stream
//
long overflowPage =
CompressedNumber.readLong((InputStream) dataIn);
int overflowId =
CompressedNumber.readInt((InputStream) dataIn);
// Prepare the stream for results...
// create the byteHolder the size of a page, so, that it
// will fit the field Data that would fit on a page.
MemByteHolder byteHolder =
new MemByteHolder(pageData.length);
overflowIn = new OverflowInputStream(
byteHolder, owner, overflowPage,
overflowId, recordToLock);
}
// Deal with Object columns