| Modifier and Type | Field and Description |
|---|---|
| private TableName | |
| private String | |
| private FromBaseTable | |
| private TableName | |
| private ExecPreparedStatement | |
| private CostEstimate |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | acceptChildren(Visitor
the visitor v)Overrides org. Accept the visitor for all visitable children of this node. |
| pack-priv void | bindExpressions(FromList
FromList to use/append to. fromListParam)Overrides org. Bind the expressions in this ResultSetNode. |
| pack-priv ResultSetNode | Returns: ResultSetNode Returns this.The DataDictionary to use for binding dataDictionary, FromList FromList to use/append to. fromListParam)Overrides org. Binding this FromTable means finding the prepared statement for the cursor and creating the result columns (the columns updatable on that cursor). |
| public CostEstimate | estimateCost(OptimizablePredicateList
The predicate list to optimize against predList, ConglomerateDescriptor The conglomerate descriptor to get the cost of cd, CostEstimate The estimated cost of the part of the plan outer
to this optimizable. outerCost, Optimizer The optimizer to use to help estimate the cost optimizer, RowOrdering The row ordering for all the tables in the
join order, including this one. rowOrdering)Overrides org. Implements org. Estimate the cost of scanning this Optimizable using the given predicate list with the given conglomerate. |
| pack-priv void | generate(ActivationClassBuilder
The ActivationClassBuilder for the class being built acb, MethodBuilder The execute() method to be built mb)Overrides org. Generation on a CurrentOfNode creates a scan on the cursor, CurrentOfResultSet.</verbatim> |
| pack-priv TableName | |
| pack-priv String | |
| pack-priv ExecPreparedStatement | Returns: CursorNode The associated CursorNode.Return the CursorNode associated with a positioned update/delete. |
| pack-priv String | getExposedName()
Overrides org. Get the exposed name for this table, which is the name that can be used to refer to it in the rest of the query. |
| pack-priv TableName | |
| pack-priv ResultColumn | Returns: A ResultColumn whose expression is the ColumnNode that matches the ColumnReference. Returns null if there is no match.The columnReference whose name we're looking
for in the given table. columnReference)Overrides org. Try to find a ResultColumn in the table represented by this CurrentOfNode that matches the name in the given ColumnReference. |
| pack-priv static CurrentOfNode | makeForMerge(String cursorName, FromBaseTable dummyTargetTable, ContextManager cm)
Construct a dummy CurrentOfNode just for compiling the DELETE action of a MERGE statement. |
| pack-priv ResultSetNode | Returns: ResultSetNode The top of the optimized subtree.The DataDictionary to use for optimization dataDictionary, PredicateList The PredicateList to optimize. This should
be a single-table predicate with the table
the same as the table in this FromTable. predicateList, double The number of outer joining rows outerRows)Overrides org. Optimize this CurrentOfNode. |
| pack-priv ResultSetNode | Returns: ResultSetNode at top of preprocessed tree.The number of tables in the DML Statement numTables, GroupByList The group by list, if any gbl, FromList The from list, if any fromList)Overrides org. Preprocess a CurrentOfNode. |
| pack-priv void | printSubNodes(int
The depth of this node in the tree depth)Overrides org. Prints the sub-nodes of this object. |
| public String | Returns: This object as a StringOverrides org. Convert this object to a String. |
| public int | Returns: The lock modeOverrides org. Get the lock mode for this table as the target of an update statement (a delete or update). |
| baseTableName | back to summary |
|---|---|
| private TableName baseTableName | |
| cursorName | back to summary |
|---|---|
| private String cursorName | |
| dummyTargetTable | back to summary |
|---|---|
| private FromBaseTable dummyTargetTable | |
| exposedTableName | back to summary |
|---|---|
| private TableName exposedTableName | |
| preStmt | back to summary |
|---|---|
| private ExecPreparedStatement preStmt | |
| singleScanCostEstimate | back to summary |
|---|---|
| private CostEstimate singleScanCostEstimate | |
| CurrentOfNode | back to summary |
|---|---|
| pack-priv CurrentOfNode(String correlationName, String cursor, Properties tableProperties, ContextManager cm) | |
| acceptChildren | back to summary |
|---|---|
| pack-priv void acceptChildren(Visitor v) throws StandardException Overrides org. Doc from org. Accept the visitor for all visitable children of this node.
| |
| bindExpressions | back to summary |
|---|---|
| pack-priv void bindExpressions(FromList fromListParam) Overrides org. Bind the expressions in this ResultSetNode. This means binding the sub-expressions, as well as figuring out what the return type is for each expression. | |
| bindNonVTITables | back to summary |
|---|---|
| pack-priv ResultSetNode bindNonVTITables(DataDictionary dataDictionary, FromList fromListParam) throws StandardException Overrides org. Binding this FromTable means finding the prepared statement for the cursor and creating the result columns (the columns updatable on that cursor). We expect someone else to verify that the target table of the positioned update or delete is the table under this cursor.
| |
| estimateCost | back to summary |
|---|---|
| public CostEstimate estimateCost(OptimizablePredicateList predList, ConglomerateDescriptor cd, CostEstimate outerCost, Optimizer optimizer, RowOrdering rowOrdering) throws StandardException Overrides org. Implements org. Doc from org. Estimate the cost of scanning this Optimizable using the given predicate list with the given conglomerate. It is assumed that the predicate list has already been classified. This cost estimate is just for one scan, not for the life of the query.
| |
| generate | back to summary |
|---|---|
| pack-priv void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException Overrides org. Generation on a CurrentOfNode creates a scan on the cursor, CurrentOfResultSet. This routine will generate and return a call of the form:
| |
| getBaseCursorTargetTableName | back to summary |
|---|---|
| pack-priv TableName getBaseCursorTargetTableName() | |
| getCursorName | back to summary |
|---|---|
| pack-priv String getCursorName() | |
| getCursorStatement | back to summary |
|---|---|
| pack-priv ExecPreparedStatement getCursorStatement() Return the CursorNode associated with a positioned update/delete.
| |
| getExposedName | back to summary |
|---|---|
| pack-priv String getExposedName() Overrides org. Doc from org. Get the exposed name for this table, which is the name that can be used to refer to it in the rest of the query. | |
| getExposedTableName | back to summary |
|---|---|
| pack-priv TableName getExposedTableName() | |
| getMatchingColumn | back to summary |
|---|---|
| pack-priv ResultColumn getMatchingColumn(ColumnReference columnReference) throws StandardException Overrides org. Try to find a ResultColumn in the table represented by this CurrentOfNode that matches the name in the given ColumnReference.
| |
| makeForMerge | back to summary |
|---|---|
| pack-priv static CurrentOfNode makeForMerge(String cursorName, FromBaseTable dummyTargetTable, ContextManager cm) Construct a dummy CurrentOfNode just for compiling the DELETE action of a MERGE statement. | |
| optimize | back to summary |
|---|---|
| pack-priv ResultSetNode optimize(DataDictionary dataDictionary, PredicateList predicateList, double outerRows) throws StandardException Overrides org. Optimize this CurrentOfNode. Nothing to do.
| |
| preprocess | back to summary |
|---|---|
| pack-priv ResultSetNode preprocess(int numTables, GroupByList gbl, FromList fromList) throws StandardException Overrides org. Preprocess a CurrentOfNode. For a CurrentOfNode, this simply means allocating a referenced table map to avoid downstream NullPointerExceptions. Note There are no bits set in the referenced table map.
| |
| printSubNodes | back to summary |
|---|---|
| pack-priv void printSubNodes(int depth) Overrides org. Prints the sub-nodes of this object. See QueryTreeNode.java for how tree printing is supposed to work.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides org. Convert this object to a String. See comments in QueryTreeNode.java for how this should be done for tree printing. | |
| updateTargetLockMode | back to summary |
|---|---|
| public int updateTargetLockMode() Overrides org. Get the lock mode for this table as the target of an update statement (a delete or update). This is implemented only for base tables and CurrentOfNodes.
| |