Class IndexValueRow

java.lang.Object
org.apache.derby.impl.sql.execute.IndexValueRow
All Implemented Interfaces:
ExecIndexRow, ExecRow, Row

class IndexValueRow extends Object implements ExecIndexRow
Mapper of ValueRow into ExecIndexRow.
  • Field Details

    • valueRow

      private ExecRow valueRow
  • Constructor Details

    • IndexValueRow

      IndexValueRow(ExecRow valueRow)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getRowArray

      public DataValueDescriptor[] getRowArray()
      Get the array form of the row that Access expects.
      Specified by:
      getRowArray in interface ExecRow
      See Also:
    • setRowArray

      public void setRowArray(DataValueDescriptor[] value)
      Description copied from interface: ExecRow
      Set the array of objects
      Specified by:
      setRowArray in interface ExecRow
      See Also:
    • getRowArrayClone

      public DataValueDescriptor[] getRowArrayClone()
      Get a clone of the array form of the row that Access expects.
      Specified by:
      getRowArrayClone in interface ExecRow
      See Also:
    • nColumns

      public int nColumns()
      Specified by:
      nColumns in interface Row
    • getColumn

      public DataValueDescriptor getColumn(int position) throws StandardException
      Description copied from interface: Row
      Get a DataValueDescriptor in a Row by ordinal position (1-based).
      Specified by:
      getColumn in interface Row
      Parameters:
      position - The ordinal position of the column.
      Returns:
      The DataValueDescriptor, null if no such column exists
      Throws:
      StandardException - Thrown on failure.
    • setColumn

      public void setColumn(int position, DataValueDescriptor col)
      Description copied from interface: Row
      Set a DataValueDescriptor in a Row by ordinal position (1-based).
      Specified by:
      setColumn in interface Row
      Parameters:
      position - The ordinal position of the column.
    • getClone

      public ExecRow getClone()
      Description copied from interface: ExecRow
      Clone the Row and its contents.
      Specified by:
      getClone in interface ExecRow
      Returns:
      Row A clone of the Row and its contents.
    • getClone

      public ExecRow getClone(FormatableBitSet clonedCols)
      Description copied from interface: ExecRow
      Clone the Row. The cloned row will contain clones of the specified columns and the same object as the original row for the other columns.
      Specified by:
      getClone in interface ExecRow
      Parameters:
      clonedCols - 1-based FormatableBitSet representing the columns to clone.
      Returns:
      Row A clone of the Row and its contents.
    • getNewNullRow

      public ExecRow getNewNullRow()
      Description copied from interface: ExecRow
      Get a new row with the same columns type as this one, containing nulls.
      Specified by:
      getNewNullRow in interface ExecRow
    • resetRowArray

      public void resetRowArray()
      Reset all columns in the row array to null values.
      Specified by:
      resetRowArray in interface ExecRow
    • cloneColumn

      public DataValueDescriptor cloneColumn(int columnPosition)
      Description copied from interface: ExecRow
      Get a clone of a DataValueDescriptor from an ExecRow.
      Specified by:
      cloneColumn in interface ExecRow
      Parameters:
      columnPosition - (1 based)
    • 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 interface ExecIndexRow
      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 interface ExecIndexRow
      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 interface ExecIndexRow
    • getNewObjectArray

      public void getNewObjectArray()
      Description copied from interface: ExecRow
      Get a new DataValueDescriptor[]
      Specified by:
      getNewObjectArray in interface ExecRow