Class IndexRow
java.lang.Object
org.apache.derby.impl.sql.execute.ValueRow
org.apache.derby.impl.sql.execute.IndexRow
- All Implemented Interfaces:
ExecIndexRow
,ExecRow
,Row
Basic implementation of ExecIndexRow.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
areNullsOrdered
(int columnPosition) Return true if orderedNulls was called on this ExecIndexRow for the given column position.(package private) ExecRow
cloneMe()
void
execRowToExecIndexRow
(ExecRow valueRow) Turn the ExecRow into an ExecIndexRow.void
orderedNulls
(int columnPosition) These two methods are a sort of a hack.Methods inherited from class org.apache.derby.impl.sql.execute.ValueRow
cloneColumn, getClone, getClone, getColumn, getNewNullRow, getNewObjectArray, getRowArray, getRowArrayClone, nColumns, realloc, resetRowArray, setColumn, setRowArray, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.derby.iapi.sql.execute.ExecRow
cloneColumn, getClone, getClone, getNewNullRow, getNewObjectArray, getRowArray, getRowArrayClone, resetRowArray, setRowArray
-
Field Details
-
orderedNulls
private boolean[] orderedNulls
-
-
Constructor Details
-
IndexRow
IndexRow(int ncols)
-
-
Method Details
-
orderedNulls
public void orderedNulls(int columnPosition) Description copied from interface: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 interfaceExecIndexRow
- Parameters:
columnPosition
- The position of the column that uses ordered null semantics (zero-based).
-
areNullsOrdered
public boolean areNullsOrdered(int columnPosition) Description copied from interface:ExecIndexRow
Return true if orderedNulls was called on this ExecIndexRow for the given column position.- Specified by:
areNullsOrdered
in interfaceExecIndexRow
- Parameters:
columnPosition
- The position of the column (zero-based) for which we want to check if ordered null semantics are used.- Returns:
- true if we are to use ordered null semantics on the given column
-
execRowToExecIndexRow
Turn the ExecRow into an ExecIndexRow.- Specified by:
execRowToExecIndexRow
in interfaceExecIndexRow
-
cloneMe
ExecRow cloneMe()
-