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