diff options
author | vitya-smirnov <[email protected]> | 2025-06-25 15:43:36 +0300 |
---|---|---|
committer | vitya-smirnov <[email protected]> | 2025-06-25 16:01:44 +0300 |
commit | 59fa891737bd017e3c73b3ee4320333d8f57611c (patch) | |
tree | 8c3e49287f11947bdd7d855996823e07af317332 /yql/essentials/sql/v1/complete/sql_complete_ut.cpp | |
parent | de5ef0597b0c69b0226eece538677890aec07b16 (diff) |
YQL-19747: Hack parsing when at an empty id
There was a problem with parsing a query like
`SELECT # FROM t`, as it parsed `FROM` as if it
is an expeceted column name, so we failed to parse
a table name after `FROM` and therefore can not
complete column names, while the are so useful at
this position. Also this hack improved parsing
other queries, according to changed tests.
commit_hash:f5a657022a164d1d4bbf906db4bd2ad67bbcd956
Diffstat (limited to 'yql/essentials/sql/v1/complete/sql_complete_ut.cpp')
-rw-r--r-- | yql/essentials/sql/v1/complete/sql_complete_ut.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp index 5b99c6a3fe1..aa955bc2cc5 100644 --- a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp +++ b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp @@ -905,6 +905,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { auto engine = MakeSqlCompletionEngineUT(); { TVector<TCandidate> expected = { + {BindingName, "$udf"}, {HintName, "XLOCK"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "PROCESS my_table USING $udf(TableRows()) WITH "), expected); @@ -1105,8 +1106,11 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { }; UNIT_ASSERT_VALUES_EQUAL(CompleteTop(2, engine, "SELECT # FROM example.`/people` AS x"), expected); } - { // It is parsed into ``` SELECT x.FROM example.`/people` AS x ``` - TVector<TCandidate> expected = {}; + { + TVector<TCandidate> expected = { + {ColumnName, "Age"}, + {ColumnName, "Name"}, + }; UNIT_ASSERT_VALUES_EQUAL(CompleteTop(2, engine, "SELECT x.# FROM example.`/people` AS x"), expected); } { |