summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/format/sql_format_ut.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-19 17:28:26 +0300
committervvvv <[email protected]>2025-02-19 17:46:38 +0300
commit52daccf61e2e827114cfb3372071cddaec7974ba (patch)
tree07404f6ec241c8a2b96a4da07dc0f0d0c247799c /yql/essentials/sql/v1/format/sql_format_ut.cpp
parentca4b5f28703b0d06599c94f3eacc5d6c498c31d5 (diff)
YQL-19594 Explicit lexers & parsers
commit_hash:6be543b7c5bff6ee474ee606c920197fb2569767
Diffstat (limited to 'yql/essentials/sql/v1/format/sql_format_ut.cpp')
-rw-r--r--yql/essentials/sql/v1/format/sql_format_ut.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/yql/essentials/sql/v1/format/sql_format_ut.cpp b/yql/essentials/sql/v1/format/sql_format_ut.cpp
index e721f1fae6e..8714ee2d7c9 100644
--- a/yql/essentials/sql/v1/format/sql_format_ut.cpp
+++ b/yql/essentials/sql/v1/format/sql_format_ut.cpp
@@ -1,6 +1,10 @@
#include <library/cpp/testing/unittest/registar.h>
#include "sql_format.h"
+#include <yql/essentials/sql/v1/lexer/antlr3/lexer.h>
+#include <yql/essentials/sql/v1/lexer/antlr3_ansi/lexer.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr3/proto_parser.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr3_ansi/proto_parser.h>
#include <google/protobuf/arena.h>
#include <util/string/subst.h>
@@ -12,13 +16,25 @@ using TCases = TVector<std::pair<TString, TString>>;
struct TSetup {
TSetup(bool ansiLexer = false) {
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr3 = NSQLTranslationV1::MakeAntlr3LexerFactory();
+ lexers.Antlr3Ansi = NSQLTranslationV1::MakeAntlr3AnsiLexerFactory();
+ NSQLTranslationV1::TParsers parsers;
+ parsers.Antlr3 = NSQLTranslationV1::MakeAntlr3ParserFactory();
+ parsers.Antlr3Ansi = NSQLTranslationV1::MakeAntlr3AnsiParserFactory();
+
NSQLTranslation::TTranslationSettings settings;
+ settings.Antlr4Parser = false;
settings.Arena = &Arena;
settings.AnsiLexer = ansiLexer;
- Formatter = NSQLFormat::MakeSqlFormatter(settings);
+ Formatter = NSQLFormat::MakeSqlFormatter(lexers, parsers, settings);
}
void Run(const TCases& cases, NSQLFormat::EFormatMode mode = NSQLFormat::EFormatMode::Pretty) {
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr3 = NSQLTranslationV1::MakeAntlr3LexerFactory();
+ lexers.Antlr3Ansi = NSQLTranslationV1::MakeAntlr3AnsiLexerFactory();
+
for (const auto& c : cases) {
NYql::TIssues issues;
TString formatted;
@@ -33,8 +49,11 @@ struct TSetup {
UNIT_ASSERT_C(res2, issues.ToString());
UNIT_ASSERT_NO_DIFF(formatted, formatted2);
+
if (mode == NSQLFormat::EFormatMode::Pretty) {
- auto mutatedQuery = NSQLFormat::MutateQuery(c.first);
+ NSQLTranslation::TTranslationSettings settings;
+ settings.Antlr4Parser = false;
+ auto mutatedQuery = NSQLFormat::MutateQuery(lexers, c.first, settings);
auto res3 = Formatter->Format(mutatedQuery, formatted, issues);
UNIT_ASSERT_C(res3, issues.ToString());
}