diff options
author | robot-piglet <[email protected]> | 2025-06-20 11:33:48 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-06-20 11:58:05 +0300 |
commit | 815bb53e8a110e23218e610caabd6a3e15fa3ca5 (patch) | |
tree | 7f522613b130e1797a42c1f8e3596897becfaa94 /yql/essentials/sql/v1/complete/sql_complete_ut.cpp | |
parent | 1431a3f721b6fa41b34ee5e0a836f06901b5a324 (diff) |
Intermediate changes
commit_hash:67576d4a9e4a1f4bbbb204bcb0b98c255009b1da
Diffstat (limited to 'yql/essentials/sql/v1/complete/sql_complete_ut.cpp')
-rw-r--r-- | yql/essentials/sql/v1/complete/sql_complete_ut.cpp | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp index 90c2d8faeba..6d6d91d0dbb 100644 --- a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp +++ b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp @@ -1377,40 +1377,60 @@ JOIN yt:$cluster_name.test; Y_UNIT_TEST(CachedSchema) { TLexerSupplier lexer = MakePureLexerSupplier(); - auto cache = MakeLocalCache< - TSchemaListCacheKey, TVector<TFolderEntry>>( - NMonotonic::CreateDefaultMonotonicTimeProvider(), {}); + auto time = NMonotonic::CreateDefaultMonotonicTimeProvider(); + TSchemaCaches caches = { + .List = MakeLocalCache< + TSchemaDescribeCacheKey, TVector<TFolderEntry>>(time, {}), + .DescribeTable = MakeLocalCache< + TSchemaDescribeCacheKey, TMaybe<TTableDetails>>(time, {}), + }; auto aliceService = MakeSchemaNameService( MakeSimpleSchema( MakeCachedSimpleSchema( - cache, "alice", + caches, "alice", MakeStaticSimpleSchema(TSchemaData{ .Folders = {{"", {{"/", {{"Table", "alice"}}}}}}, + .Tables = {{"", {{"/alice", {{"alice"}}}}}}, })))); auto petyaService = MakeSchemaNameService( MakeSimpleSchema( MakeCachedSimpleSchema( - cache, "petya", + caches, "petya", MakeStaticSimpleSchema(TSchemaData{ .Folders = {{"", {{"/", {{"Table", "petya"}}}}}}, + .Tables = {{"", {{"/petya", {{"petya"}}}}}}, })))); auto aliceEngine = MakeSqlCompletionEngine(lexer, std::move(aliceService)); auto petyaEngine = MakeSqlCompletionEngine(lexer, std::move(petyaService)); TVector<TCandidate> empty; - TVector<TCandidate> aliceExpected = {{TableName, "`alice`"}}; - TVector<TCandidate> petyaExpected = {{TableName, "`petya`"}}; + { + TVector<TCandidate> aliceExpected = {{TableName, "`alice`"}}; + TVector<TCandidate> petyaExpected = {{TableName, "`petya`"}}; - // Cache is empty - UNIT_ASSERT_VALUES_EQUAL(Complete(aliceEngine, "SELECT * FROM "), empty); - UNIT_ASSERT_VALUES_EQUAL(Complete(petyaEngine, "SELECT * FROM "), empty); + // Cache is empty + UNIT_ASSERT_VALUES_EQUAL(Complete(aliceEngine, "SELECT * FROM "), empty); + UNIT_ASSERT_VALUES_EQUAL(Complete(petyaEngine, "SELECT * FROM "), empty); - // Updates in backround - UNIT_ASSERT_VALUES_EQUAL(Complete(aliceEngine, "SELECT * FROM "), aliceExpected); - UNIT_ASSERT_VALUES_EQUAL(Complete(petyaEngine, "SELECT * FROM "), petyaExpected); + // Updates in backround + UNIT_ASSERT_VALUES_EQUAL(Complete(aliceEngine, "SELECT * FROM "), aliceExpected); + UNIT_ASSERT_VALUES_EQUAL(Complete(petyaEngine, "SELECT * FROM "), petyaExpected); + } + { + TVector<TCandidate> aliceExpected = {{ColumnName, "alice"}}; + TVector<TCandidate> petyaExpected = {{ColumnName, "petya"}}; + + // Cache is empty + UNIT_ASSERT_VALUES_EQUAL(Complete(aliceEngine, "SELECT a# FROM alice"), empty); + UNIT_ASSERT_VALUES_EQUAL(Complete(petyaEngine, "SELECT p# FROM petya"), empty); + + // Updates in backround + UNIT_ASSERT_VALUES_EQUAL(Complete(aliceEngine, "SELECT a# FROM alice"), aliceExpected); + UNIT_ASSERT_VALUES_EQUAL(Complete(petyaEngine, "SELECT p# FROM petya"), petyaExpected); + } } } // Y_UNIT_TEST_SUITE(SqlCompleteTests) |