diff options
| author | vitya-smirnov <[email protected]> | 2025-07-09 11:33:21 +0300 |
|---|---|---|
| committer | vitya-smirnov <[email protected]> | 2025-07-09 11:57:27 +0300 |
| commit | f767018cb425a62788b8e81932f2c2bc2a2e0953 (patch) | |
| tree | 8c49b1a4e6f11abdbd49e134c50b4555e1201a75 /yql/essentials/sql/v1 | |
| parent | b0c179cbac3df627b8b96fb72374e771a6be3325 (diff) | |
YQL-19747: Fix binding precence at ID_QUOTED
commit_hash:a497dfe8863a864913c1d6df4b28edbe7d8e4bba
Diffstat (limited to 'yql/essentials/sql/v1')
| -rw-r--r-- | yql/essentials/sql/v1/complete/analysis/local/local.h | 4 | ||||
| -rw-r--r-- | yql/essentials/sql/v1/complete/sql_complete.cpp | 4 | ||||
| -rw-r--r-- | yql/essentials/sql/v1/complete/sql_complete_ut.cpp | 13 |
3 files changed, 20 insertions, 1 deletions
diff --git a/yql/essentials/sql/v1/complete/analysis/local/local.h b/yql/essentials/sql/v1/complete/analysis/local/local.h index 86de7d1632a..df708901cf9 100644 --- a/yql/essentials/sql/v1/complete/analysis/local/local.h +++ b/yql/essentials/sql/v1/complete/analysis/local/local.h @@ -54,6 +54,10 @@ namespace NSQLComplete { struct TQuotation { bool AtLhs = false; bool AtRhs = false; + + explicit operator bool() const { + return AtLhs || AtRhs; + } }; TKeywords Keywords; diff --git a/yql/essentials/sql/v1/complete/sql_complete.cpp b/yql/essentials/sql/v1/complete/sql_complete.cpp index 837f0b236ca..cf93c07a190 100644 --- a/yql/essentials/sql/v1/complete/sql_complete.cpp +++ b/yql/essentials/sql/v1/complete/sql_complete.cpp @@ -75,7 +75,9 @@ namespace NSQLComplete { TVector<INameService::TPtr> children; - children.emplace_back(MakeBindingNameService(std::move(global.Names))); + if (!local.IsQuoted) { + children.emplace_back(MakeBindingNameService(std::move(global.Names))); + } if (!local.Binding && global.Column) { children.emplace_back(MakeColumnNameService(std::move(global.Column->Columns))); diff --git a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp index 8c1ffba06f4..145812136a6 100644 --- a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp +++ b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp @@ -1322,6 +1322,19 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "SELECT `Y #` FROM saurus.maxim").size(), 0); } + Y_UNIT_TEST(NoBindingAtQuoted) { + auto engine = MakeSqlCompletionEngineUT(); + + TVector<TCandidate> expected = { + {FolderName, ".sys/"}, + {FolderName, "local/"}, + {FolderName, "prod/"}, + {FolderName, "test/"}, + }; + + UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "$x = 1; SELECT * FROM `#`"), expected); + } + Y_UNIT_TEST(Typing) { const auto queryUtf16 = TUtf16String::FromUtf8( "SELECT \n" |
