It is used for deferred DML processing.
| Modifier and Type | Field and Description |
|---|---|
| pack-priv Activation | activation
Activation object with local state information. |
| private ConglomerateController | |
| private long | |
| private boolean | |
| public static final int | |
| private RowLocation | |
| private boolean | |
| private boolean | |
| protected int | |
| private int | |
| private SQLLongint | |
| private ConglomerateController | |
| private long | |
| private boolean | |
| private DataValueDescriptor[] | |
| private Properties | |
| private ResultDescription | |
| protected ExecRow[] | |
| private ScanController | |
| protected int | |
| protected static final int | |
| protected static final int | |
| protected static final int | |
| private ConglomerateController | |
| private long | |
| private boolean | |
| private DataValueDescriptor[] |
| Access | Constructor and Description |
|---|---|
| public | TemporaryRowHolderImpl(Activation
the activation activation, Properties the properties of the original table. Used
to help the store use optimal page size, etc. properties, ResultDescription the result description. Relevant for the getResultDescription
call on the result set returned by getResultSet. May be null resultDescription)Uses the default overflow to a conglomerate threshold (5). |
| public | TemporaryRowHolderImpl(Activation
the activation activation, Properties the properties of the original table. Used
to help the store use optimal page size, etc. properties, ResultDescription the result description. Relevant for the getResultDescription
call on the result set returned by getResultSet. May be null resultDescription, boolean - true , if it has to be temporary row holder unique stream isUniqueStream)Uses the default overflow to a conglomerate threshold (5). |
| public | TemporaryRowHolderImpl(Activation
the activation activation, Properties the properties of the original table. Used
to help the store use optimal page size, etc. properties, ResultDescription the result description. Relevant for the getResultDescription
call on the result set returned by getResultSet. May be null resultDescription, int on an attempt to insert
this number of rows, the rows will be put
into a temporary conglomerate. overflowToConglomThreshold, boolean isUniqueStream, boolean isVirtualMemHeap)Create a temporary row holder with the defined overflow to conglom |
| Modifier and Type | Method and Description |
|---|---|
| private ExecRow | |
| public void | |
| public long | |
| public CursorResultSet | Returns: a result set to useImplements org. Get a result set for scanning what has been inserted so far. |
| public long | Returns: Conglomerate ID of temporary conglomerateImplements org. Accessor to get the id of the temporary conglomerate. |
| public void | insert(ExecRow
the row to insert inputRow)Implements org. Insert a row |
| private void | insertToPositionIndex(int
- the number of the row we are inserting into heap position, RowLocation the row to Location in the temporary heap rl)Maintain an index that will allow us to read from the temporary heap in the order we inserted. |
| private boolean | isRowAlreadyExist(ExecRow
the row we are inserting to temporary row holder inputRow)Maintain an unique index based on the input row's row location in the base table, this index make sures that we don't insert duplicate rows into the temporary heap. |
| private Properties | |
| private DataValueDescriptor[] | makeTemplateRow(DataValueDescriptor[]
The original row originalRow)Make a template row for creating the spillover conglomerate. |
| public void | |
| public void |
| activation | back to summary |
|---|---|
| pack-priv Activation activation Activation object with local state information. | |
| cc | back to summary |
|---|---|
| private ConglomerateController cc | |
| CID | back to summary |
|---|---|
| private long CID | |
| conglomCreated | back to summary |
|---|---|
| private boolean conglomCreated | |
| DEFAULT_OVERFLOWTHRESHOLD | back to summary |
|---|---|
| public static final int DEFAULT_OVERFLOWTHRESHOLD | |
| destRowLocation | back to summary |
|---|---|
| private RowLocation destRowLocation | |
| isUniqueStream | back to summary |
|---|---|
| private boolean isUniqueStream | |
| isVirtualMemHeap | back to summary |
|---|---|
| private boolean isVirtualMemHeap | |
| lastArraySlot | back to summary |
|---|---|
| protected int lastArraySlot | |
| numRowsIn | back to summary |
|---|---|
| private int numRowsIn | |
| position_sqllong | back to summary |
|---|---|
| private SQLLongint position_sqllong | |
| positionIndex_cc | back to summary |
|---|---|
| private ConglomerateController positionIndex_cc | |
| positionIndexConglomId | back to summary |
|---|---|
| private long positionIndexConglomId | |
| positionIndexCreated | back to summary |
|---|---|
| private boolean positionIndexCreated | |
| positionIndexRow | back to summary |
|---|---|
| private DataValueDescriptor[] positionIndexRow | |
| properties | back to summary |
|---|---|
| private Properties properties | |
| resultDescription | back to summary |
|---|---|
| private ResultDescription resultDescription | |
| rowArray | back to summary |
|---|---|
| protected ExecRow[] rowArray | |
| scan | back to summary |
|---|---|
| private ScanController scan | |
| state | back to summary |
|---|---|
| protected int state | |
| STATE_DRAIN | back to summary |
|---|---|
| protected static final int STATE_DRAIN | |
| STATE_INSERT | back to summary |
|---|---|
| protected static final int STATE_INSERT | |
| STATE_UNINIT | back to summary |
|---|---|
| protected static final int STATE_UNINIT | |
| uniqueIndex_cc | back to summary |
|---|---|
| private ConglomerateController uniqueIndex_cc | |
| uniqueIndexConglomId | back to summary |
|---|---|
| private long uniqueIndexConglomId | |
| uniqueIndexCreated | back to summary |
|---|---|
| private boolean uniqueIndexCreated | |
| uniqueIndexRow | back to summary |
|---|---|
| private DataValueDescriptor[] uniqueIndexRow | |
| TemporaryRowHolderImpl | back to summary |
|---|---|
| public TemporaryRowHolderImpl(Activation activation, Properties properties, ResultDescription resultDescription) Uses the default overflow to a conglomerate threshold (5).
| |
| TemporaryRowHolderImpl | back to summary |
|---|---|
| public TemporaryRowHolderImpl(Activation activation, Properties properties, ResultDescription resultDescription, boolean isUniqueStream) Uses the default overflow to a conglomerate threshold (5).
| |
| TemporaryRowHolderImpl | back to summary |
|---|---|
| public TemporaryRowHolderImpl(Activation activation, Properties properties, ResultDescription resultDescription, int overflowToConglomThreshold, boolean isUniqueStream, boolean isVirtualMemHeap) Create a temporary row holder with the defined overflow to conglom
| |
| cloneRow | back to summary |
|---|---|
| private ExecRow cloneRow(ExecRow inputRow) | |
| close | back to summary |
|---|---|
| public void close() throws StandardException Implements org. Clean up
| |
| getPositionIndexConglomId | back to summary |
|---|---|
| public long getPositionIndexConglomId() Implements org. | |
| getResultSet | back to summary |
|---|---|
| public CursorResultSet getResultSet() Implements org. Get a result set for scanning what has been inserted so far.
| |
| getTemporaryConglomId | back to summary |
|---|---|
| public long getTemporaryConglomId() Implements org. Accessor to get the id of the temporary conglomerate. Temporary conglomerates have negative ids. An id equal to zero means that no temporary conglomerate has been created.
| |
| insert | back to summary |
|---|---|
| public void insert(ExecRow inputRow) throws StandardException Implements org. Insert a row
| |
| insertToPositionIndex | back to summary |
|---|---|
| private void insertToPositionIndex(int position, RowLocation rl) throws StandardException Maintain an index that will allow us to read from the temporary heap in the order we inserted.
| |
| isRowAlreadyExist | back to summary |
|---|---|
| private boolean isRowAlreadyExist(ExecRow inputRow) throws StandardException Maintain an unique index based on the input row's row location in the base table, this index make sures that we don't insert duplicate rows into the temporary heap.
| |
| makeIndexProperties | back to summary |
|---|---|
| private Properties makeIndexProperties(DataValueDescriptor[] indexRowArray, long conglomId) throws StandardException | |
| makeTemplateRow | back to summary |
|---|---|
| private DataValueDescriptor[] makeTemplateRow(DataValueDescriptor[] originalRow) throws StandardException Make a template row for creating the spillover conglomerate. We only do this for MERGE statments. MERGE processing can temporarily stuff literal nulls into the DataValueDescriptor slot for an autoincrement column. The null DataValueDescriptor can not be used to create the layout of the spillover conglomerate. See DERBY-7144.
| |
| setRowHolderTypeToUniqueStream | back to summary |
|---|---|
| public void setRowHolderTypeToUniqueStream() Implements org. | |
| truncate | back to summary |
|---|---|
| public void truncate() throws StandardException Purge the row holder of all its rows. Resets the row holder so that it can accept new inserts. A cheap way to recycle a row holder.
| |