summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
diff options
context:
space:
mode:
authorvitya-smirnov <[email protected]>2025-06-24 15:50:39 +0300
committervitya-smirnov <[email protected]>2025-06-24 16:06:46 +0300
commit573dadf304e5729bdad2dc02fd7c4ad2cb7a0524 (patch)
treeed72d28bb7b17af07d1364abd08360829533792d /yql/essentials/sql/v1/complete/sql_complete_ut.cpp
parent7ad54f585b44a26b4c619ab33dcfe06fd0add315 (diff)
YQL-19747: Synthesise subquery columns
commit_hash:40a2de243a67135e44505619fb766954ba24e2e8
Diffstat (limited to 'yql/essentials/sql/v1/complete/sql_complete_ut.cpp')
-rw-r--r--yql/essentials/sql/v1/complete/sql_complete_ut.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
index 89576f63c3d..603ddae812a 100644
--- a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
+++ b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
@@ -1141,6 +1141,34 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) {
}
}
+ Y_UNIT_TEST(ColumnsAtSubquery) {
+ auto engine = MakeSqlCompletionEngineUT();
+ {
+ TString query = R"(
+ SELECT #
+ FROM (SELECT * FROM example.`/people`) AS ep
+ JOIN (SELECT room AS Room, time FROM example.`/yql/tutorial`) AS et ON 1 = 1
+ )";
+
+ TVector<TCandidate> expected = {
+ {ColumnName, "et.Room"},
+ {ColumnName, "et.time"},
+ {ColumnName, "ep.Age"},
+ {ColumnName, "ep.Name"},
+ {Keyword, "ALL"},
+ };
+ UNIT_ASSERT_VALUES_EQUAL(CompleteTop(5, engine, query), expected);
+ }
+ {
+ TString query = "SELECT # FROM (SELECT 1 AS x)";
+
+ TVector<TCandidate> expected = {
+ {ColumnName, "x"},
+ };
+ UNIT_ASSERT_VALUES_EQUAL(CompleteTop(1, engine, query), expected);
+ }
+ }
+
Y_UNIT_TEST(Typing) {
const auto queryUtf16 = TUtf16String::FromUtf8(
"SELECT \n"