StatementNode controls the class generation for query tree nodes.
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final TableDescriptor[] | EMPTY_TD_LIST
Cached empty list object. |
| pack-priv static final int | |
| pack-priv static final int | NEED_DDL_ACTIVATION
create the outer shell class builder for the class we will be generating, generate the expression to stuff in it, and turn it into a class. |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv abstract int | |
| public void | |
| public String | Returns: String schema for EXECUTE STATEMENT null for all othersReturns name of schema in EXECUTE STATEMENT command. |
| public String | Returns: String null unless overridden for Execute Statement commandReturns the name of statement in EXECUTE STATEMENT command. |
| public GeneratedClass | |
| public Object | |
| public String | Returns: the name of the underlying spsGet the name of the SPS that is used to execute this statement. |
| public boolean | Returns: true if the statement is atomicOverrides org. By default, assume StatementNodes are atomic. |
| protected TableDescriptor | |
| public ResultDescription | Returns: nullOnly DML statements have result descriptions - for all others return null. |
| public boolean | Returns: boolean Whether or not this Statement requires a set/clear savepointReturns whether or not this Statement requires a set/clear savepoint around its execution. |
| public void | |
| pack-priv abstract String | |
| public String | Returns: This object as a StringOverrides org. Convert this object to a String. |
| public TableDescriptor[] | Returns: A list of table descriptors (potentially empty).Returns a list of base tables for which the index statistics of the associated indexes should be updated. |
| EMPTY_TD_LIST | back to summary |
|---|---|
| pack-priv static final TableDescriptor[] EMPTY_TD_LIST Cached empty list object. | |
| NEED_CURSOR_ACTIVATION | back to summary |
|---|---|
| pack-priv static final int NEED_CURSOR_ACTIVATION | |
| NEED_DDL_ACTIVATION | back to summary |
|---|---|
| pack-priv static final int NEED_DDL_ACTIVATION create the outer shell class builder for the class we will be generating, generate the expression to stuff in it, and turn it into a class. | |
| NEED_NOTHING_ACTIVATION | back to summary |
|---|---|
| pack-priv static final int NEED_NOTHING_ACTIVATION | |
| NEED_PARAM_ACTIVATION | back to summary |
|---|---|
| pack-priv static final int NEED_PARAM_ACTIVATION | |
| NEED_ROW_ACTIVATION | back to summary |
|---|---|
| pack-priv static final int NEED_ROW_ACTIVATION | |
| StatementNode | back to summary |
|---|---|
| pack-priv StatementNode(ContextManager cm) | |
| activationKind | back to summary |
|---|---|
| pack-priv abstract int activationKind() | |
| bindStatement | back to summary |
|---|---|
| public void bindStatement() throws StandardException Perform the binding operation statement. Binding consists of permissions checking, view resolution, datatype resolution, and creation of a dependency list (for determining whether a tree or plan is still up to date). This bindStatement() method does nothing. Each StatementNode type that can appear at the top of a tree can override this method with its own bindStatement() method that does "something".
| |
| executeSchemaName | back to summary |
|---|---|
| public String executeSchemaName() Returns name of schema in EXECUTE STATEMENT command. Returns null for all other commands.
| |
| executeStatementName | back to summary |
|---|---|
| public String executeStatementName() Returns the name of statement in EXECUTE STATEMENT command. Returns null for all other commands.
| |
| generate | back to summary |
|---|---|
| public GeneratedClass generate(ByteArray byteCode) throws StandardException Do code generation for this statement.
| |
| getCursorInfo | back to summary |
|---|---|
| public Object getCursorInfo() throws StandardException Get an object with information about the cursor if there is one. | |
| getSPSName | back to summary |
|---|---|
| public String getSPSName() Get the name of the SPS that is used to execute this statement. Only relevant for an ExecSPSNode -- otherwise, returns null.
| |
| isAtomic | back to summary |
|---|---|
| public boolean isAtomic() throws StandardException Overrides org. By default, assume StatementNodes are atomic. The rare statements that aren't atomic (e.g. CALL method()) override this.
| |
| lockTableForCompilation | back to summary |
|---|---|
| protected TableDescriptor lockTableForCompilation(TableDescriptor td) throws StandardException | |
| makeResultDescription | back to summary |
|---|---|
| public ResultDescription makeResultDescription() Only DML statements have result descriptions - for all others return null. This method is overridden in DMLStatementNode.
| |
| needsSavepoint | back to summary |
|---|---|
| public boolean needsSavepoint() Returns whether or not this Statement requires a set/clear savepoint around its execution. The following statement "types" do not require them: Cursor - unnecessary and won't work in a read only environment Xact - savepoint will get blown away underneath us during commit/rollback ONLY CALLABLE AFTER GENERATION This implementation returns true, sub-classes can override the method to not require a savepoint.
| |
| optimizeStatement | back to summary |
|---|---|
| public void optimizeStatement() throws StandardException Generates an optimized statement from a bound StatementNode. Actually, it annotates the tree in place rather than generating a new tree. For non-optimizable statements (for example, CREATE TABLE), return the bound tree without doing anything. For optimizable statements, this method will be over-ridden in the statement's root node (DMLStatementNode in all cases we know about so far). Throws an exception if the tree is not bound, or if the binding is out of date.
| |
| statementToString | back to summary |
|---|---|
| pack-priv abstract String statementToString() | |
| 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. | |
| updateIndexStatisticsFor | back to summary |
|---|---|
| public TableDescriptor[] updateIndexStatisticsFor() throws StandardException Returns a list of base tables for which the index statistics of the associated indexes should be updated. This default implementation always returns an empty list.
| |