Class GrantRoleConstantAction

java.lang.Object
org.apache.derby.impl.sql.execute.DDLConstantAction
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 Details

    • roleNames

      private List roleNames
    • grantees

      private List grantees
    • withAdminOption

      private final boolean withAdminOption
      See Also:
  • Constructor Details

    • GrantRoleConstantAction

      public GrantRoleConstantAction(List roleNames, 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 Details

    • 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:
    • checkCircularity

      private void checkCircularity(String role, String grantee, 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 String toString()
      Overrides:
      toString in class Object