diff options
author | robot-piglet <[email protected]> | 2025-04-02 12:35:53 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-04-02 12:46:14 +0300 |
commit | 500b1211cebb8d33b9a138a6e5ba245d29001cfc (patch) | |
tree | e9e6a3e53b4849520b7a4594ce79e5b2fa4bd462 /yql/essentials/sql/v1 | |
parent | d0f59ff7aedfd9fa9abe71ab5f0af6920631c1a7 (diff) |
Intermediate changes
commit_hash:28e9e4bd6b02e8914d82b2aafe9f341b5492421f
Diffstat (limited to 'yql/essentials/sql/v1')
-rw-r--r-- | yql/essentials/sql/v1/lexer/lexer_ut.cpp | 7 | ||||
-rw-r--r-- | yql/essentials/sql/v1/lexer/regex/lexer.cpp | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/yql/essentials/sql/v1/lexer/lexer_ut.cpp b/yql/essentials/sql/v1/lexer/lexer_ut.cpp index 1ddfd04b507..549dc9d8fa9 100644 --- a/yql/essentials/sql/v1/lexer/lexer_ut.cpp +++ b/yql/essentials/sql/v1/lexer/lexer_ut.cpp @@ -68,7 +68,7 @@ TVector<TString> GetTokenViews(ILexer::TPtr& lexer, const TString& query) { TString ToString(TParsedToken token) { TString& string = token.Name; - if (!AsciiEqualsIgnoreCase(token.Name, token.Content) && token.Name != "EOF") { + if (token.Name != token.Content && token.Name != "EOF") { string += "("; string += token.Content; string += ")"; @@ -306,6 +306,7 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) { UNIT_ASSERT_TOKENIZED(lexer, "SELECT", "SELECT EOF"); UNIT_ASSERT_TOKENIZED(lexer, "INSERT", "INSERT EOF"); UNIT_ASSERT_TOKENIZED(lexer, "FROM", "FROM EOF"); + UNIT_ASSERT_TOKENIZED(lexer, "from", "FROM(from) EOF"); } Y_UNIT_TEST_ON_EACH_LEXER(Punctuation) { @@ -418,8 +419,8 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) { Y_UNIT_TEST_ON_EACH_LEXER(SimpleQuery) { auto lexer = MakeLexer(Lexers, ANSI, ANTLR4, FLAVOR); - UNIT_ASSERT_TOKENIZED(lexer, "select 1", "SELECT WS( ) DIGITS(1) EOF"); - UNIT_ASSERT_TOKENIZED(lexer, "SELect 1", "SELECT WS( ) DIGITS(1) EOF"); + UNIT_ASSERT_TOKENIZED(lexer, "select 1", "SELECT(select) WS( ) DIGITS(1) EOF"); + UNIT_ASSERT_TOKENIZED(lexer, "SELect 1", "SELECT(SELect) WS( ) DIGITS(1) EOF"); } Y_UNIT_TEST_ON_EACH_LEXER(ComplexQuery) { diff --git a/yql/essentials/sql/v1/lexer/regex/lexer.cpp b/yql/essentials/sql/v1/lexer/regex/lexer.cpp index b0b5c2dad44..b8ca033b0c6 100644 --- a/yql/essentials/sql/v1/lexer/regex/lexer.cpp +++ b/yql/essentials/sql/v1/lexer/regex/lexer.cpp @@ -109,8 +109,9 @@ namespace NSQLTranslationV1 { bool MatchKeyword(const TStringBuf prefix, TParsedTokenList& matches) { size_t count = 0; for (const auto& keyword : Grammar_.KeywordNames) { - if (AsciiEqualsIgnoreCase(prefix.substr(0, keyword.length()), keyword)) { - matches.emplace_back(keyword, keyword); + const TStringBuf content = prefix.substr(0, keyword.length()); + if (AsciiEqualsIgnoreCase(content, keyword)) { + matches.emplace_back(keyword, TString(content)); count += 1; } } |