From 4dcbb9f82b1267a2f10cd88724df61901e89d1c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= Date: Fri, 10 Apr 2020 21:52:16 +0000 Subject: [PATCH] Trying to debug why subquery limits don't work with task-tracker --- .../distributed/executor/multi_task_tracker_executor.c | 1 + src/test/regress/sql/multi_limit_clause.sql | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/executor/multi_task_tracker_executor.c b/src/backend/distributed/executor/multi_task_tracker_executor.c index 4ece5b34d..1421b1ab9 100644 --- a/src/backend/distributed/executor/multi_task_tracker_executor.c +++ b/src/backend/distributed/executor/multi_task_tracker_executor.c @@ -2894,6 +2894,7 @@ TaskTrackerExecScan(CustomScanState *node) DistributedPlan *distributedPlan = scanState->distributedPlan; Job *workerJob = distributedPlan->workerJob; Query *jobQuery = workerJob->jobQuery; + elog(WARNING, "query %s", nodeToString(distributedPlan->masterQuery)); ErrorIfTransactionAccessedPlacementsLocally(); DisableLocalExecution(); diff --git a/src/test/regress/sql/multi_limit_clause.sql b/src/test/regress/sql/multi_limit_clause.sql index cc8008acb..7226ccefa 100644 --- a/src/test/regress/sql/multi_limit_clause.sql +++ b/src/test/regress/sql/multi_limit_clause.sql @@ -237,7 +237,14 @@ SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT 10 OFFSET my_limi DROP FUNCTION my_limit(); -- subqueries should error out -SELECT min(l_linenumber) FROM lineitem; +select count(*) from lineitem; +set citus.task_executor_type to 'task-tracker'; +set client_min_messages to debug4; +SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT (SELECT min(l_linenumber) FROM lineitem) OFFSET (SELECT (count(*)/2)::int FROM lineitem_hash); +SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT (SELECT 10); +SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT 10 OFFSET (SELECT 10); +reset client_min_messages; +reset citus.task_executor_type; SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT (SELECT min(l_linenumber) FROM lineitem) OFFSET (SELECT (count(*)/2)::int FROM lineitem_hash); SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT (SELECT 10); SELECT l_orderkey FROM lineitem_hash ORDER BY l_orderkey LIMIT 10 OFFSET (SELECT 10);