summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
diff options
context:
space:
mode:
authorvityaman <[email protected]>2025-05-27 11:56:16 +0300
committerrobot-piglet <[email protected]>2025-05-27 12:09:17 +0300
commit04c43eb2d8297ffe7b7b7a5b4ca48980d01fca96 (patch)
tree4230ea5e52fbdbfd3068624004cdc054e1952268 /yql/essentials/sql/v1/complete/sql_complete_ut.cpp
parent844ea8aaa5c094d9210b9535d06d98cc5bb56afa (diff)
YQL-19747: Support immediate string named expressions
--- - Related to `YQL-19747` - Related to https://github.com/vityaman/ydb/issues/50 --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1292 commit_hash:a6d543bc18b2f9239bf0b33afd8497a7919fe4b3
Diffstat (limited to 'yql/essentials/sql/v1/complete/sql_complete_ut.cpp')
-rw-r--r--yql/essentials/sql/v1/complete/sql_complete_ut.cpp56
1 files changed, 48 insertions, 8 deletions
diff --git a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
index dc5690853f5..60a77a422d9 100644
--- a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
+++ b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
@@ -127,8 +127,8 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) {
return MakeSqlCompletionEngine(std::move(lexer), std::move(service));
}
- TVector<TCandidate> Complete(ISqlCompletionEngine::TPtr& engine, TString sharped) {
- return engine->CompleteAsync(SharpedInput(sharped)).GetValueSync().Candidates;
+ TVector<TCandidate> Complete(ISqlCompletionEngine::TPtr& engine, TString sharped, TEnvironment env = {}) {
+ return engine->CompleteAsync(SharpedInput(sharped), std::move(env)).GetValueSync().Candidates;
}
TVector<TCandidate> CompleteTop(size_t limit, ISqlCompletionEngine::TPtr& engine, TString sharped) {
@@ -196,6 +196,41 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) {
UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "USE "), expected);
}
+ Y_UNIT_TEST(UseClusterResultion) {
+ auto engine = MakeSqlCompletionEngineUT();
+ {
+ TVector<TCandidate> expected = {
+ {TableName, "`maxim`"},
+ {ClusterName, "example"},
+ {ClusterName, "yt:saurus"},
+ {Keyword, "ANY"},
+ };
+ UNIT_ASSERT_VALUES_EQUAL(
+ Complete(
+ engine,
+ "USE yt:$cluster_name; SELECT * FROM ",
+ {.Parameters = {{"cluster_name", "saurus"}}}),
+ expected);
+ }
+ {
+ TVector<TCandidate> expected = {
+ {FolderName, "`.sys/`"},
+ {FolderName, "`local/`"},
+ {FolderName, "`prod/`"},
+ {FolderName, "`test/`"},
+ {ClusterName, "example"},
+ {ClusterName, "yt:saurus"},
+ {Keyword, "ANY"},
+ };
+ UNIT_ASSERT_VALUES_EQUAL(
+ Complete(
+ engine,
+ "USE yt:$cluster_name; SELECT * FROM ",
+ {.Parameters = {}}),
+ expected);
+ }
+ }
+
Y_UNIT_TEST(Alter) {
TVector<TCandidate> expected = {
{Keyword, "ASYNC REPLICATION"},
@@ -981,12 +1016,17 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) {
}
Y_UNIT_TEST(Tabbing) {
- TString query =
- "SELECT \n"
- " 123467, \"Hello, {name}! 编码\"}, \n"
- " (1 + (5 * 1 / 0)), MIN(identifier), \n"
- " Bool(field), Math::Sin(var) \n"
- "FROM `local/test/space/table` JOIN test;";
+ TString query = R"(
+USE example;
+
+SELECT
+ 123467, \"Hello, {name}! 编码\"},
+ (1 + (5 * 1 / 0)), MIN(identifier),
+ Bool(field), Math::Sin(var)
+FROM `local/test/space/table`
+JOIN yt:$cluster_name.test;
+)";
+
query += query + ";";
query += query + ";";