org.apache.derby.impl.sql.compile
Class SetRoleNode

java.lang.Object
  extended by org.apache.derby.impl.sql.compile.QueryTreeNode
      extended by org.apache.derby.impl.sql.compile.StatementNode
          extended by org.apache.derby.impl.sql.compile.MiscellaneousStatementNode
              extended by org.apache.derby.impl.sql.compile.SetRoleNode
All Implemented Interfaces:
Visitable

public class SetRoleNode
extends MiscellaneousStatementNode

A SetRoleNode is the root of a QueryTree that represents a SET ROLE statement.


Field Summary
private  java.lang.String name
           
private  int type
           
 
Fields inherited from class org.apache.derby.impl.sql.compile.StatementNode
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_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX, isPrivilegeCollectionRequired
 
Constructor Summary
SetRoleNode()
           
 
Method Summary
(package private)  int activationKind()
          Override: Returns the type of activation this class generates.
 void generate(ActivationClassBuilder acb, MethodBuilder mb)
          Override: Generate code, need to push parameters
private  void generateParameterValueSet(ActivationClassBuilder acb)
          Generate the code to create the ParameterValueSet, if necessary, when constructing the activation.
 void init(java.lang.Object roleName, java.lang.Object type)
          Initializer for a SetRoleNode
 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, getSPSName, lockTableForCompilation, makeResultDescription, optimizeStatement
 
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, acceptChildren, bindOffsetFetch, bindRowMultiSet, 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, getRowEstimate, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, init, init, init, init, init, init, init, init, init, init, init, init, init, isInstanceOf, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeTableName, makeTableName, nodeHeader, orReliability, parseStatement, printLabel, printSubNodes, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setContextManager, setEndOffset, setNodeType, setRefActionInfo, stackPrint, treePrint, treePrint, verifyClassExist
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

private java.lang.String name

type

private int type
Constructor Detail

SetRoleNode

public SetRoleNode()
Method Detail

init

public void init(java.lang.Object roleName,
                 java.lang.Object type)
Initializer for a SetRoleNode

Overrides:
init in class QueryTreeNode
Parameters:
roleName - The name of the new role, null if NONE specified
type - Type of role name could be USER or dynamic parameter

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 class StatementNode
Returns:
This object as a String

statementToString

public java.lang.String statementToString()
Specified by:
statementToString in class StatementNode

makeConstantAction

public ConstantAction makeConstantAction()
                                  throws StandardException
Create the Constant information that will drive the guts of Execution.

Overrides:
makeConstantAction in class QueryTreeNode
Throws:
StandardException - Thrown on failure

generate

public void generate(ActivationClassBuilder acb,
                     MethodBuilder mb)
              throws StandardException
Override: Generate code, need to push parameters

Overrides:
generate in class MiscellaneousStatementNode
Parameters:
acb - The ActivationClassBuilder for the class being built
mb - 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 class MiscellaneousStatementNode
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 class StatementNode
Returns:
false

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.