Class TemporaryRowHolderImpl

  • All Implemented Interfaces:
    TemporaryRowHolder

    class TemporaryRowHolderImpl
    extends java.lang.Object
    implements TemporaryRowHolder
    This is a class that is used to temporarily (non-persistently) hold rows that are used in language execution. It will store them in an array, or a temporary conglomerate, depending on the number of rows.

    It is used for deferred DML processing.

    • Field Detail

      • DEFAULT_OVERFLOWTHRESHOLD

        public static final int DEFAULT_OVERFLOWTHRESHOLD
        See Also:
        Constant Field Values
      • rowArray

        protected ExecRow[] rowArray
      • lastArraySlot

        protected int lastArraySlot
      • numRowsIn

        private int numRowsIn
      • state

        protected int state
      • CID

        private long CID
      • conglomCreated

        private boolean conglomCreated
      • properties

        private java.util.Properties properties
      • activation

        Activation activation
        Activation object with local state information.
      • isUniqueStream

        private boolean isUniqueStream
      • isVirtualMemHeap

        private boolean isVirtualMemHeap
      • uniqueIndexCreated

        private boolean uniqueIndexCreated
      • positionIndexCreated

        private boolean positionIndexCreated
      • uniqueIndexConglomId

        private long uniqueIndexConglomId
      • positionIndexConglomId

        private long positionIndexConglomId
      • position_sqllong

        private SQLLongint position_sqllong
    • Constructor Detail

      • TemporaryRowHolderImpl

        public TemporaryRowHolderImpl​(Activation activation,
                                      java.util.Properties properties,
                                      ResultDescription resultDescription)
        Uses the default overflow to a conglomerate threshold (5).
        Parameters:
        activation - the activation
        properties - the properties of the original table. Used to help the store use optimal page size, etc.
        resultDescription - the result description. Relevant for the getResultDescription call on the result set returned by getResultSet. May be null
      • TemporaryRowHolderImpl

        public TemporaryRowHolderImpl​(Activation activation,
                                      java.util.Properties properties,
                                      ResultDescription resultDescription,
                                      boolean isUniqueStream)
        Uses the default overflow to a conglomerate threshold (5).
        Parameters:
        activation - the activation
        properties - the properties of the original table. Used to help the store use optimal page size, etc.
        resultDescription - the result description. Relevant for the getResultDescription call on the result set returned by getResultSet. May be null
        isUniqueStream - - true , if it has to be temporary row holder unique stream
      • TemporaryRowHolderImpl

        public TemporaryRowHolderImpl​(Activation activation,
                                      java.util.Properties properties,
                                      ResultDescription resultDescription,
                                      int overflowToConglomThreshold,
                                      boolean isUniqueStream,
                                      boolean isVirtualMemHeap)
        Create a temporary row holder with the defined overflow to conglom
        Parameters:
        activation - the activation
        properties - the properties of the original table. Used to help the store use optimal page size, etc.
        resultDescription - the result description. Relevant for the getResultDescription call on the result set returned by getResultSet. May be null
        overflowToConglomThreshold - on an attempt to insert this number of rows, the rows will be put into a temporary conglomerate.