Class SetRoleNode

All Implemented Interfaces:
Visitable

class SetRoleNode extends MiscellaneousStatementNode
A SetRoleNode is the root of a QueryTree that represents a SET ROLE statement.
  • Field Details

    • name

      private String name
    • type

      private int type
  • Constructor Details

    • SetRoleNode

      SetRoleNode(String roleName, int type, ContextManager cm) throws StandardException
      Parameters:
      roleName - The name of the new role, null if NONE specified
      type - Type of role name could be USER or dynamic parameter
      cm - Context manager
      Throws:
      StandardException
  • Method Details

    • toString

      public 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 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

      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