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);
        }