public void toGenericStatement()

in core/src/main/java/com/jetbrains/youtrackdb/internal/core/sql/parser/SQLAlterSecurityPolicyStatement.java [227:358]


  public void toGenericStatement(StringBuilder builder) {
    builder.append("ALTER SECURITY POLICY ");
    name.toGenericStatement(builder);

    var firstSet = true;
    if (create != null) {
      if (firstSet) {
        builder.append(" SET ");
      } else {
        builder.append(", ");
      }
      builder.append("CREATE = (");
      create.toGenericStatement(builder);
      builder.append(")");
      firstSet = false;
    }

    if (read != null) {
      if (firstSet) {
        builder.append(" SET ");
      } else {
        builder.append(", ");
      }
      builder.append("READ = (");
      read.toGenericStatement(builder);
      builder.append(")");
      firstSet = false;
    }
    if (beforeUpdate != null) {
      if (firstSet) {
        builder.append(" SET ");
      } else {
        builder.append(", ");
      }
      builder.append("BEFORE UPDATE = (");
      beforeUpdate.toGenericStatement(builder);
      builder.append(")");
      firstSet = false;
    }

    if (afterUpdate != null) {
      if (firstSet) {
        builder.append(" SET ");
      } else {
        builder.append(", ");
      }
      builder.append("AFTER UPDATE = (");
      afterUpdate.toGenericStatement(builder);
      builder.append(")");
      firstSet = false;
    }
    if (delete != null) {
      if (firstSet) {
        builder.append(" SET ");
      } else {
        builder.append(", ");
      }
      builder.append("DELETE = (");
      delete.toGenericStatement(builder);
      builder.append(")");
      firstSet = false;
    }
    if (execute != null) {
      if (firstSet) {
        builder.append(" SET ");
      } else {
        builder.append(", ");
      }
      builder.append("EXECUTE = (");
      execute.toGenericStatement(builder);
      builder.append(")");
      firstSet = false;
    }

    var firstRemove = true;
    if (removeCreate) {
      if (firstRemove) {
        builder.append(" REMOVE ");
      } else {
        builder.append(", ");
      }
      builder.append("CREATE");
      firstRemove = false;
    }

    if (removeRead) {
      if (firstRemove) {
        builder.append(" REMOVE ");
      } else {
        builder.append(", ");
      }
      builder.append("READ");
      firstRemove = false;
    }
    if (removeBeforeUpdate) {
      if (firstRemove) {
        builder.append(" REMOVE ");
      } else {
        builder.append(", ");
      }
      builder.append("BEFORE UPDATE");
      firstRemove = false;
    }

    if (removeAfterUpdate) {
      if (firstRemove) {
        builder.append(" REMOVE ");
      } else {
        builder.append(", ");
      }
      builder.append("AFTER UPDATE");
      firstRemove = false;
    }
    if (removeDelete) {
      if (firstRemove) {
        builder.append(" REMOVE ");
      } else {
        builder.append(", ");
      }
      builder.append("DELETE");
      firstRemove = false;
    }
    if (removeExecute) {
      if (firstRemove) {
        builder.append(" REMOVE ");
      } else {
        builder.append(", ");
      }
      builder.append("EXECUTE");
      firstRemove = false;
    }
  }