diff options
Diffstat (limited to 'yql/essentials/tools/sql_formatter/sql_formatter.cpp')
| -rw-r--r-- | yql/essentials/tools/sql_formatter/sql_formatter.cpp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/yql/essentials/tools/sql_formatter/sql_formatter.cpp b/yql/essentials/tools/sql_formatter/sql_formatter.cpp index 0f471d062f2..03a8eab9aeb 100644 --- a/yql/essentials/tools/sql_formatter/sql_formatter.cpp +++ b/yql/essentials/tools/sql_formatter/sql_formatter.cpp @@ -57,17 +57,29 @@ int RunFormat(int argc, char** argv) { if (res.Has("print-query")) { out << queryString << Endl; } + google::protobuf::Arena arena; NSQLTranslation::TTranslationSettings settings; settings.LangVer = langver; settings.Arena = &arena; settings.AnsiLexer = res.Has("ansi-lexer"); - NSQLTranslationV1::TLexers lexers; - lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory(); - lexers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory(); - NSQLTranslationV1::TParsers parsers; - parsers.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory(); - parsers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory(); + + NSQLTranslationV1::TLexers lexers = { + .Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory(), + .Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory(), + }; + + NSQLTranslationV1::TParsers parsers = { + .Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory( + /*isAmbiguityError=*/false, + /*isAmbiguityDebugging=*/false, + settings.MaxParseTreeDepth), + .Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory( + /*isAmbiguityError=*/false, + /*isAmbiguityDebugging=*/false, + settings.MaxParseTreeDepth), + }; + auto formatter = NSQLFormat::MakeSqlFormatter(lexers, parsers, settings); TString frm_query; TString error; |
