diff options
author | aneporada <[email protected]> | 2023-10-04 19:54:13 +0300 |
---|---|---|
committer | aneporada <[email protected]> | 2023-10-04 20:12:15 +0300 |
commit | 8d51246644fc7c057734a944d1fb716c2e8ed7e2 (patch) | |
tree | cae9039e00d63d785da9d150790f3a4fd3d23c79 | |
parent | 2efbbe201fd0733e716f419c73f8557bcaae80e7 (diff) |
Fix auto SAMPLE with subqueries
-rw-r--r-- | ydb/library/yql/sql/v1/select.cpp | 4 | ||||
-rw-r--r-- | ydb/library/yql/sql/v1/sql_ut.cpp | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/ydb/library/yql/sql/v1/select.cpp b/ydb/library/yql/sql/v1/select.cpp index ce789ba386e..29070fe7e1b 100644 --- a/ydb/library/yql/sql/v1/select.cpp +++ b/ydb/library/yql/sql/v1/select.cpp @@ -608,7 +608,7 @@ public: ESampleMode mode, TNodePtr samplingRate, TNodePtr samplingSeed) override { - if (mode != ESampleMode::Bernoulli) { + if (mode == ESampleMode::System) { ctx.Error(pos) << "only Bernoulli sampling mode is supported for subqueries"; return false; } @@ -2907,7 +2907,7 @@ public: ESampleMode mode, TNodePtr samplingRate, TNodePtr samplingSeed) override { - if (mode != ESampleMode::Bernoulli) { + if (mode == ESampleMode::System) { ctx.Error(pos) << "only Bernoulli sampling mode is supported for subqueries"; return false; } diff --git a/ydb/library/yql/sql/v1/sql_ut.cpp b/ydb/library/yql/sql/v1/sql_ut.cpp index b51ebb83c59..a659c501d1e 100644 --- a/ydb/library/yql/sql/v1/sql_ut.cpp +++ b/ydb/library/yql/sql/v1/sql_ut.cpp @@ -2422,6 +2422,14 @@ Y_UNIT_TEST_SUITE(SqlParsingOnly) { UNIT_ASSERT_VALUES_EQUAL(1, elementStat["Aggregate"]); } + + Y_UNIT_TEST(AutoSampleWorksWithNamedSubquery) { + UNIT_ASSERT(SqlToYql("$src = select * from plato.Input; select * from $src sample 0.2").IsOk()); + } + + Y_UNIT_TEST(AutoSampleWorksWithSubquery) { + UNIT_ASSERT(SqlToYql("select * from (select * from plato.Input) sample 0.2").IsOk()); + } } Y_UNIT_TEST_SUITE(ExternalFunction) { |