diff options
author | Vitalii Gridnev <gridnevvvit@gmail.com> | 2022-06-02 01:50:38 +0300 |
---|---|---|
committer | Vitalii Gridnev <gridnevvvit@gmail.com> | 2022-06-02 01:50:38 +0300 |
commit | fa98dff48d6001ad69eecd8ccd421047cffd1f5a (patch) | |
tree | a770421f698302d0328139e5e62ed45fbce4489b | |
parent | dec29e24bcc1d4208ad6f72e60c5b70037a4748d (diff) | |
download | ydb-fa98dff48d6001ad69eecd8ccd421047cffd1f5a.tar.gz |
add extra tests on pushed limits KIKIMR-14818
ref:00d7ceddb1e1ac1a1600fb040fb048dcf5556a06
-rw-r--r-- | ydb/core/kqp/ut/kqp_olap_ut.cpp | 16 |
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(); |