Class MVPlainTempResult

    • Field Detail

      • map

        private final MVMap<java.lang.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.
    • Constructor Detail

      • 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 Detail

      • 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.