| Modifier and Type | Field and Description |
|---|---|
| private boolean | forUpdate
this indicates if the normalize is being performed for an Update statement or not. |
| Access | Constructor and Description |
|---|---|
| pack-priv | NormalizeResultSetNode(ResultSetNode
The child ResultSetNode chldRes, ResultColumnList The target resultColumnList from
the InsertNode or UpdateNode. These will
be the types used for the NormalizeResultSetNode. targetResultColumnList, Properties Properties list associated with the table tableProperties, boolean tells us if the normalize operation is being
performed on behalf of an update statement. forUpdate, ContextManager The context manager cm)Constructor for a NormalizeResultSetNode. |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | generate(ActivationClassBuilder
The ActivationClassBuilder for the class being built acb, MethodBuilder The method for the generated code to go into mb)Overrides org. Do the code generation for this node. |
| pack-priv void | pushOffsetFetchFirst(ValueNode
the OFFSET, if any offset, ValueNode the OFFSET FIRST, if any fetchFirst, boolean true if the clauses were added by (and have the semantics of) a JDBC limit clause hasJDBClimitClause)Overrides org. Push through the offset and fetch first parameters, if any, to the child result set. |
| pack-priv void | pushOrderByList(OrderByList
The order by list orderByList)Overrides org. Push the order by list down from InsertNode into its child result set so that the optimizer has all of the information that it needs to consider sort avoidance. |
| public void | pushQueryExpressionSuffix()
Overrides org. Set up a new level for order by and fetch/offset clauses. |
| pack-priv void | setRefActionInfo(long fkIndexConglomId, int[] fkColArray, String parentResultSetId, boolean dependentScan)
Overrides org. set the Information gathered from the parent table that is required to perform a referential action on dependent table. |
| forUpdate | back to summary |
|---|---|
| private boolean forUpdate this indicates if the normalize is being performed for an Update statement or not. The row passed to update also has before values of the columns being updated-- we need not normalize these values. | |
| NormalizeResultSetNode | back to summary |
|---|---|
| pack-priv NormalizeResultSetNode(ResultSetNode chldRes, ResultColumnList targetResultColumnList, Properties tableProperties, boolean forUpdate, ContextManager cm) throws StandardException Constructor for a NormalizeResultSetNode. ColumnReferences must continue to point to the same ResultColumn, so that ResultColumn must percolate up to the new PRN. However, that ResultColumn will point to a new expression, a VirtualColumnNode, which points to the FromTable and the ResultColumn that is the source for the ColumnReference. (The new NRSN will have the original of the ResultColumnList and the ResultColumns from that list. The FromTable will get shallow copies of the ResultColumnList and its ResultColumns. ResultColumn.expression will remain at the FromTable, with the PRN getting a new VirtualColumnNode for each ResultColumn.expression.) This is useful for UNIONs, where we want to generate a DistinctNode above the UnionNode to eliminate the duplicates, because the type going into the sort has to agree with what the sort expects. (insert into t1 (smallintcol) values 1 union all values 2;
| |
| generate | back to summary |
|---|---|
| pack-priv void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException Overrides org. Doc from org. Do the code generation for this node. This is a place-holder method - it should be over-ridden in the sub-classes.
| |
| pushOffsetFetchFirst | back to summary |
|---|---|
| pack-priv void pushOffsetFetchFirst(ValueNode offset, ValueNode fetchFirst, boolean hasJDBClimitClause) Overrides org. Push through the offset and fetch first parameters, if any, to the child result set. | |
| pushOrderByList | back to summary |
|---|---|
| pack-priv void pushOrderByList(OrderByList orderByList) Overrides org. Push the order by list down from InsertNode into its child result set so that the optimizer has all of the information that it needs to consider sort avoidance.
| |
| pushQueryExpressionSuffix | back to summary |
|---|---|
| public void pushQueryExpressionSuffix() Overrides org. Doc from org. Set up a new level for order by and fetch/offset clauses.
See Javadoc for
| |
| setRefActionInfo | back to summary |
|---|---|
| pack-priv void setRefActionInfo(long fkIndexConglomId, int[] fkColArray, String parentResultSetId, boolean dependentScan) Overrides org. set the Information gathered from the parent table that is required to perform a referential action on dependent table.
| |