Class 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 Detail

      • roleNames

        private java.util.List roleNames
      • grantees

        private java.util.List grantees
    • 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

      • 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