GenericExecutionFactory
public interface ExecutionFactory
There is expected to be one of these configured per database.
If a factory is needed outside of execution (say, data dictionary or compilation), then it belongs in the LanguageConnectionContext.
LanguageConnectionContext
Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
MODULE |
Module name for the monitor's module locating system.
|
Modifier and Type | Method | Description |
---|---|---|
ExecIndexRow |
getIndexableRow(int numColumns) |
This returns an indexable row
|
ExecIndexRow |
getIndexableRow(ExecRow valueRow) |
This returns the value row as an indexable row
|
Qualifier |
getQualifier(int columnId,
int operator,
GeneratedMethod orderableGetter,
Activation activation,
boolean orderedNulls,
boolean unknownRV,
boolean negateCompareResult,
int variantType) |
Get a Qualifier to use with a scan of a conglomerate.
|
ResultColumnDescriptor |
getResultColumnDescriptor(ResultColumnDescriptor compileRCD) |
Create an execution time ResultColumnDescriptor from a
compile time RCD.
|
ResultDescription |
getResultDescription(ResultColumnDescriptor[] columns,
java.lang.String statementType) |
Create a result description given parameters for it.
|
ResultSetFactory |
getResultSetFactory() |
Only one result set factory is needed for a database
in the system.
|
ResultSetStatisticsFactory |
getResultSetStatisticsFactory() |
Get the ResultSetStatisticsFactory from this ExecutionFactory.
|
RowChanger |
getRowChanger(long heapConglom,
StaticCompiledOpenConglomInfo heapSCOCI,
DynamicCompiledOpenConglomInfo heapDCOCI,
IndexRowGenerator[] irgs,
long[] indexCIDS,
StaticCompiledOpenConglomInfo[] indexSCOCIs,
DynamicCompiledOpenConglomInfo[] indexDCOCIs,
int numberOfColumns,
TransactionController tc,
int[] changedColumnIds,
int[] streamStorableHeapColIds,
Activation activation) |
Create a new RowChanger for performing update and delete
operations based on full before and after rows.
|
RowChanger |
getRowChanger(long heapConglom,
StaticCompiledOpenConglomInfo heapSCOCI,
DynamicCompiledOpenConglomInfo heapDCOCI,
IndexRowGenerator[] irgs,
long[] indexCIDS,
StaticCompiledOpenConglomInfo[] indexSCOCIs,
DynamicCompiledOpenConglomInfo[] indexDCOCIs,
int numberOfColumns,
TransactionController tc,
int[] changedColumnIds,
FormatableBitSet baseRowReadList,
int[] baseRowReadMap,
int[] streamStorableColIds,
Activation activation) |
Create a new RowChanger for doing insert update and delete
operations based on partial before and after.
|
ScanQualifier[][] |
getScanQualifier(int numQualifiers) |
Get an array of ScanQualifiers for a scan.
|
ExecRow |
getValueRow(int numColumns) |
This returns a new row that is storable but not indexable
|
XPLAINFactoryIF |
getXPLAINFactory() |
Get the XPLAINFactory from this ExecutionFactory.
|
ExecutionContext |
newExecutionContext(ContextManager cm) |
Get the ExecutionFactory from this ExecutionContext.
|
void |
releaseScanQualifier(ScanQualifier[][] scanQualifiers) |
Release a ScanQualifier[] (back to the pool or free it).
|
static final java.lang.String MODULE
ResultSetFactory getResultSetFactory()
ResultSetStatisticsFactory getResultSetStatisticsFactory() throws StandardException
StandardException
- Thrown on errorXPLAINFactoryIF getXPLAINFactory() throws StandardException
StandardException
- Thrown on errorExecutionContext newExecutionContext(ContextManager cm)
cm
- the context managerResultColumnDescriptor getResultColumnDescriptor(ResultColumnDescriptor compileRCD)
compileRCD
- The compile time RCD.ResultDescription getResultDescription(ResultColumnDescriptor[] columns, java.lang.String statementType)
ScanQualifier[][] getScanQualifier(int numQualifiers)
numQualifiers
- The number of ScanQualifiers to get.void releaseScanQualifier(ScanQualifier[][] scanQualifiers)
Qualifier getQualifier(int columnId, int operator, GeneratedMethod orderableGetter, Activation activation, boolean orderedNulls, boolean unknownRV, boolean negateCompareResult, int variantType)
columnId
- The store id of the column to qualifyoperator
- One of Orderable.ORDER_OP_EQUALS,
Orderable.ORDER_OP_LESSTHAN,
or Orderable.ORDER_OP_LESSOREQUALSorderableGetter
- A generated method that returns the
Orderable to be compared with the columnactivation
- The Activation that acts as the receiver for the
generated methodorderedNulls
- True means that null == null for the sake of
this QualifierunknownRV
- The value to return if the comparison between
the column and the Orderable value returns the
unknown truth valuenegateCompareResult
- True means to negate the result of the comparison.
So, for example, to do a > comparison, you would
pass ORDER_OP_LESSOREQUALS and set negate to true.variantType
- The variantType for the qualifier's orderable.
(Determines whether or not to cache the value.)RowChanger getRowChanger(long heapConglom, StaticCompiledOpenConglomInfo heapSCOCI, DynamicCompiledOpenConglomInfo heapDCOCI, IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, DynamicCompiledOpenConglomInfo[] indexDCOCIs, int numberOfColumns, TransactionController tc, int[] changedColumnIds, int[] streamStorableHeapColIds, Activation activation) throws StandardException
heapConglom
- Conglomerate # for the heapheapSCOCI
- The SCOCI for the heap.heapDCOCI
- The DCOCI for the heap.irgs
- the IndexRowGenerators for the table's indexes. We use
positions in this array as local id's for indexes. To support updates,
only indexes that change need be included.indexCIDS
- the conglomerateids for the table's idexes.
indexCIDS[ix] corresponds to the same index as irgs[ix].indexSCOCIs
- the SCOCIs for the table's idexes.
indexSCOCIs[ix] corresponds to the same index as irgs[ix].indexDCOCIs
- the DCOCIs for the table's idexes.
indexDCOCIs[ix] corresponds to the same index as irgs[ix].numberOfColumns
- Number of columns in a full row.tc
- the transaction controllerstreamStorableHeapColIds
- Column ids of stream storable
columns. (0 based, Only needed for sync. null if none or
not needed).activation
- The Activation.StandardException
- Thrown on errorRowChanger getRowChanger(long heapConglom, StaticCompiledOpenConglomInfo heapSCOCI, DynamicCompiledOpenConglomInfo heapDCOCI, IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, DynamicCompiledOpenConglomInfo[] indexDCOCIs, int numberOfColumns, TransactionController tc, int[] changedColumnIds, FormatableBitSet baseRowReadList, int[] baseRowReadMap, int[] streamStorableColIds, Activation activation) throws StandardException
heapConglom
- Conglomerate # for the heapheapSCOCI
- The SCOCI for the heap.heapDCOCI
- The DCOCI for the heap.irgs
- the IndexRowGenerators for the table's indexes. We use
positions in this array as local id's for indexes. To support updates,
only indexes that change need be included.indexCIDS
- the conglomerateids for the table's idexes.
indexCIDS[ix] corresponds to the same index as irgs[ix].indexSCOCIs
- the SCOCIs for the table's idexes.
indexSCOCIs[ix] corresponds to the same index as irgs[ix].indexDCOCIs
- the DCOCIs for the table's idexes.
indexDCOCIs[ix] corresponds to the same index as irgs[ix].numberOfColumns
- Number of columns in partial row.tc
- the transaction controllerchangedColumnIds
- array of 1 based ints of columns
to be updated. Used by update only.baseRowReadList
- the columns in the base row that were
read (1 based)baseRowReadMap
- baseRowReadMap[heapColId]->readRowColId
(0 based)streamStorableColIds
- Column ids of stream storable
columns. (0 based, Only needed for sync. null if none or
not needed).activation
- The Activation.StandardException
- Thrown on errorExecRow getValueRow(int numColumns)
ExecIndexRow getIndexableRow(int numColumns)
ExecIndexRow getIndexableRow(ExecRow valueRow)
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.