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_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
Constructor and Description |
---|
CallStatementNode(JavaToSQLValueNode methodCall,
ContextManager cm)
Constructor for a 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.
|
(package private) 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.
|
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).
|
(package private) void |
printSubNodes(int depth)
Prints the sub-nodes of this object.
|
(package private) java.lang.String |
statementToString() |
activationKind, bind, bindExpressions, bindExpressionsWithTables, bindResultSetsWithTables, bindTables, generateParameterValueSet, getResultSetNode, isAtomic
executeSchemaName, executeStatementName, generate, getCursorInfo, getSPSName, lockTableForCompilation, needsSavepoint, toString, updateIndexStatisticsFor
accept, addTag, addUDTUsagePriv, addUDTUsagePriv, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, copyTagsFrom, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContext, getContextManager, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getLongProperty, getNullNode, getOffsetOrderedNodes, getOptimizerFactory, getOptimizerTracer, getParameterTypes, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, getUDTDesc, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeConstantAction, makeTableName, makeTableName, nodeHeader, optimizerTracingIsOn, orReliability, parseSearchCondition, parseStatement, printLabel, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
private JavaToSQLValueNode methodCall
CallStatementNode(JavaToSQLValueNode methodCall, ContextManager cm)
methodCall
- The expression to "call"cm
- The context managerjava.lang.String statementToString()
statementToString
in class StatementNode
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 errorvoid 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.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.