Class LastIndexKeyResultSet

All Implemented Interfaces:
NoPutResultSet, ResultSet, RowLocationRetRowSource, RowSource

class LastIndexKeyResultSet extends ScanResultSet
Return the last key in an index. Used to perform max().
  • Field Details

    • conglomId

      protected long conglomId
    • startSearchOperator

      protected int startSearchOperator
    • stopSearchOperator

      protected int stopSearchOperator
    • qualifiers

      protected Qualifier[][] qualifiers
    • userSuppliedOptimizerOverrides

      public String userSuppliedOptimizerOverrides
    • runTimeStatisticsOn

      protected boolean runTimeStatisticsOn
    • stopPositionString

      public String stopPositionString
    • coarserLock

      public boolean coarserLock
    • returnedRow

      public boolean returnedRow
  • Constructor Details

    • LastIndexKeyResultSet

      public LastIndexKeyResultSet(Activation activation, int resultSetNumber, int resultRowTemplate, long conglomId, String tableName, String userSuppliedOptimizerOverrides, String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
      A last index key result set returns the last row from the index in question. It is used as an ajunct to max().
      Parameters:
      activation - the activation for this result set, which provides the context for the row allocation operation.
      resultSetNumber - The resultSetNumber for the ResultSet
      resultRowTemplate - The saved item for result row template
      conglomId - the conglomerate of the table to be scanned.
      tableName - The full name of the table
      userSuppliedOptimizerOverrides - Overrides specified by the user on the sql
      indexName - The name of the index, if one used to access table.
      colRefItem - An saved item for a bitSet of columns that are referenced in the underlying table. -1 if no item.
      lockMode - The lock granularity to use (see TransactionController in access)
      tableLocked - Whether or not the table is marked as using table locking (in sys.systables)
      isolationLevel - Isolation level (specified or not) to use on scans
      optimizerEstimatedRowCount - Estimated total # of rows by optimizer
      optimizerEstimatedCost - Estimated total cost by optimizer
      Throws:
      StandardException - thrown when unable to create the result set
  • Method Details

    • canGetInstantaneousLocks

      boolean canGetInstantaneousLocks()
      Can we get instantaneous locks when getting share row locks at READ COMMITTED.
      Specified by:
      canGetInstantaneousLocks in class ScanResultSet
    • openCore

      public void openCore() throws StandardException
      open a scan on the table. scan parameters are evaluated at each open, so there is probably some way of altering their values...
      Throws:
      StandardException - thrown on failure to open
    • getNextRowCore

      public ExecRow getNextRowCore() throws StandardException
      Return the next row (if any) from the scan (if open).
      Specified by:
      getNextRowCore in interface NoPutResultSet
      Specified by:
      getNextRowCore in class BasicNoPutResultSetImpl
      Returns:
      the next row in the result
      Throws:
      StandardException - thrown on failure to get next row
      See Also:
    • close

      public void close() throws StandardException
      If the result set has been opened, close the open scan.
      Specified by:
      close in interface ResultSet
      Overrides:
      close in class ScanResultSet
      Throws:
      StandardException - thrown on failure to close
    • getTimeSpent

      public long getTimeSpent(int type)
      Return the total amount of time spent in this ResultSet
      Parameters:
      type - CURRENT_RESULTSET_ONLY - time spent only in this ResultSet ENTIRE_RESULTSET_TREE - time spent in this ResultSet and below.
      Returns:
      long The total amount of time spent (in milliseconds).
    • getCurrentRow

      public ExecRow getCurrentRow() throws StandardException
      This result set has its row from the last fetch done. If the cursor is closed, a null is returned.
      Returns:
      the last row returned;
      Throws:
      StandardException - thrown on failure.
      See Also: