java.lang.Object
org.apache.derby.impl.sql.execute.ValueRow
org.apache.derby.impl.sql.execute.IndexRow
- All Implemented Interfaces:
- org.apache.derby.iapi.sql.execute.ExecIndexRow, org.apache.derby.iapi.sql.execute.ExecRow, java.io.Externalizable, org.apache.derby.iapi.services.io.Formatable, org.apache.derby.iapi.sql.Row, java.io.Serializable, org.apache.derby.iapi.services.io.TypedFormat
- public class IndexRow
- extends ValueRow
- implements org.apache.derby.iapi.sql.execute.ExecIndexRow
Basic implementation of ExecIndexRow.
|
Field Summary |
private boolean[] |
orderedNulls
This class implements Formatable. |
| Fields inherited from class org.apache.derby.impl.sql.execute.ValueRow |
|
| Methods inherited from class org.apache.derby.impl.sql.execute.ValueRow |
cloneColumn, getClone, getClone, getColumn, getNewNullRow, getNewObjectArray, getRowArray, getRowArrayClone, nColumns, realloc, setColumn, setRowArray, setRowArray, toString |
orderedNulls
private boolean[] orderedNulls
- This class implements Formatable. That means that it
can write itself to and from a formatted stream. If
you add more fields to this class, make sure that you
also write/read them with the writeExternal()/readExternal()
methods.
If, inbetween releases, you add more fields to this class,
then you should bump the version number emitted by the getTypeFormatId()
method.
IndexRow
public IndexRow()
- Public niladic constructor. Needed for Formatable interface to work.
IndexRow
public IndexRow(int ncols)
orderedNulls
public void orderedNulls(int columnPosition)
- Description copied from interface:
org.apache.derby.iapi.sql.execute.ExecIndexRow
- These two methods are a sort of a hack. The store implements ordered
null semantics for start and stop positioning, which is correct for
IS NULL and incorrect for everything else. To work around this,
TableScanResultSet will check whether the start and stop positions
have NULL in any column position other than for an IS NULL check.
If so, it won't do the scan (that is, it will return no rows).
This method is to inform this ExecIndexRow (which can be used for
start and stop positioning) that the given column uses ordered null
semantics.
- Specified by:
orderedNulls in interface org.apache.derby.iapi.sql.execute.ExecIndexRow
areNullsOrdered
public boolean areNullsOrdered(int columnPosition)
- Description copied from interface:
org.apache.derby.iapi.sql.execute.ExecIndexRow
- Return true if orderedNulls was called on this ExecIndexRow for
the given column position.
- Specified by:
areNullsOrdered in interface org.apache.derby.iapi.sql.execute.ExecIndexRow
execRowToExecIndexRow
public void execRowToExecIndexRow(org.apache.derby.iapi.sql.execute.ExecRow valueRow)
- Turn the ExecRow into an ExecIndexRow.
- Specified by:
execRowToExecIndexRow in interface org.apache.derby.iapi.sql.execute.ExecIndexRow
readExternal
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Read this object from a stream of stored objects.
- Specified by:
readExternal in interface java.io.Externalizable- Overrides:
readExternal in class ValueRow
writeExternal
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
- Write this object to a stream of stored objects.
- Specified by:
writeExternal in interface java.io.Externalizable- Overrides:
writeExternal in class ValueRow
getTypeFormatId
public int getTypeFormatId()
- Get the formatID which corresponds to this class.
- Specified by:
getTypeFormatId in interface org.apache.derby.iapi.services.io.TypedFormat- Overrides:
getTypeFormatId in class ValueRow
cloneMe
org.apache.derby.iapi.sql.execute.ExecRow cloneMe()
- Overrides:
cloneMe in class ValueRow