diff options
author | vityaman <vityaman.dev@yandex.ru> | 2025-05-27 22:51:59 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2025-05-27 23:07:28 +0300 |
commit | cc7006763c2335afaed9b76e4273339f91ed43cc (patch) | |
tree | 7cf9793ec693d35746c996dfad3dd7906aba30b8 | |
parent | 602c57938d4cc2b047646bae209f1d1420a22d68 (diff) | |
download | ydb-cc7006763c2335afaed9b76e4273339f91ed43cc.tar.gz |
YQL-19747: Fix cluster provider interpretation
There was a mistake thinking that provider is a part of a cluster name. Actually `yt:saurus` and `saurus` are same clusters and provider (`yt`) serves only as a hint for translation expressions such as `yt:$cluster_name`.
---
- Related to `YQL-19747`
- Related to https://github.com/vityaman/ydb/issues/54
- Related to https://github.com/ydb-platform/ydb/issues/9056
---
Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1301
commit_hash:19a45cf0bb6c7dda26747b2e3371646272f79bce
3 files changed, 15 insertions, 25 deletions
diff --git a/yql/essentials/sql/v1/complete/name/service/schema/name_service.cpp b/yql/essentials/sql/v1/complete/name/service/schema/name_service.cpp index de8e8db65ac..b21ad828317 100644 --- a/yql/essentials/sql/v1/complete/name/service/schema/name_service.cpp +++ b/yql/essentials/sql/v1/complete/name/service/schema/name_service.cpp @@ -32,12 +32,7 @@ namespace NSQLComplete { } static TString ClusterName(const TObjectNameConstraints& constraints) { - TString name = constraints.Cluster; - if (!constraints.Provider.empty()) { - name.prepend(":"); - name.prepend(constraints.Provider); - } - return name; + return constraints.Cluster; } static TListFilter ToListFilter(const TNameConstraints& constraints) { diff --git a/yql/essentials/sql/v1/complete/sql_complete.cpp b/yql/essentials/sql/v1/complete/sql_complete.cpp index 22fc6b31062..6602dace001 100644 --- a/yql/essentials/sql/v1/complete/sql_complete.cpp +++ b/yql/essentials/sql/v1/complete/sql_complete.cpp @@ -119,7 +119,7 @@ namespace NSQLComplete { if (context.Cluster) { TClusterName::TConstraints constraints; - constraints.Namespace = context.Cluster->Provider; + constraints.Namespace = ""; // TODO(YQL-19747): filter by provider request.Constraints.Cluster = std::move(constraints); } diff --git a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp index 60a77a422d9..04099f911b9 100644 --- a/yql/essentials/sql/v1/complete/sql_complete_ut.cpp +++ b/yql/essentials/sql/v1/complete/sql_complete_ut.cpp @@ -95,7 +95,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {{"/", {{"Table", "people"}, {"Folder", "yql"}}}, {"/yql/", {{"Table", "tutorial"}}}}}, - {"yt:saurus", + {"saurus", {{"/", {{"Table", "maxim"}}}}}, }; @@ -190,7 +190,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { Y_UNIT_TEST(Use) { TVector<TCandidate> expected = { {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, }; auto engine = MakeSqlCompletionEngineUT(); UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "USE "), expected); @@ -202,7 +202,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { TVector<TCandidate> expected = { {TableName, "`maxim`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL( @@ -219,7 +219,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {FolderName, "`prod/`"}, {FolderName, "`test/`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL( @@ -284,7 +284,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {FolderName, "`prod/`"}, {FolderName, "`test/`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "IF NOT EXISTS"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "CREATE TABLE #"), expected); @@ -333,7 +333,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {FolderName, "`prod/`"}, {FolderName, "`test/`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "IF EXISTS"}, }; auto engine = MakeSqlCompletionEngineUT(); @@ -529,7 +529,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {FolderName, "`prod/`"}, {FolderName, "`test/`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "SELECT * FROM "), expected); @@ -629,12 +629,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { auto engine = MakeSqlCompletionEngineUT(); { TVector<TCandidate> expected = { - {ClusterName, "yt:saurus"}, - }; - UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "SELECT * FROM yt#"), expected); - } - { - TVector<TCandidate> expected = { + {ClusterName, "example"}, {ClusterName, "saurus"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "SELECT * FROM yt:"), expected); @@ -671,7 +666,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { TVector<TCandidate> expected = { {TableName, "`maxim`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "USE yt:saurus; SELECT * FROM "), expected); @@ -687,7 +682,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { TVector<TCandidate> expected = { {TableName, "`maxim`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "USE example; USE yt:saurus; SELECT * FROM "), expected); @@ -696,7 +691,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { TVector<TCandidate> expected = { {TableName, "`maxim`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, R"( @@ -712,7 +707,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {TableName, "`people`"}, {FolderName, "`yql/`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, {Keyword, "ANY"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, R"( @@ -786,7 +781,7 @@ Y_UNIT_TEST_SUITE(SqlCompleteTests) { {FolderName, "`prod/`"}, {FolderName, "`test/`"}, {ClusterName, "example"}, - {ClusterName, "yt:saurus"}, + {ClusterName, "saurus"}, }; UNIT_ASSERT_VALUES_EQUAL(Complete(engine, "UPSERT INTO "), expected); } |