aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitalii Gridnev <gridnevvvit@gmail.com>2022-06-02 01:50:38 +0300
committerVitalii Gridnev <gridnevvvit@gmail.com>2022-06-02 01:50:38 +0300
commitfa98dff48d6001ad69eecd8ccd421047cffd1f5a (patch)
treea770421f698302d0328139e5e62ed45fbce4489b
parentdec29e24bcc1d4208ad6f72e60c5b70037a4748d (diff)
downloadydb-fa98dff48d6001ad69eecd8ccd421047cffd1f5a.tar.gz
add extra tests on pushed limits KIKIMR-14818
ref:00d7ceddb1e1ac1a1600fb040fb048dcf5556a06
-rw-r--r--ydb/core/kqp/ut/kqp_olap_ut.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/ydb/core/kqp/ut/kqp_olap_ut.cpp b/ydb/core/kqp/ut/kqp_olap_ut.cpp
index 4496d3df424..e15400986c4 100644
--- a/ydb/core/kqp/ut/kqp_olap_ut.cpp
+++ b/ydb/core/kqp/ut/kqp_olap_ut.cpp
@@ -912,26 +912,34 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
)");
auto selectQuery = TString(R"(
--!syntax_v1
- SELECT `timestamp` FROM `/Root/olapStore/olapTable` ORDER BY `timestamp`;
+ SELECT `timestamp` FROM `/Root/olapStore/olapTable` ORDER BY `timestamp` LIMIT 4;
)");
auto it = tableClient.StreamExecuteScanQuery(selectQuery, scanSettings).GetValueSync();
auto result = CollectStreamResult(it);
- NJson::TJsonValue plan, node, reverse, limit;
+ NJson::TJsonValue plan, node, reverse, limit, pushedLimit;
NJson::ReadJsonTree(*result.PlanJson, &plan, true);
+ Cerr << *result.PlanJson << Endl;
+ Cerr << result.QueryStats->query_plan() << Endl;
+ Cerr << result.QueryStats->query_ast() << Endl;
- node = FindPlanNodeByKv(plan, "Node Type", "TableFullScan");
+ node = FindPlanNodeByKv(plan, "Node Type", "Limit-TableFullScan");
UNIT_ASSERT(node.IsDefined());
reverse = FindPlanNodeByKv(node, "Reverse", "false");
UNIT_ASSERT(!reverse.IsDefined());
+ pushedLimit = FindPlanNodeByKv(node, "ReadLimit", "4");
+ UNIT_ASSERT(pushedLimit.IsDefined());
// Check that Reverse flag is set in query plan
it = tableClient.StreamExecuteScanQuery(selectQueryWithSort, scanSettings).GetValueSync();
result = CollectStreamResult(it);
NJson::ReadJsonTree(*result.PlanJson, &plan, true);
+ Cerr << "==============================" << Endl;
Cerr << *result.PlanJson << Endl;
+ Cerr << result.QueryStats->query_plan() << Endl;
+ Cerr << result.QueryStats->query_ast() << Endl;
node = FindPlanNodeByKv(plan, "Node Type", "Limit-TableFullScan");
UNIT_ASSERT(node.IsDefined());
@@ -939,6 +947,8 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
UNIT_ASSERT(reverse.IsDefined());
limit = FindPlanNodeByKv(node, "Limit", "4");
UNIT_ASSERT(limit.IsDefined());
+ pushedLimit = FindPlanNodeByKv(node, "ReadLimit", "4");
+ UNIT_ASSERT(pushedLimit.IsDefined());
// Run actual request in case explain did not execute anything
it = tableClient.StreamExecuteScanQuery(selectQueryWithSort).GetValueSync();