diff options
author | vitya-smirnov <[email protected]> | 2025-06-24 15:50:39 +0300 |
---|---|---|
committer | vitya-smirnov <[email protected]> | 2025-06-24 16:06:46 +0300 |
commit | 573dadf304e5729bdad2dc02fd7c4ad2cb7a0524 (patch) | |
tree | ed72d28bb7b17af07d1364abd08360829533792d /yql/essentials/sql/v1/complete/sql_complete_ut.cpp | |
parent | 7ad54f585b44a26b4c619ab33dcfe06fd0add315 (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.cpp | 28 |
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" |