public override SqlStatement VisitRevokeRoleStatement(PlSqlParser.RevokeRoleStatementContext context) { var grantee = SqlParseUtil.Name.Simple(context.granteeName()); var roleNames = context.roleName().Select(SqlParseUtil.Name.Simple).ToArray(); foreach (var roleName in roleNames) { AddStatement(context, new RevokeRoleStatement(grantee, roleName)); } return(base.VisitRevokeRoleStatement(context)); }
public override SqlStatement VisitRevokeRoleStatement(PlSqlParser.RevokeRoleStatementContext context) { var grantee = Name.Simple(context.granteeName()); var roleNames = context.roleName().Select(Name.Simple).ToArray(); if (roleNames.Length == 1) { return(new RevokeRoleStatement(grantee, roleNames[0])); } var seq = new SequenceOfStatements(); foreach (var roleName in roleNames) { seq.Statements.Add(new RevokeRoleStatement(grantee, roleName)); } return(seq); }