diff --git a/src/backend/distributed/executor/local_executor.c b/src/backend/distributed/executor/local_executor.c index 9a8fca4a7..9e1cab457 100644 --- a/src/backend/distributed/executor/local_executor.c +++ b/src/backend/distributed/executor/local_executor.c @@ -143,7 +143,6 @@ ExecuteLocalTaskList(CitusScanState *scanState, List *taskList) foreach(taskCell, taskList) { Task *task = (Task *) lfirst(taskCell); - char *shardQueryString = NULL; PlannedStmt *localPlan = GetCachedLocalPlan(task, distributedPlan); @@ -153,10 +152,6 @@ ExecuteLocalTaskList(CitusScanState *scanState, List *taskList) */ if (localPlan != NULL) { - shardQueryString = task->queryStringLazy - ? task->queryStringLazy - : ""; - Query *jobQuery = distributedPlan->workerJob->jobQuery; LOCKMODE lockMode = IsModifyCommand(jobQuery) ? RowExclusiveLock : (jobQuery->hasForUpdate ? @@ -171,9 +166,7 @@ ExecuteLocalTaskList(CitusScanState *scanState, List *taskList) } else { - shardQueryString = TaskQueryString(task); - - Query *shardQuery = ParseQueryString(shardQueryString, parameterTypes, + Query *shardQuery = ParseQueryString(TaskQueryString(task), parameterTypes, numParams); /* @@ -197,6 +190,10 @@ ExecuteLocalTaskList(CitusScanState *scanState, List *taskList) LogLocalCommand(task); + char *shardQueryString = task->queryStringLazy + ? task->queryStringLazy + : ""; + totalRowsProcessed += ExecuteLocalTaskPlan(scanState, localPlan, shardQueryString); }