Stop using citus.binary_worker_copy_format

pull/5400/head
Marco Slot 2021-10-25 12:18:43 +02:00
parent 5ac0d31e8b
commit 3cd9aa655a
2 changed files with 10 additions and 9 deletions

View File

@ -218,7 +218,7 @@ static void AssignDataFetchDependencies(List *taskList);
static uint32 TaskListHighestTaskId(List *taskList); static uint32 TaskListHighestTaskId(List *taskList);
static List * MapTaskList(MapMergeJob *mapMergeJob, List *filterTaskList); static List * MapTaskList(MapMergeJob *mapMergeJob, List *filterTaskList);
static StringInfo CreateMapQueryString(MapMergeJob *mapMergeJob, Task *filterTask, static StringInfo CreateMapQueryString(MapMergeJob *mapMergeJob, Task *filterTask,
uint32 partitionColumnIndex); uint32 partitionColumnIndex, bool useBinaryFormat);
static char * PartitionResultNamePrefix(uint64 jobId, int32 taskId); static char * PartitionResultNamePrefix(uint64 jobId, int32 taskId);
static char * PartitionResultName(uint64 jobId, uint32 taskId, uint32 partitionId); static char * PartitionResultName(uint64 jobId, uint32 taskId, uint32 partitionId);
static ShardInterval ** RangeIntervalArrayWithNullBucket(ShardInterval **intervalArray, static ShardInterval ** RangeIntervalArrayWithNullBucket(ShardInterval **intervalArray,
@ -4177,8 +4177,8 @@ FragmentAlias(RangeTblEntry *rangeTableEntry, RangeTableFragment *fragment)
List *resultNameList = FetchTaskResultNameList(mapOutputFetchTaskList); List *resultNameList = FetchTaskResultNameList(mapOutputFetchTaskList);
List *mapJobTargetList = mergeTask->mapJobTargetList; List *mapJobTargetList = mergeTask->mapJobTargetList;
/* TODO: determine binary safety automatically */ /* determine whether all types have binary input/output functions */
bool useBinaryFormat = BinaryWorkerCopyFormat; bool useBinaryFormat = CanUseBinaryCopyFormatForTargetList(mapJobTargetList);
/* generate the query on the intermediate result */ /* generate the query on the intermediate result */
Query *fragmentSetQuery = BuildReadIntermediateResultsArrayQuery(mapJobTargetList, Query *fragmentSetQuery = BuildReadIntermediateResultsArrayQuery(mapJobTargetList,
@ -4347,11 +4347,15 @@ MapTaskList(MapMergeJob *mapMergeJob, List *filterTaskList)
filterQuery->targetList); filterQuery->targetList);
} }
/* determine whether all types have binary input/output functions */
bool useBinaryFormat = CanUseBinaryCopyFormatForTargetList(filterQuery->targetList);
foreach(filterTaskCell, filterTaskList) foreach(filterTaskCell, filterTaskList)
{ {
Task *filterTask = (Task *) lfirst(filterTaskCell); Task *filterTask = (Task *) lfirst(filterTaskCell);
StringInfo mapQueryString = CreateMapQueryString(mapMergeJob, filterTask, StringInfo mapQueryString = CreateMapQueryString(mapMergeJob, filterTask,
partitionColumnResNo); partitionColumnResNo,
useBinaryFormat);
/* convert filter query task into map task */ /* convert filter query task into map task */
Task *mapTask = filterTask; Task *mapTask = filterTask;
@ -4398,7 +4402,7 @@ PartitionColumnIndex(Var *targetVar, List *targetList)
*/ */
static StringInfo static StringInfo
CreateMapQueryString(MapMergeJob *mapMergeJob, Task *filterTask, CreateMapQueryString(MapMergeJob *mapMergeJob, Task *filterTask,
uint32 partitionColumnIndex) uint32 partitionColumnIndex, bool useBinaryFormat)
{ {
uint64 jobId = filterTask->jobId; uint64 jobId = filterTask->jobId;
uint32 taskId = filterTask->taskId; uint32 taskId = filterTask->taskId;
@ -4449,9 +4453,6 @@ CreateMapQueryString(MapMergeJob *mapMergeJob, Task *filterTask,
char *partitionMethodString = partitionType == RANGE_PARTITION_TYPE ? char *partitionMethodString = partitionType == RANGE_PARTITION_TYPE ?
"range" : "hash"; "range" : "hash";
/* TODO: determine binary safety automatically */
bool useBinaryFormat = BinaryWorkerCopyFormat;
/* /*
* Non-partition columns can easily contain NULL values, so we allow NULL * Non-partition columns can easily contain NULL values, so we allow NULL
* values in the column by which we re-partition. They will end up in the * values in the column by which we re-partition. They will end up in the

View File

@ -603,7 +603,7 @@ RegisterCitusConfigVariables(void)
false, false,
#endif #endif
PGC_SIGHUP, PGC_SIGHUP,
GUC_STANDARD, GUC_NO_SHOW_ALL,
NULL, NULL, NULL); NULL, NULL, NULL);
DefineCustomBoolVariable( DefineCustomBoolVariable(