Get the next row as an array of column objects. The column objects can
be a JBMS Storable or any
Serializable/Externalizable/Formattable/Streaming type.
A return of null indicates that the complete set of rows has been read.
A null column can be specified by leaving the object null, or indicated
by returning a non-null getValidColumns. On streaming columns, it can
be indicated by returning a non-null get FieldStates.
If RowSource.needToClone() is true then the returned row
(the DataValueDescriptor[]) is guaranteed not to be modified by drainer
of the RowSource (except that the input stream will be read, of course)
and drainer will keep no reference to it before making the subsequent
nextRow call. So it is safe to return the same DataValueDescriptor[]
in subsequent nextRow calls if that is desirable for performance
reasons.
If RowSource.needToClone() is false then the returned row (the
DataValueDescriptor[]) may be be modified by drainer of the RowSource,
and the drainer may keep a reference to it after making the subsequent
nextRow call. In this case the client should severe all references to
the row after returning it from getNextRowFromRowSource().
exception: StandardException - Cloudscape Standard Error Policy |