VisitableCallStatementNode, CursorNode, DMLModStatementNodeabstract class DMLStatementNode extends StatementNode
| Modifier and Type | Field | Description |
|---|---|---|
(package private) ResultSetNode |
resultSet |
The result set is the rows that result from running the
statement.
|
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEXEMPTY_TD_LIST, NEED_CURSOR_ACTIVATION, NEED_DDL_ACTIVATION, NEED_NOTHING_ACTIVATION, NEED_PARAM_ACTIVATION, NEED_ROW_ACTIVATION| Constructor | Description |
|---|---|
DMLStatementNode(ResultSetNode resultSet,
ContextManager cm) |
| Modifier and Type | Method | Description |
|---|---|---|
(package private) void |
acceptChildren(Visitor v) |
Accept the visitor for all visitable children of this node.
|
(package private) int |
activationKind() |
Returns the type of activation this class
generates.
|
(package private) QueryTreeNode |
bind(DataDictionary dataDictionary) |
Bind this DMLStatementNode.
|
protected void |
bindExpressions() |
Bind the expressions in this DML statement.
|
protected void |
bindExpressionsWithTables() |
Bind the expressions in the underlying ResultSets with tables.
|
(package private) QueryTreeNode |
bindResultSetsWithTables(DataDictionary dataDictionary) |
Bind only the underlying ResultSets with tables.
|
protected void |
bindTables(DataDictionary dataDictionary) |
Bind the tables in this DML statement.
|
(package private) void |
generateParameterValueSet(ActivationClassBuilder acb) |
Generate the code to create the ParameterValueSet, if necessary,
when constructing the activation.
|
(package private) int |
getPrivType() |
Return default privilege needed for this node.
|
(package private) ResultSetNode |
getResultSetNode() |
Get the ResultSetNode from this DML Statement.
|
boolean |
isAtomic() |
A read statement is atomic (DMLMod overrides us) if there
are no work units, and no SELECT nodes, or if its SELECT nodes
are all arguments to a function.
|
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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, addTag, addUDTUsagePriv, addUDTUsagePriv, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, copyTagsFrom, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, generate, 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, verifyClassExistbindStatement, executeSchemaName, executeStatementName, generate, getCursorInfo, getSPSName, lockTableForCompilation, needsSavepoint, statementToString, toString, updateIndexStatisticsForResultSetNode resultSet
DMLStatementNode(ResultSetNode resultSet, ContextManager cm)
void printSubNodes(int depth)
printSubNodes in class QueryTreeNodedepth - The depth of this node in the treeResultSetNode getResultSetNode()
QueryTreeNode bind(DataDictionary dataDictionary) throws StandardException
dataDictionary - The DataDictionary to use to look up
columns, tables, etc.StandardException - Thrown on errorQueryTreeNode bindResultSetsWithTables(DataDictionary dataDictionary) throws StandardException
dataDictionary - The DataDictionary to use to look up
columns, tables, etc.StandardException - Thrown on errorprotected void bindTables(DataDictionary dataDictionary) throws StandardException
dataDictionary - The data dictionary to use to look up the tablesStandardException - Thrown on errorprotected void bindExpressions()
throws StandardException
StandardException - Thrown on errorprotected void bindExpressionsWithTables()
throws StandardException
StandardException - Thrown on errorint activationKind()
activationKind in class StatementNodepublic void optimizeStatement()
throws StandardException
optimizeStatement in class StatementNodeStandardException - Thrown on errorpublic ResultDescription makeResultDescription()
makeResultDescription in class StatementNodevoid generateParameterValueSet(ActivationClassBuilder acb) throws StandardException
acb - The ActivationClassBuilder for the class we're buildingStandardExceptionpublic boolean isAtomic()
throws StandardException
VALUES myfunc(SELECT max(c.commitFunc()) FROM T)
but we aren't going too far out of our way to
catch every possible wierd case. We basically
want to be permissive w/o allowing someone to partially
commit a write.isAtomic in class StatementNodeStandardException - on errorvoid acceptChildren(Visitor v) throws StandardException
acceptChildren in class QueryTreeNodev - the visitorStandardException - on errorint getPrivType()
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.