summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/complete/sql_complete_ut.cpp
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2025-06-20 11:33:48 +0300
committerrobot-piglet <[email protected]>2025-06-20 11:58:05 +0300
commit815bb53e8a110e23218e610caabd6a3e15fa3ca5 (patch)
tree7f522613b130e1797a42c1f8e3596897becfaa94 /yql/essentials/sql/v1/complete/sql_complete_ut.cpp
parent1431a3f721b6fa41b34ee5e0a836f06901b5a324 (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.cpp46
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)