Top Description Fields Constructors Methods
org.apache.derby.impl.sql.execute

pack-priv Class IndexRow

extends ValueRow
implements ExecIndexRow
Class Inheritance
All Implemented Interfaces
org.apache.derby.iapi.sql.execute.ExecIndexRow, org.apache.derby.iapi.sql.execute.ExecRow, org.apache.derby.iapi.sql.Row
Imports
org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.iapi.sql.execute.ExecIndexRow, .ExecRow

Basic implementation of ExecIndexRow.

Field Summary

Modifier and TypeField and Description
private boolean[]

Constructor Summary

AccessConstructor and Description
pack-priv
IndexRow(int ncols)

Method Summary

Modifier and TypeMethod and Description
public boolean
areNullsOrdered(int
The position of the column (zero-based) for which we want to check if ordered null semantics are used.
columnPosition
)

Implements org.apache.derby.iapi.sql.execute.ExecIndexRow.areNullsOrdered.

Return true if orderedNulls was called on this ExecIndexRow for the given column position.

pack-priv ExecRow
public void
public void
orderedNulls(int
The position of the column that uses ordered null semantics (zero-based).
columnPosition
)

Implements org.apache.derby.iapi.sql.execute.ExecIndexRow.orderedNulls.

These two methods are a sort of a hack.

Inherited from org.apache.derby.impl.sql.execute.ValueRow:
cloneColumngetClonegetClonegetColumngetNewNullRowgetNewObjectArraygetRowArraygetRowArrayClonenColumnsreallocresetRowArraysetColumnsetRowArraytoString

Field Detail

orderedNullsback to summary
private boolean[] orderedNulls

Constructor Detail

IndexRowback to summary
pack-priv IndexRow(int ncols)

Method Detail

areNullsOrderedback to summary
public boolean areNullsOrdered(int columnPosition)

Implements org.apache.derby.iapi.sql.execute.ExecIndexRow.areNullsOrdered.

Doc from org.apache.derby.iapi.sql.execute.ExecIndexRow.areNullsOrdered.

Return true if orderedNulls was called on this ExecIndexRow for the given column position.

Parameters
columnPosition:int

The position of the column (zero-based) for which we want to check if ordered null semantics are used.

Returns:boolean

true if we are to use ordered null semantics on the given column

cloneMeback to summary
pack-priv ExecRow cloneMe()

Overrides org.apache.derby.impl.sql.execute.ValueRow.cloneMe.

execRowToExecIndexRowback to summary
public void execRowToExecIndexRow(ExecRow valueRow)

Implements org.apache.derby.iapi.sql.execute.ExecIndexRow.execRowToExecIndexRow.

Turn the ExecRow into an ExecIndexRow.

orderedNullsback to summary
public void orderedNulls(int columnPosition)

Implements org.apache.derby.iapi.sql.execute.ExecIndexRow.orderedNulls.

Doc from org.apache.derby.iapi.sql.execute.ExecIndexRow.orderedNulls.

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.

Parameters
columnPosition:int

The position of the column that uses ordered null semantics (zero-based).