aboutsummaryrefslogtreecommitdiffstats
path: root/yql
diff options
context:
space:
mode:
authorvvvv <vvvv@yandex-team.com>2025-02-27 23:18:15 +0300
committervvvv <vvvv@yandex-team.com>2025-02-27 23:34:50 +0300
commit042383afc665c770fae0a51b02fcd6671cc3bd35 (patch)
tree7f8f59a59a8787c40e2122b5db516f0290bcd0d9 /yql
parent3db2ee495441f7b48430a02787b86444108f65a9 (diff)
downloadydb-042383afc665c770fae0a51b02fcd6671cc3bd35.tar.gz
refine Antlr deps
refine Antlr deps commit_hash:71b99424edb283bf56be6e79c9c9a19d805ce2ce
Diffstat (limited to 'yql')
-rw-r--r--yql/essentials/public/fastcheck/parser.cpp1
-rw-r--r--yql/essentials/sql/v1/antlr_token.h16
-rw-r--r--yql/essentials/sql/v1/context.cpp7
-rw-r--r--yql/essentials/sql/v1/context.h14
-rw-r--r--yql/essentials/sql/v1/format/sql_format.cpp4
-rw-r--r--yql/essentials/sql/v1/format/sql_format.h3
-rw-r--r--yql/essentials/sql/v1/lexer/lexer.cpp13
-rw-r--r--yql/essentials/sql/v1/lexer/lexer.h6
-rw-r--r--yql/essentials/sql/v1/lexer/ya.make4
-rw-r--r--yql/essentials/sql/v1/proto_parser/proto_parser.cpp21
-rw-r--r--yql/essentials/sql/v1/proto_parser/proto_parser.h10
-rw-r--r--yql/essentials/sql/v1/proto_parser/ya.make7
-rw-r--r--yql/essentials/sql/v1/sql.cpp25
-rw-r--r--yql/essentials/sql/v1/sql.h11
-rw-r--r--yql/essentials/sql/v1/sql_call_expr.cpp2
-rw-r--r--yql/essentials/sql/v1/sql_expression.cpp49
-rw-r--r--yql/essentials/sql/v1/sql_into_tables.cpp2
-rw-r--r--yql/essentials/sql/v1/sql_into_tables.h1
-rw-r--r--yql/essentials/sql/v1/sql_query.cpp63
-rw-r--r--yql/essentials/sql/v1/sql_translation.cpp19
-rw-r--r--yql/essentials/sql/v1/ya.make7
21 files changed, 84 insertions, 201 deletions
diff --git a/yql/essentials/public/fastcheck/parser.cpp b/yql/essentials/public/fastcheck/parser.cpp
index 17fc18ba57..01f24a63b0 100644
--- a/yql/essentials/public/fastcheck/parser.cpp
+++ b/yql/essentials/public/fastcheck/parser.cpp
@@ -1,4 +1,5 @@
#include "check_runner.h"
+#include <yql/essentials/ast/yql_ast.h>
#include <yql/essentials/sql/v1/lexer/lexer.h>
#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
#include <yql/essentials/sql/v1/lexer/antlr4_ansi/lexer.h>
diff --git a/yql/essentials/sql/v1/antlr_token.h b/yql/essentials/sql/v1/antlr_token.h
new file mode 100644
index 0000000000..329c21ea79
--- /dev/null
+++ b/yql/essentials/sql/v1/antlr_token.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
+#include <yql/essentials/parser/proto_ast/gen/v1_antlr4/SQLv1Antlr4Lexer.h>
+
+#define ANTLR3_TOKEN(NAME) (SQLv1LexerTokens::TOKEN_##NAME << 16)
+#define ANTLR4_TOKEN(NAME) ((SQLv1Antlr4Lexer::TOKEN_##NAME << 16) + 1)
+#define IS_TOKEN(USE_ANTLR4, ID, NAME) (UnifiedToken(USE_ANTLR4, ID) == ANTLR3_TOKEN(NAME) || UnifiedToken(USE_ANTLR4, ID) == ANTLR4_TOKEN(NAME))
+
+namespace NSQLTranslationV1 {
+
+inline ui32 UnifiedToken(bool useAntlr4, ui32 id) {
+ return useAntlr4 + (id << 16);
+}
+
+} // namespace NSQLTranslationV1
diff --git a/yql/essentials/sql/v1/context.cpp b/yql/essentials/sql/v1/context.cpp
index 9aac807dbc..9790e931dc 100644
--- a/yql/essentials/sql/v1/context.cpp
+++ b/yql/essentials/sql/v1/context.cpp
@@ -81,13 +81,6 @@ THashMap<TStringBuf, TPragmaMaybeField> CTX_PRAGMA_MAYBE_FIELDS = {
} // namespace
-TContext::TContext(const NSQLTranslation::TTranslationSettings& settings,
- const NSQLTranslation::TSQLHints& hints,
- NYql::TIssues& issues,
- const TString& query)
- : TContext(MakeAllLexers(), MakeAllParsers(), settings, hints, issues, query)
-{}
-
TContext::TContext(const TLexers& lexers, const TParsers& parsers,
const NSQLTranslation::TTranslationSettings& settings,
const NSQLTranslation::TSQLHints& hints,
diff --git a/yql/essentials/sql/v1/context.h b/yql/essentials/sql/v1/context.h
index 7c49529a78..7697f78d63 100644
--- a/yql/essentials/sql/v1/context.h
+++ b/yql/essentials/sql/v1/context.h
@@ -18,10 +18,6 @@
#include <util/generic/deque.h>
#include <util/generic/vector.h>
-#define ANTLR3_TOKEN(NAME) SQLv1LexerTokens::TOKEN_##NAME << 16
-#define ANTLR4_TOKEN(NAME) (SQLv1Antlr4Lexer::TOKEN_##NAME << 16) + 1
-#define IS_TOKEN(ID, NAME) (UnifiedToken(ID) == ANTLR3_TOKEN(NAME) || UnifiedToken(ID) == ANTLR4_TOKEN(NAME))
-
namespace NSQLTranslationV1 {
inline bool IsAnonymousName(const TString& name) {
return name == "$_";
@@ -92,12 +88,6 @@ namespace NSQLTranslationV1 {
class TContext {
public:
- //FIXME remove
- TContext(const NSQLTranslation::TTranslationSettings& settings,
- const NSQLTranslation::TSQLHints& hints,
- NYql::TIssues& issues,
- const TString& query = {});
-
TContext(const TLexers& lexers,
const TParsers& parsers,
const NSQLTranslation::TTranslationSettings& settings,
@@ -446,10 +436,6 @@ namespace NSQLTranslationV1 {
return Ctx.Token(token);
}
- ui32 UnifiedToken(ui32 id) const {
- return Ctx.Settings.Antlr4Parser + (id << 16);
- }
-
TString Identifier(const NSQLv1Generated::TToken& token) {
return IdContent(Ctx, Token(token));
}
diff --git a/yql/essentials/sql/v1/format/sql_format.cpp b/yql/essentials/sql/v1/format/sql_format.cpp
index cfb6fcde71..9bdcde0f49 100644
--- a/yql/essentials/sql/v1/format/sql_format.cpp
+++ b/yql/essentials/sql/v1/format/sql_format.cpp
@@ -3223,10 +3223,6 @@ ISqlFormatter::TPtr MakeSqlFormatter(const NSQLTranslationV1::TLexers& lexers,
return ISqlFormatter::TPtr(new TSqlFormatter(lexers, parsers, settings));
}
-ISqlFormatter::TPtr MakeSqlFormatter(const NSQLTranslation::TTranslationSettings& settings) {
- return MakeSqlFormatter(NSQLTranslationV1::MakeAllLexers(), NSQLTranslationV1::MakeAllParsers(), settings);
-}
-
TString MutateQuery(const NSQLTranslationV1::TLexers& lexers,
const TString& query, const NSQLTranslation::TTranslationSettings& settings) {
auto parsedSettings = settings;
diff --git a/yql/essentials/sql/v1/format/sql_format.h b/yql/essentials/sql/v1/format/sql_format.h
index 3233f2031b..55c34a462d 100644
--- a/yql/essentials/sql/v1/format/sql_format.h
+++ b/yql/essentials/sql/v1/format/sql_format.h
@@ -25,9 +25,6 @@ public:
virtual ~ISqlFormatter() = default;
};
-//FIXME remove
-ISqlFormatter::TPtr MakeSqlFormatter(const NSQLTranslation::TTranslationSettings& settings = {});
-
ISqlFormatter::TPtr MakeSqlFormatter(const NSQLTranslationV1::TLexers& lexers,
const NSQLTranslationV1::TParsers& parsers,
const NSQLTranslation::TTranslationSettings& settings = {});
diff --git a/yql/essentials/sql/v1/lexer/lexer.cpp b/yql/essentials/sql/v1/lexer/lexer.cpp
index 9a45971dbc..8c94fff7e1 100644
--- a/yql/essentials/sql/v1/lexer/lexer.cpp
+++ b/yql/essentials/sql/v1/lexer/lexer.cpp
@@ -18,15 +18,6 @@
namespace NSQLTranslationV1 {
-TLexers MakeAllLexers() {
- return TLexers {
- .Antlr3 = MakeAntlr3LexerFactory(),
- .Antlr3Ansi = MakeAntlr3AnsiLexerFactory(),
- .Antlr4 = MakeAntlr4LexerFactory(),
- .Antlr4Ansi = MakeAntlr4AnsiLexerFactory()
- };
-}
-
namespace {
#if defined(_tsan_enabled_)
@@ -85,10 +76,6 @@ private:
} // namespace
-NSQLTranslation::ILexer::TPtr MakeLexer(bool ansi, bool antlr4) {
- return NSQLTranslation::ILexer::TPtr(new TV1Lexer(MakeAllLexers(), ansi, antlr4));
-}
-
NSQLTranslation::ILexer::TPtr MakeLexer(const TLexers& lexers, bool ansi, bool antlr4) {
return NSQLTranslation::ILexer::TPtr(new TV1Lexer(lexers, ansi, antlr4));
}
diff --git a/yql/essentials/sql/v1/lexer/lexer.h b/yql/essentials/sql/v1/lexer/lexer.h
index 0e94cb10bf..2a3af96055 100644
--- a/yql/essentials/sql/v1/lexer/lexer.h
+++ b/yql/essentials/sql/v1/lexer/lexer.h
@@ -11,12 +11,6 @@ struct TLexers {
NSQLTranslation::TLexerFactoryPtr Antlr4Ansi;
};
-//FIXME remove
-TLexers MakeAllLexers();
-
-//FIXME remove
-NSQLTranslation::ILexer::TPtr MakeLexer(bool ansi, bool antlr4);
-
NSQLTranslation::ILexer::TPtr MakeLexer(const TLexers& lexers, bool ansi, bool antlr4);
// "Probably" because YQL keyword can be an identifier
diff --git a/yql/essentials/sql/v1/lexer/ya.make b/yql/essentials/sql/v1/lexer/ya.make
index f32e79a472..8a3f00d36e 100644
--- a/yql/essentials/sql/v1/lexer/ya.make
+++ b/yql/essentials/sql/v1/lexer/ya.make
@@ -3,10 +3,6 @@ LIBRARY()
PEERDIR(
yql/essentials/core/issue/protos
yql/essentials/sql/settings
- yql/essentials/sql/v1/lexer/antlr3
- yql/essentials/sql/v1/lexer/antlr3_ansi
- yql/essentials/sql/v1/lexer/antlr4
- yql/essentials/sql/v1/lexer/antlr4_ansi
)
SRCS(
diff --git a/yql/essentials/sql/v1/proto_parser/proto_parser.cpp b/yql/essentials/sql/v1/proto_parser/proto_parser.cpp
index 7b22ae11e5..5651345215 100644
--- a/yql/essentials/sql/v1/proto_parser/proto_parser.cpp
+++ b/yql/essentials/sql/v1/proto_parser/proto_parser.cpp
@@ -100,25 +100,4 @@ google::protobuf::Message* SqlAST(const TParsers& parsers, const TString& query,
}
}
-google::protobuf::Message* SqlAST(const TString& query, const TString& queryName,
- NYql::TIssues& err, size_t maxErrors, bool ansiLexer, bool antlr4Parser, bool testAntlr4, google::protobuf::Arena* arena) {
- Y_UNUSED(testAntlr4);
- return SqlAST(MakeAllParsers(), query, queryName, err, maxErrors, ansiLexer, antlr4Parser, arena);
-}
-
-google::protobuf::Message* SqlAST(const TString& query, const TString& queryName,
- NProtoAST::IErrorCollector& err, bool ansiLexer, bool antlr4Parser, bool testAntlr4, google::protobuf::Arena* arena) {
- Y_UNUSED(testAntlr4);
- return SqlAST(MakeAllParsers(), query, queryName, err, ansiLexer, antlr4Parser, arena);
-}
-
-TParsers MakeAllParsers() {
- return TParsers {
- .Antlr3 = MakeAntlr3ParserFactory(),
- .Antlr3Ansi = MakeAntlr3AnsiParserFactory(),
- .Antlr4 = MakeAntlr4ParserFactory(),
- .Antlr4Ansi = MakeAntlr4AnsiParserFactory()
- };
-}
-
} // namespace NSQLTranslationV1
diff --git a/yql/essentials/sql/v1/proto_parser/proto_parser.h b/yql/essentials/sql/v1/proto_parser/proto_parser.h
index 6e9ba07cac..b2002d875b 100644
--- a/yql/essentials/sql/v1/proto_parser/proto_parser.h
+++ b/yql/essentials/sql/v1/proto_parser/proto_parser.h
@@ -1,6 +1,5 @@
#pragma once
-#include <yql/essentials/ast/yql_ast.h>
#include <yql/essentials/parser/proto_ast/common.h>
#include <yql/essentials/public/issue/yql_warning.h>
#include <yql/essentials/public/issue/yql_issue_manager.h>
@@ -21,15 +20,6 @@ namespace NSQLTranslationV1 {
NSQLTranslation::TParserFactoryPtr Antlr4Ansi;
};
- //FIXME remove
- TParsers MakeAllParsers();
-
- //FIXME remove
- google::protobuf::Message* SqlAST(const TString& query, const TString& queryName,
- NYql::TIssues& err, size_t maxErrors, bool ansiLexer, bool antlr4Parser, bool testAntlr4, google::protobuf::Arena* arena);
- google::protobuf::Message* SqlAST(const TString& query, const TString& queryName,
- NProtoAST::IErrorCollector& err, bool ansiLexer, bool antlr4Parser, bool testAntlr4, google::protobuf::Arena* arena);
-
google::protobuf::Message* SqlAST(const TParsers& parsers, const TString& query, const TString& queryName,
NYql::TIssues& err, size_t maxErrors, bool ansiLexer, bool antlr4Parser, google::protobuf::Arena* arena);
google::protobuf::Message* SqlAST(const TParsers& parsers, const TString& query, const TString& queryName,
diff --git a/yql/essentials/sql/v1/proto_parser/ya.make b/yql/essentials/sql/v1/proto_parser/ya.make
index 1ef29d39ca..d87741f8a9 100644
--- a/yql/essentials/sql/v1/proto_parser/ya.make
+++ b/yql/essentials/sql/v1/proto_parser/ya.make
@@ -2,14 +2,7 @@ LIBRARY()
PEERDIR(
yql/essentials/utils
- yql/essentials/ast
-
yql/essentials/parser/proto_ast/collect_issues
-
- yql/essentials/sql/v1/proto_parser/antlr3
- yql/essentials/sql/v1/proto_parser/antlr3_ansi
- yql/essentials/sql/v1/proto_parser/antlr4
- yql/essentials/sql/v1/proto_parser/antlr4_ansi
)
SRCS(
diff --git a/yql/essentials/sql/v1/sql.cpp b/yql/essentials/sql/v1/sql.cpp
index e4c82a0744..7201c4b069 100644
--- a/yql/essentials/sql/v1/sql.cpp
+++ b/yql/essentials/sql/v1/sql.cpp
@@ -89,14 +89,6 @@ NYql::TAstParseResult SqlASTToYql(const TLexers& lexers, const TParsers& parsers
return res;
}
-NYql::TAstParseResult SqlASTToYql(const TString& query,
- const google::protobuf::Message& protoAst,
- const NSQLTranslation::TSQLHints& hints,
- const NSQLTranslation::TTranslationSettings& settings)
-{
- return SqlASTToYql(MakeAllLexers(), MakeAllParsers(), query, protoAst, hints, settings);
-}
-
NYql::TAstParseResult SqlToYql(const TLexers& lexers, const TParsers& parsers, const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules)
{
TAstParseResult res;
@@ -126,10 +118,6 @@ NYql::TAstParseResult SqlToYql(const TLexers& lexers, const TParsers& parsers, c
return res;
}
-NYql::TAstParseResult SqlToYql(const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules) {
- return SqlToYql(MakeAllLexers(), MakeAllParsers(), query, settings, warningRules);
-}
-
bool NeedUseForAllStatements(const TRule_sql_stmt_core::AltCase& subquery) {
switch (subquery) {
case TRule_sql_stmt_core::kAltSqlStmtCore1: // pragma
@@ -264,10 +252,6 @@ TVector<NYql::TAstParseResult> SqlToAstStatements(const TLexers& lexers, const T
return result;
}
-TVector<NYql::TAstParseResult> SqlToAstStatements(const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules, TVector<NYql::TStmtParseInfo>* stmtParseInfo) {
- return SqlToAstStatements(MakeAllLexers(), MakeAllParsers(), query, settings, warningRules, stmtParseInfo);
-}
-
bool SplitQueryToStatements(const TLexers& lexers, const TParsers& parsers, const TString& query, TVector<TString>& statements, NYql::TIssues& issues,
const NSQLTranslation::TTranslationSettings& settings) {
auto lexer = NSQLTranslationV1::MakeLexer(lexers, settings.AnsiLexer, settings.Antlr4Parser);
@@ -292,11 +276,6 @@ bool SplitQueryToStatements(const TLexers& lexers, const TParsers& parsers, cons
return true;
}
-bool SplitQueryToStatements(const TString& query, TVector<TString>& statements, NYql::TIssues& issues,
- const NSQLTranslation::TTranslationSettings& settings) {
- return SplitQueryToStatements(MakeAllLexers(), MakeAllParsers(), query, statements, issues, settings);
-}
-
class TTranslator : public NSQLTranslation::ITranslator {
public:
TTranslator(const TLexers& lexers, const TParsers& parsers)
@@ -335,10 +314,6 @@ private:
const TParsers Parsers_;
};
-NSQLTranslation::TTranslatorPtr MakeTranslator() {
- return MakeIntrusive<TTranslator>(MakeAllLexers(), MakeAllParsers());
-}
-
NSQLTranslation::TTranslatorPtr MakeTranslator(const TLexers& lexers, const TParsers& parsers) {
return MakeIntrusive<TTranslator>(lexers, parsers);
}
diff --git a/yql/essentials/sql/v1/sql.h b/yql/essentials/sql/v1/sql.h
index 5ded2321f3..7693d75915 100644
--- a/yql/essentials/sql/v1/sql.h
+++ b/yql/essentials/sql/v1/sql.h
@@ -20,27 +20,16 @@ namespace NSQLTranslation {
namespace NSQLTranslationV1 {
- //FIXME remove
- NYql::TAstParseResult SqlToYql(const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules = nullptr);
NYql::TAstParseResult SqlToYql(const TLexers& lexers, const TParsers& parsers, const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules = nullptr);
- //FIXME remove
- NYql::TAstParseResult SqlASTToYql(const TString& query, const google::protobuf::Message& protoAst, const NSQLTranslation::TSQLHints& hints, const NSQLTranslation::TTranslationSettings& settings);
NYql::TAstParseResult SqlASTToYql(const TLexers& lexers, const TParsers& parsers, const TString& query, const google::protobuf::Message& protoAst, const NSQLTranslation::TSQLHints& hints, const NSQLTranslation::TTranslationSettings& settings);
- //FIXME remove
- TVector<NYql::TAstParseResult> SqlToAstStatements(const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules, TVector<NYql::TStmtParseInfo>* stmtParseInfo = nullptr);
TVector<NYql::TAstParseResult> SqlToAstStatements(const TLexers& lexers, const TParsers& parsers, const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TWarningRules* warningRules, TVector<NYql::TStmtParseInfo>* stmtParseInfo = nullptr);
bool NeedUseForAllStatements(const NSQLv1Generated::TRule_sql_stmt_core::AltCase& subquery);
- //FIXME remove
- bool SplitQueryToStatements(const TString& query, TVector<TString>& statements, NYql::TIssues& issues,
- const NSQLTranslation::TTranslationSettings& settings);
bool SplitQueryToStatements(const TLexers& lexers, const TParsers& parsers, const TString& query, TVector<TString>& statements, NYql::TIssues& issues,
const NSQLTranslation::TTranslationSettings& settings);
- NSQLTranslation::TTranslatorPtr MakeTranslator();
-
NSQLTranslation::TTranslatorPtr MakeTranslator(const TLexers& lexers, const TParsers& parsers);
} // namespace NSQLTranslationV1
diff --git a/yql/essentials/sql/v1/sql_call_expr.cpp b/yql/essentials/sql/v1/sql_call_expr.cpp
index f279e7db77..1eb4edd10a 100644
--- a/yql/essentials/sql/v1/sql_call_expr.cpp
+++ b/yql/essentials/sql/v1/sql_call_expr.cpp
@@ -1,8 +1,6 @@
#include "sql_call_expr.h"
#include "sql_expression.h"
-#include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
-
#include <yql/essentials/minikql/mkql_program_builder.h>
namespace NSQLTranslationV1 {
diff --git a/yql/essentials/sql/v1/sql_expression.cpp b/yql/essentials/sql/v1/sql_expression.cpp
index 9a92a7abc5..3eb1904cc5 100644
--- a/yql/essentials/sql/v1/sql_expression.cpp
+++ b/yql/essentials/sql/v1/sql_expression.cpp
@@ -2,12 +2,11 @@
#include "sql_call_expr.h"
#include "sql_select.h"
#include "sql_values.h"
-#include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
-#include <yql/essentials/parser/proto_ast/gen/v1_antlr4/SQLv1Antlr4Lexer.h>
#include <yql/essentials/utils/utf8.h>
#include <util/charset/wide.h>
#include <util/string/ascii.h>
#include <util/string/hex.h>
+#include "antlr_token.h"
namespace NSQLTranslationV1 {
@@ -1661,13 +1660,13 @@ TNodePtr TSqlExpression::SubExpr(const TRule_con_subexpr& node, const TTrailingQ
Token(token);
TPosition pos(Ctx.Pos());
auto tokenId = token.GetId();
- if (IS_TOKEN(tokenId, NOT)) {
+ if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, NOT)) {
opName = "Not";
- } else if (IS_TOKEN(tokenId, PLUS)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, PLUS)) {
opName = "Plus";
- } else if (IS_TOKEN(tokenId, MINUS)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, MINUS)) {
opName = Ctx.Scoped->PragmaCheckedOps ? "CheckedMinus" : "Minus";
- } else if (IS_TOKEN(tokenId, TILDA)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, TILDA)) {
opName = "BitNot";
} else {
Ctx.IncrementMonCounter("sql_errors", "UnsupportedUnaryOperation");
@@ -1939,7 +1938,7 @@ TNodePtr TSqlExpression::SubExpr(const TRule_xor_subexpr& node, const TTrailingQ
}
case TRule_cond_expr::kAltCondExpr4: {
auto alt = cond.GetAlt_cond_expr4();
- const bool symmetric = alt.HasBlock3() && IS_TOKEN(alt.GetBlock3().GetToken1().GetId(), SYMMETRIC);
+ const bool symmetric = alt.HasBlock3() && IS_TOKEN(Ctx.Settings.Antlr4Parser, alt.GetBlock3().GetToken1().GetId(), SYMMETRIC);
const bool negation = alt.HasBlock1();
TNodePtr left = SubExpr(alt.GetRule_eq_subexpr4(), {});
TNodePtr right = SubExpr(alt.GetRule_eq_subexpr6(), tail);
@@ -2065,28 +2064,28 @@ TNodePtr TSqlExpression::BinOpList(const TNode& node, TGetNode getNode, TIter be
TPosition pos(Ctx.Pos());
TString opName;
auto tokenId = begin->GetToken1().GetId();
- if (IS_TOKEN(tokenId, LESS)) {
+ if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, LESS)) {
opName = "<";
Ctx.IncrementMonCounter("sql_binary_operations", "Less");
- } else if (IS_TOKEN(tokenId, LESS_OR_EQ)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, LESS_OR_EQ)) {
opName = "<=";
Ctx.IncrementMonCounter("sql_binary_operations", "LessOrEq");
- } else if (IS_TOKEN(tokenId, GREATER)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, GREATER)) {
opName = ">";
Ctx.IncrementMonCounter("sql_binary_operations", "Greater");
- } else if (IS_TOKEN(tokenId, GREATER_OR_EQ)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, GREATER_OR_EQ)) {
opName = ">=";
Ctx.IncrementMonCounter("sql_binary_operations", "GreaterOrEq");
- } else if (IS_TOKEN(tokenId, PLUS)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, PLUS)) {
opName = Ctx.Scoped->PragmaCheckedOps ? "CheckedAdd" : "+MayWarn";
Ctx.IncrementMonCounter("sql_binary_operations", "Plus");
- } else if (IS_TOKEN(tokenId, MINUS)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, MINUS)) {
opName = Ctx.Scoped->PragmaCheckedOps ? "CheckedSub" : "-MayWarn";
Ctx.IncrementMonCounter("sql_binary_operations", "Minus");
- } else if (IS_TOKEN(tokenId, ASTERISK)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, ASTERISK)) {
opName = Ctx.Scoped->PragmaCheckedOps ? "CheckedMul" : "*MayWarn";
Ctx.IncrementMonCounter("sql_binary_operations", "Multiply");
- } else if (IS_TOKEN(tokenId, SLASH)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, SLASH)) {
opName = "/MayWarn";
Ctx.IncrementMonCounter("sql_binary_operations", "Divide");
if (!Ctx.Scoped->PragmaClassicDivision && partialResult) {
@@ -2094,7 +2093,7 @@ TNodePtr TSqlExpression::BinOpList(const TNode& node, TGetNode getNode, TIter be
} else if (Ctx.Scoped->PragmaCheckedOps) {
opName = "CheckedDiv";
}
- } else if (IS_TOKEN(tokenId, PERCENT)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, PERCENT)) {
opName = Ctx.Scoped->PragmaCheckedOps ? "CheckedMod" : "%MayWarn";
Ctx.IncrementMonCounter("sql_binary_operations", "Mod");
} else {
@@ -2121,7 +2120,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_bit_subexpr& node, TGetNode getNo
case TRule_neq_subexpr_TBlock2_TBlock1::kAlt1: {
Token(begin->GetBlock1().GetAlt1().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt1().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, SHIFT_LEFT)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, SHIFT_LEFT)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2137,7 +2136,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_bit_subexpr& node, TGetNode getNo
case TRule_neq_subexpr_TBlock2_TBlock1::kAlt3: {
Token(begin->GetBlock1().GetAlt3().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt3().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, ROT_LEFT)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, ROT_LEFT)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2153,7 +2152,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_bit_subexpr& node, TGetNode getNo
case TRule_neq_subexpr_TBlock2_TBlock1::kAlt5: {
Token(begin->GetBlock1().GetAlt5().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt5().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, AMPERSAND)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, AMPERSAND)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2164,7 +2163,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_bit_subexpr& node, TGetNode getNo
case TRule_neq_subexpr_TBlock2_TBlock1::kAlt6: {
Token(begin->GetBlock1().GetAlt6().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt6().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, PIPE)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, PIPE)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2175,7 +2174,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_bit_subexpr& node, TGetNode getNo
case TRule_neq_subexpr_TBlock2_TBlock1::kAlt7: {
Token(begin->GetBlock1().GetAlt7().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt7().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, CARET)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, CARET)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2205,7 +2204,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_eq_subexpr& node, TGetNode getNod
case TRule_cond_expr::TAlt5::TBlock1::TBlock1::kAlt1: {
Token(begin->GetBlock1().GetAlt1().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt1().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, EQUALS)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, EQUALS)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2216,7 +2215,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_eq_subexpr& node, TGetNode getNod
case TRule_cond_expr::TAlt5::TBlock1::TBlock1::kAlt2: {
Token(begin->GetBlock1().GetAlt2().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt2().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, EQUALS2)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, EQUALS2)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2227,7 +2226,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_eq_subexpr& node, TGetNode getNod
case TRule_cond_expr::TAlt5::TBlock1::TBlock1::kAlt3: {
Token(begin->GetBlock1().GetAlt3().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt3().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, NOT_EQUALS)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, NOT_EQUALS)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
@@ -2238,7 +2237,7 @@ TNodePtr TSqlExpression::BinOpList(const TRule_eq_subexpr& node, TGetNode getNod
case TRule_cond_expr::TAlt5::TBlock1::TBlock1::kAlt4: {
Token(begin->GetBlock1().GetAlt4().GetToken1());
auto tokenId = begin->GetBlock1().GetAlt4().GetToken1().GetId();
- if (!IS_TOKEN(tokenId, NOT_EQUALS2)) {
+ if (!IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, NOT_EQUALS2)) {
Error() << "Unsupported binary operation token: " << tokenId;
return {};
}
diff --git a/yql/essentials/sql/v1/sql_into_tables.cpp b/yql/essentials/sql/v1/sql_into_tables.cpp
index ac9ce53061..77498af54a 100644
--- a/yql/essentials/sql/v1/sql_into_tables.cpp
+++ b/yql/essentials/sql/v1/sql_into_tables.cpp
@@ -7,8 +7,6 @@ using namespace NYql;
namespace NSQLTranslationV1 {
-using NALPDefault::SQLv1LexerTokens;
-
using namespace NSQLv1Generated;
TNodePtr TSqlIntoTable::Build(const TRule_into_table_stmt& node) {
diff --git a/yql/essentials/sql/v1/sql_into_tables.h b/yql/essentials/sql/v1/sql_into_tables.h
index 0e40f5669b..c66bcfab95 100644
--- a/yql/essentials/sql/v1/sql_into_tables.h
+++ b/yql/essentials/sql/v1/sql_into_tables.h
@@ -1,7 +1,6 @@
#pragma once
#include "sql_translation.h"
-#include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
namespace NSQLTranslationV1 {
diff --git a/yql/essentials/sql/v1/sql_query.cpp b/yql/essentials/sql/v1/sql_query.cpp
index 34f137016a..6dc510bf57 100644
--- a/yql/essentials/sql/v1/sql_query.cpp
+++ b/yql/essentials/sql/v1/sql_query.cpp
@@ -4,8 +4,7 @@
#include "sql_into_tables.h"
#include "sql_values.h"
#include "node.h"
-#include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
-#include <yql/essentials/parser/proto_ast/gen/v1_antlr4/SQLv1Antlr4Lexer.h>
+#include "antlr_token.h"
#include <yql/essentials/sql/v1/object_processing.h>
#include <yql/essentials/utils/yql_paths.h>
#include <util/generic/scope.h>
@@ -314,8 +313,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (rule.HasBlock2()) { // OR REPLACE
replaceIfExists = true;
Y_DEBUG_ABORT_UNLESS(
- (IS_TOKEN(rule.GetBlock2().GetToken1().GetId(), OR) &&
- IS_TOKEN(rule.GetBlock2().GetToken2().GetId(), REPLACE))
+ (IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock2().GetToken1().GetId(), OR) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock2().GetToken2().GetId(), REPLACE))
);
}
@@ -324,7 +323,7 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
ETableType tableType = ETableType::Table;
bool temporary = false;
if (block.HasAlt2() &&
- IS_TOKEN(block.GetAlt2().GetToken1().GetId(), TABLESTORE)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, block.GetAlt2().GetToken1().GetId(), TABLESTORE)
) {
tableType = ETableType::TableStore;
if (isCreateTableAs) {
@@ -333,7 +332,7 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
return false;
}
} else if (block.HasAlt3() &&
- IS_TOKEN(block.GetAlt3().GetToken1().GetId(), EXTERNAL)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, block.GetAlt3().GetToken1().GetId(), EXTERNAL)
) {
tableType = ETableType::ExternalTable;
if (isCreateTableAs) {
@@ -341,8 +340,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
<< "CREATE TABLE AS is not supported for EXTERNAL TABLE";
return false;
}
- } else if (block.HasAlt4() && IS_TOKEN(block.GetAlt4().GetToken1().GetId(), TEMP) ||
- block.HasAlt5() && IS_TOKEN(block.GetAlt5().GetToken1().GetId(), TEMPORARY)) {
+ } else if (block.HasAlt4() && IS_TOKEN(Ctx.Settings.Antlr4Parser, block.GetAlt4().GetToken1().GetId(), TEMP) ||
+ block.HasAlt5() && IS_TOKEN(Ctx.Settings.Antlr4Parser, block.GetAlt5().GetToken1().GetId(), TEMPORARY)) {
temporary = true;
}
@@ -350,9 +349,9 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (rule.HasBlock4()) { // IF NOT EXISTS
existingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(rule.GetBlock4().GetToken1().GetId(), IF) &&
- IS_TOKEN(rule.GetBlock4().GetToken2().GetId(), NOT) &&
- IS_TOKEN(rule.GetBlock4().GetToken3().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock4().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock4().GetToken2().GetId(), NOT) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock4().GetToken3().GetId(), EXISTS)
);
}
@@ -439,8 +438,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (rule.HasBlock3()) { // IF EXISTS
missingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(rule.GetBlock3().GetToken1().GetId(), IF) &&
- IS_TOKEN(rule.GetBlock3().GetToken2().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock3().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetBlock3().GetToken2().GetId(), EXISTS)
);
}
@@ -531,7 +530,7 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
case TRule_sql_stmt_core::kAltSqlStmtCore15: {
Ctx.BodyPart();
const auto& rule = core.GetAlt_sql_stmt_core15().GetRule_alter_table_stmt1();
- const bool isTablestore = IS_TOKEN(rule.GetToken2().GetId(), TABLESTORE);
+ const bool isTablestore = IS_TOKEN(Ctx.Settings.Antlr4Parser, rule.GetToken2().GetId(), TABLESTORE);
TTableRef tr;
if (!SimpleTableRefImpl(rule.GetRule_simple_table_ref3(), tr)) {
return false;
@@ -813,7 +812,7 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
switch (node.GetBlock4().Alt_case()) {
case TRule_alter_group_stmt_TBlock4::kAlt1: {
auto& addDropNode = node.GetBlock4().GetAlt1();
- const bool isDrop = IS_TOKEN(addDropNode.GetToken1().GetId(), DROP);
+ const bool isDrop = IS_TOKEN(Ctx.Settings.Antlr4Parser, addDropNode.GetToken1().GetId(), DROP);
TVector<TDeferredAtom> roles;
bool allowSystemRoles = false;
roles.emplace_back();
@@ -862,13 +861,13 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
return false;
}
- const bool isUser = IS_TOKEN(node.GetToken2().GetId(), USER);
+ const bool isUser = IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetToken2().GetId(), USER);
bool missingOk = false;
if (node.HasBlock3()) { // IF EXISTS
missingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock3().GetToken1().GetId(), IF) &&
- IS_TOKEN(node.GetBlock3().GetToken2().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken2().GetId(), EXISTS)
);
}
@@ -904,9 +903,9 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (node.HasBlock3()) { // IF NOT EXISTS
existingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock3().GetToken1().GetId(), IF) &&
- IS_TOKEN(node.GetBlock3().GetToken2().GetId(), NOT) &&
- IS_TOKEN(node.GetBlock3().GetToken3().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken2().GetId(), NOT) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken3().GetId(), EXISTS)
);
}
@@ -958,8 +957,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (node.HasBlock3()) { // IF EXISTS
missingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock3().GetToken1().GetId(), IF) &&
- IS_TOKEN(node.GetBlock3().GetToken2().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken2().GetId(), EXISTS)
);
}
@@ -990,8 +989,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (node.HasBlock2()) { // OR REPLACE
replaceIfExists = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock2().GetToken1().GetId(), OR) &&
- IS_TOKEN(node.GetBlock2().GetToken2().GetId(), REPLACE)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock2().GetToken1().GetId(), OR) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock2().GetToken2().GetId(), REPLACE)
);
}
@@ -999,9 +998,9 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (node.HasBlock6()) { // IF NOT EXISTS
existingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock6().GetToken1().GetId(), IF) &&
- IS_TOKEN(node.GetBlock6().GetToken2().GetId(), NOT) &&
- IS_TOKEN(node.GetBlock6().GetToken3().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock6().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock6().GetToken2().GetId(), NOT) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock6().GetToken3().GetId(), EXISTS)
);
}
@@ -1057,8 +1056,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (node.HasBlock5()) { // IF EXISTS
missingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock5().GetToken1().GetId(), IF) &&
- IS_TOKEN(node.GetBlock5().GetToken2().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock5().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock5().GetToken2().GetId(), EXISTS)
);
}
@@ -1814,8 +1813,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core&
if (node.HasBlock3()) { // IF EXISTS
params.MissingOk = true;
Y_DEBUG_ABORT_UNLESS(
- IS_TOKEN(node.GetBlock3().GetToken1().GetId(), IF) &&
- IS_TOKEN(node.GetBlock3().GetToken2().GetId(), EXISTS)
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken1().GetId(), IF) &&
+ IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock3().GetToken2().GetId(), EXISTS)
);
}
diff --git a/yql/essentials/sql/v1/sql_translation.cpp b/yql/essentials/sql/v1/sql_translation.cpp
index 3e6f76d1ff..71dfafb3c4 100644
--- a/yql/essentials/sql/v1/sql_translation.cpp
+++ b/yql/essentials/sql/v1/sql_translation.cpp
@@ -5,9 +5,8 @@
#include "sql_values.h"
#include "sql_select.h"
#include "source.h"
+#include "antlr_token.h"
-#include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
-#include <yql/essentials/parser/proto_ast/gen/v1_antlr4/SQLv1Antlr4Lexer.h>
#include <yql/essentials/sql/settings/partitioning.h>
#include <yql/essentials/sql/v1/proto_parser/proto_parser.h>
@@ -1710,9 +1709,9 @@ bool TSqlTranslation::CreateTableEntry(const TRule_create_table_entry& node, TCr
auto& token = spec.GetBlock2().GetToken1();
auto tokenId = token.GetId();
- if (IS_TOKEN(tokenId, ASC)) {
+ if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, ASC)) {
return true;
- } else if (IS_TOKEN(tokenId, DESC)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, DESC)) {
desc = true;
return true;
} else {
@@ -3745,9 +3744,9 @@ bool TSqlTranslation::SortSpecification(const TRule_sort_specification& node, TV
const auto& token = node.GetBlock2().GetToken1();
Token(token);
auto tokenId = token.GetId();
- if (IS_TOKEN(tokenId, ASC)) {
+ if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, ASC)) {
Ctx.IncrementMonCounter("sql_features", "OrderByAsc");
- } else if (IS_TOKEN(tokenId, DESC)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, tokenId, DESC)) {
asc = false;
Ctx.IncrementMonCounter("sql_features", "OrderByDesc");
} else {
@@ -3777,11 +3776,11 @@ bool TSqlTranslation::SortSpecificationList(const TRule_sort_specification_list&
bool TSqlTranslation::IsDistinctOptSet(const TRule_opt_set_quantifier& node) const {
TPosition pos;
- return node.HasBlock1() && IS_TOKEN(node.GetBlock1().GetToken1().GetId(), DISTINCT);
+ return node.HasBlock1() && IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock1().GetToken1().GetId(), DISTINCT);
}
bool TSqlTranslation::IsDistinctOptSet(const TRule_opt_set_quantifier& node, TPosition& distinctPos) const {
- if (node.HasBlock1() && IS_TOKEN(node.GetBlock1().GetToken1().GetId(), DISTINCT)) {
+ if (node.HasBlock1() && IS_TOKEN(Ctx.Settings.Antlr4Parser, node.GetBlock1().GetToken1().GetId(), DISTINCT)) {
distinctPos = Ctx.TokenPosition(node.GetBlock1().GetToken1());
return true;
}
@@ -3857,9 +3856,9 @@ void TSqlTranslation::LoginParameter(const TRule_login_option& loginOption, std:
// login_option: LOGIN | NOLOGIN;
auto token = loginOption.GetToken1().GetId();
- if (IS_TOKEN(token, LOGIN)) {
+ if (IS_TOKEN(Ctx.Settings.Antlr4Parser, token, LOGIN)) {
canLogin = true;
- } else if (IS_TOKEN(token, NOLOGIN)) {
+ } else if (IS_TOKEN(Ctx.Settings.Antlr4Parser, token, NOLOGIN)) {
canLogin = false;
} else {
Y_ABORT("You should change implementation according to grammar changes");
diff --git a/yql/essentials/sql/v1/ya.make b/yql/essentials/sql/v1/ya.make
index 5094d498c7..08fd499b3f 100644
--- a/yql/essentials/sql/v1/ya.make
+++ b/yql/essentials/sql/v1/ya.make
@@ -13,14 +13,13 @@ PEERDIR(
yql/essentials/core/sql_types
yql/essentials/parser/lexer_common
yql/essentials/parser/proto_ast/collect_issues
- yql/essentials/parser/proto_ast/gen/v1
- yql/essentials/parser/proto_ast/gen/v1_ansi
yql/essentials/parser/proto_ast/gen/v1_proto_split
- yql/essentials/parser/proto_ast/gen/v1_antlr4
- yql/essentials/parser/proto_ast/gen/v1_ansi_antlr4
yql/essentials/parser/pg_catalog
yql/essentials/sql/v1/lexer
yql/essentials/sql/v1/proto_parser
+ # for lexer tokens
+ yql/essentials/parser/proto_ast/gen/v1
+ yql/essentials/parser/proto_ast/gen/v1_antlr4
)
SRCS(