Class SetRoleNode
java.lang.Object
org.apache.derby.impl.sql.compile.QueryTreeNode
org.apache.derby.impl.sql.compile.StatementNode
org.apache.derby.impl.sql.compile.MiscellaneousStatementNode
org.apache.derby.impl.sql.compile.SetRoleNode
- All Implemented Interfaces:
Visitable
A SetRoleNode is the root of a QueryTree that represents a SET ROLE
statement.
-
Field Summary
FieldsFields inherited from class org.apache.derby.impl.sql.compile.StatementNode
EMPTY_TD_LIST, NEED_CURSOR_ACTIVATION, NEED_DDL_ACTIVATION, NEED_NOTHING_ACTIVATION, NEED_PARAM_ACTIVATION, NEED_ROW_ACTIVATION
Fields inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) int
Override: Returns the type of activation this class generates.(package private) void
generate
(ActivationClassBuilder acb, MethodBuilder mb) Override: Generate code, need to push parametersprivate void
Generate the code to create the ParameterValueSet, if necessary, when constructing the activation.boolean
isAtomic()
Override to allow committing of reading SYSROLES, cf.Create the Constant information that will drive the guts of Execution.toString()
Convert this object to a String.Methods inherited from class org.apache.derby.impl.sql.compile.MiscellaneousStatementNode
needsSavepoint
Methods inherited from class org.apache.derby.impl.sql.compile.StatementNode
bindStatement, executeSchemaName, executeStatementName, generate, getCursorInfo, getSPSName, lockTableForCompilation, makeResultDescription, optimizeStatement, updateIndexStatisticsFor
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, acceptChildren, 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, makeTableName, makeTableName, nodeHeader, optimizerTracingIsOn, orReliability, parseSearchCondition, parseStatement, printLabel, printSubNodes, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
-
Field Details
-
name
-
type
private int type
-
-
Constructor Details
-
SetRoleNode
SetRoleNode(String roleName, int type, ContextManager cm) throws StandardException - Parameters:
roleName
- The name of the new role, null if NONE specifiedtype
- Type of role name could be USER or dynamic parametercm
- Context manager- Throws:
StandardException
-
-
Method Details
-
toString
Convert this object to a String. See comments in QueryTreeNode.java for how this should be done for tree printing.- Overrides:
toString
in classStatementNode
- Returns:
- This object as a String
-
statementToString
- Specified by:
statementToString
in classStatementNode
-
makeConstantAction
Create the Constant information that will drive the guts of Execution.- Overrides:
makeConstantAction
in classQueryTreeNode
- Throws:
StandardException
- Thrown on failure
-
generate
Override: Generate code, need to push parameters- Overrides:
generate
in classMiscellaneousStatementNode
- Parameters:
acb
- The ActivationClassBuilder for the class being builtmb
- the method for the execute() method to be built- Throws:
StandardException
- Thrown on error
-
generateParameterValueSet
Generate the code to create the ParameterValueSet, if necessary, when constructing the activation. Also generate the code to call a method that will throw an exception if we try to execute without all the parameters being set.- Parameters:
acb
- The ActivationClassBuilder for the class we're building- Throws:
StandardException
- Thrown on error
-
activationKind
int activationKind()Override: Returns the type of activation this class generates.- Overrides:
activationKind
in classMiscellaneousStatementNode
- Returns:
- NEED_PARAM_ACTIVATION or NEED_NOTHING_ACTIVATION depending on params
-
isAtomic
public boolean isAtomic()Override to allow committing of reading SYSROLES, cf. SetRoleConstantAction's call to userCommit to retain idle state. If atomic, that commit will fail.- Overrides:
isAtomic
in classStatementNode
- Returns:
- false
-