org.apache.derby.impl.sql.execute
Class GrantRoleConstantAction

java.lang.Object
  extended by org.apache.derby.impl.sql.execute.DDLConstantAction
      extended by org.apache.derby.impl.sql.execute.GrantRoleConstantAction
All Implemented Interfaces:
ConstantAction

 class GrantRoleConstantAction
extends DDLConstantAction

This class performs actions that are ALWAYS performed for a GRANT role statement at execution time. Descriptors corresponding to the grants are stored in the SYS.SYSROLES table, along with the role definitions, cf CreateRoleConstantAction.


Field Summary
private  java.util.List grantees
           
private  java.util.List roleNames
           
private  boolean withAdminOption
           
 
Constructor Summary
GrantRoleConstantAction(java.util.List roleNames, java.util.List grantees)
          Make the ConstantAction for a CREATE ROLE statement.
 
Method Summary
private  void checkCircularity(java.lang.String role, java.lang.String grantee, java.lang.String grantor, TransactionController tc, DataDictionary dd)
          Check that allowing this grant to go ahead does nto create a circularity in the GRANT role relation graph, cf.
 void executeConstantAction(Activation activation)
          This is the guts of the Execution-time logic for GRANT role.
 java.lang.String toString()
           
 
Methods inherited from class org.apache.derby.impl.sql.execute.DDLConstantAction
addColumnDependencies, adjustUDTDependencies, adjustUDTDependencies, constructToString, getAndCheckSchemaDescriptor, getSchemaDescriptorForCreate, lockTableForDDL, storeConstraintDependenciesOnPrivileges, storeViewTriggerDependenciesOnPrivileges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

roleNames

private java.util.List roleNames

grantees

private java.util.List grantees

withAdminOption

private final boolean withAdminOption
See Also:
Constant Field Values
Constructor Detail

GrantRoleConstantAction

public GrantRoleConstantAction(java.util.List roleNames,
                               java.util.List grantees)
Make the ConstantAction for a CREATE ROLE statement. When executed, will create a role by the given name.

Parameters:
roleNames - List of the names of the roles being granted
grantees - List of the authorization ids granted to role
Method Detail

executeConstantAction

public void executeConstantAction(Activation activation)
                           throws StandardException
This is the guts of the Execution-time logic for GRANT role.

Parameters:
activation - The execution environment for this constant action.
Throws:
StandardException - Thrown on failure
See Also:
ConstantAction.executeConstantAction(org.apache.derby.iapi.sql.Activation)

checkCircularity

private void checkCircularity(java.lang.String role,
                              java.lang.String grantee,
                              java.lang.String grantor,
                              TransactionController tc,
                              DataDictionary dd)
                       throws StandardException
Check that allowing this grant to go ahead does nto create a circularity in the GRANT role relation graph, cf. Section 12.5, Syntax rule 1 of ISO/IEC 9075-2 2003.

Parameters:
role - The role about to be granted
grantee - The role to which role is to be granted
grantor - Who does the granting
Throws:
StandardException - normal error policy. Throws AUTH_ROLE_GRANT_CIRCULARITY if a circularity is detected.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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.