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
class IndexRow extends ValueRow implements ExecIndexRow
Basic implementation of ExecIndexRow.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean[]
orderedNulls
-
Constructor Summary
Constructors Constructor Description IndexRow(int ncols)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
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
-
-
-
-
Method Detail
-
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
public void execRowToExecIndexRow(ExecRow valueRow)
Turn the ExecRow into an ExecIndexRow.- Specified by:
execRowToExecIndexRow
in interfaceExecIndexRow
-
-