Class MVPlainTempResult

java.lang.Object
org.h2.mvstore.db.MVTempResult
org.h2.mvstore.db.MVPlainTempResult
All Implemented Interfaces:
ResultExternal

class MVPlainTempResult extends MVTempResult
Plain temporary result.
  • Field Details

    • map

      private final MVMap<Long,ValueRow> map
      Map with identities of rows as keys rows as values.
    • counter

      private long counter
      Counter for the identities of rows. A separate counter is used instead of MVTempResult.rowCount because rows due to presence of removeRow(Value[]) method to ensure that each row will have an own identity.
    • cursor

      private Cursor<Long,ValueRow> cursor
      Cursor for the next() method.
  • Constructor Details

    • MVPlainTempResult

      private MVPlainTempResult(MVPlainTempResult parent)
      Creates a shallow copy of the result.
      Parameters:
      parent - parent result
    • MVPlainTempResult

      MVPlainTempResult(Database database, Expression[] expressions, int visibleColumnCount, int resultColumnCount)
      Creates a new plain temporary result. This result does not sort its rows, but it can be used in index-sorted queries and it can preserve additional columns for WITH TIES processing.
      Parameters:
      database - database
      expressions - column expressions
      visibleColumnCount - count of visible columns
      resultColumnCount - the number of columns including visible columns and additional virtual columns for ORDER BY clause
  • Method Details

    • addRow

      public int addRow(Value[] values)
      Description copied from interface: ResultExternal
      Add a row to this object.
      Parameters:
      values - the row to add
      Returns:
      the new number of rows in this object
    • contains

      public boolean contains(Value[] values)
      Description copied from interface: ResultExternal
      Check if the given row exists in this object.
      Parameters:
      values - the row
      Returns:
      true if it exists
    • createShallowCopy

      public ResultExternal createShallowCopy()
      Description copied from interface: ResultExternal
      Create a shallow copy of this object if possible.
      Returns:
      the shallow copy, or null
    • next

      public Value[] next()
      Description copied from interface: ResultExternal
      Get the next row from the result.
      Returns:
      the next row or null
    • removeRow

      public int removeRow(Value[] values)
      Description copied from interface: ResultExternal
      Remove the row with the given values from this object if such a row exists.
      Parameters:
      values - the row
      Returns:
      the new row count
    • reset

      public void reset()
      Description copied from interface: ResultExternal
      Reset the current position of this object.