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
class SetRoleNode extends MiscellaneousStatementNode
A SetRoleNode is the root of a QueryTree that represents a SET ROLE statement.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
name
private int
type
-
Fields 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 Constructor Description SetRoleNode(java.lang.String roleName, int type, ContextManager cm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
activationKind()
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
generateParameterValueSet(ActivationClassBuilder acb)
Generate the code to create the ParameterValueSet, if necessary, when constructing the activation.boolean
isAtomic()
Override to allow committing of reading SYSROLES, cf.ConstantAction
makeConstantAction()
Create the Constant information that will drive the guts of Execution.java.lang.String
statementToString()
java.lang.String
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
-
-
-
-
Constructor Detail
-
SetRoleNode
SetRoleNode(java.lang.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 Detail
-
toString
public java.lang.String 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
public java.lang.String statementToString()
- Specified by:
statementToString
in classStatementNode
-
makeConstantAction
public ConstantAction makeConstantAction() throws StandardException
Create the Constant information that will drive the guts of Execution.- Overrides:
makeConstantAction
in classQueryTreeNode
- Throws:
StandardException
- Thrown on failure
-
generate
void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException
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
private void generateParameterValueSet(ActivationClassBuilder acb) throws StandardException
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
-
-