public class CallStatementNode extends DMLStatementNode
Modifier and Type | Field and Description |
---|---|
private JavaToSQLValueNode |
methodCall
The method call for the Java procedure.
|
resultSet
EMPTY_TD_LIST, NEED_CURSOR_ACTIVATION, NEED_DDL_ACTIVATION, NEED_NOTHING_ACTIVATION, NEED_PARAM_ACTIVATION, NEED_ROW_ACTIVATION
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX, isPrivilegeCollectionRequired
Constructor and Description |
---|
CallStatementNode() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
acceptChildren(Visitor v)
Accept the visitor for all visitable children of this node.
|
void |
bindStatement()
Bind this UpdateNode.
|
private void |
checkReliability()
This method checks if the called procedure allows modification of SQL
data.
|
void |
generate(ActivationClassBuilder acb,
MethodBuilder mb)
Code generation for CallStatementNode.
|
(package private) int |
getPrivType()
Set default privilege of EXECUTE for this node.
|
private short |
getSQLAllowedInProcedure()
This method checks the SQL allowed by the called procedure.
|
void |
init(java.lang.Object methodCall)
Initializer for a CallStatementNode.
|
ResultDescription |
makeResultDescription()
Make a ResultDescription for use in a PreparedStatement.
|
void |
optimizeStatement()
Optimize a DML statement (which is the only type of statement that
should need optimizing, I think).
|
void |
printSubNodes(int depth)
Prints the sub-nodes of this object.
|
java.lang.String |
statementToString() |
activationKind, bind, bindExpressions, bindExpressionsWithTables, bindResultSetsWithTables, bindTables, generateParameterValueSet, getResultSetNode, isAtomic
executeSchemaName, executeStatementName, generate, getSPSName, lockTableForCompilation, needsSavepoint, toString, updateIndexStatisticsFor
accept, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, foundString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContextManager, getCursorInfo, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getNodeFactory, getNodeType, getNullNode, getParameterTypes, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, init, init, init, init, init, init, init, init, init, init, init, init, init, isInstanceOf, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeConstantAction, makeTableName, makeTableName, nodeHeader, orReliability, parseStatement, printLabel, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setContextManager, setEndOffset, setNodeType, setRefActionInfo, stackPrint, treePrint, treePrint, verifyClassExist
private JavaToSQLValueNode methodCall
public void init(java.lang.Object methodCall)
init
in interface Node
init
in class DMLStatementNode
methodCall
- The expression to "call"public java.lang.String statementToString()
statementToString
in class StatementNode
public void printSubNodes(int depth)
printSubNodes
in class DMLStatementNode
depth
- The depth of this node in the treepublic void bindStatement() throws StandardException
Binding an update will also massage the tree so that the ResultSetNode has a single column, the RID.
bindStatement
in class StatementNode
StandardException
- Thrown on errorpublic void optimizeStatement() throws StandardException
optimizeStatement
in class DMLStatementNode
StandardException
- Thrown on errorpublic void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException
generate
in class QueryTreeNode
acb
- The ActivationClassBuilder for the class being builtmb
- The method for the execute() method to be builtStandardException
- Thrown on errorpublic ResultDescription makeResultDescription()
DMLStatementNode
makeResultDescription
in class DMLStatementNode
void acceptChildren(Visitor v) throws StandardException
acceptChildren
in class DMLStatementNode
v
- the visitorStandardException
- on errorint getPrivType()
getPrivType
in class DMLStatementNode
private void checkReliability() throws StandardException
CompilerContext.MODIFIES_SQL_DATA_PROCEDURE_ILLEGAL
. This
reliability is set for BEFORE triggers in the create trigger node. This
check thus disallows creation of BEFORE triggers which contain calls to
procedures that modify SQL data in the trigger action statement.StandardException
private short getSQLAllowedInProcedure()
Apache Derby V10.10 Internals - Copyright © 2004,2013 The Apache Software Foundation. All Rights Reserved.