Refactors ExtendedTaskList methods

pull/7372/head
gindibay 2023-12-07 12:51:49 +03:00
parent dbdde111c1
commit 7e1a9a9fee
1 changed files with 42 additions and 31 deletions

View File

@ -729,6 +729,11 @@ static uint64 MicrosecondsBetweenTimestamps(instr_time startTime, instr_time end
static int WorkerPoolCompare(const void *lhsKey, const void *rhsKey); static int WorkerPoolCompare(const void *lhsKey, const void *rhsKey);
static void SetAttributeInputMetadata(DistributedExecution *execution, static void SetAttributeInputMetadata(DistributedExecution *execution,
ShardCommandExecution *shardCommandExecution); ShardCommandExecution *shardCommandExecution);
static ExecutionParams *
GetExecutionParams(RowModifyLevel modLevel, List *taskList,
TupleDestination *tupleDest,
bool expectResults,
ParamListInfo paramListInfo);
/* /*
@ -1014,12 +1019,13 @@ ExecuteTaskListOutsideTransaction(RowModifyLevel modLevel, List *taskList,
} }
/* /*
* ExecuteTaskListIntoTupleDestWithParam is a proxy to ExecuteTaskListExtended() which uses * Prepare execution parameters for a task list.It is used by the
* bind params from executor state, and with defaults for some of the arguments. * functions that execute task lists.
*/ */
uint64 static ExecutionParams *
ExecuteTaskListIntoTupleDestWithParam(RowModifyLevel modLevel, List *taskList, GetExecutionParams(RowModifyLevel modLevel, List *taskList,
TupleDestination *tupleDest, TupleDestination *tupleDest,
bool expectResults, bool expectResults,
ParamListInfo paramListInfo) ParamListInfo paramListInfo)
@ -1036,9 +1042,23 @@ ExecuteTaskListIntoTupleDestWithParam(RowModifyLevel modLevel, List *taskList,
executionParams->tupleDestination = tupleDest; executionParams->tupleDestination = tupleDest;
executionParams->paramListInfo = paramListInfo; executionParams->paramListInfo = paramListInfo;
return ExecuteTaskListExtended(executionParams); return executionParams;
} }
/*
* ExecuteTaskListIntoTupleDestWithParam is a proxy to ExecuteTaskListExtended() which uses
* bind params from executor state, and with defaults for some of the arguments.
*/
uint64
ExecuteTaskListIntoTupleDestWithParam(RowModifyLevel modLevel, List *taskList,
TupleDestination *tupleDest,
bool expectResults,
ParamListInfo paramListInfo)
{
ExecutionParams *executionParams = GetExecutionParams(modLevel, taskList, tupleDest,
expectResults, paramListInfo);
return ExecuteTaskListExtended(executionParams);
}
/* /*
* ExecuteTaskListIntoTupleDest is a proxy to ExecuteTaskListExtended() with defaults * ExecuteTaskListIntoTupleDest is a proxy to ExecuteTaskListExtended() with defaults
@ -1049,17 +1069,8 @@ ExecuteTaskListIntoTupleDest(RowModifyLevel modLevel, List *taskList,
TupleDestination *tupleDest, TupleDestination *tupleDest,
bool expectResults) bool expectResults)
{ {
int targetPoolSize = MaxAdaptiveExecutorPoolSize; ExecutionParams *executionParams = GetExecutionParams(modLevel, taskList, tupleDest,
bool localExecutionSupported = true; expectResults, NULL);
ExecutionParams *executionParams = CreateBasicExecutionParams(
modLevel, taskList, targetPoolSize, localExecutionSupported
);
executionParams->xactProperties = DecideTransactionPropertiesForTaskList(
modLevel, taskList, false);
executionParams->expectResults = expectResults;
executionParams->tupleDestination = tupleDest;
return ExecuteTaskListExtended(executionParams); return ExecuteTaskListExtended(executionParams);
} }