Beispiel #1
0
        internal static SqlParseResult ParsePlSql(string sql)
        {
            var result = new SqlParseResult();

            try {
                var plSqlParser = MakeParser(sql, message => result.Messages.Add(message));

                var tree = plSqlParser.compilationUnit();

                var visitor = new PlSqlStatementVisitor(result);
                visitor.Visit(tree);
            } catch (Exception ex) {
                result.Messages.Add(new SqlParseMessage($"Critical error while parsing: {ex.Message}", SqlParseMessageLevel.Error));
            }

            return(result);
        }
 public PlSqlStatementVisitor(SqlParseResult result)
 {
     this.result = result;
 }