mirror of https://github.com/citusdata/citus.git
Stop using citus.binary_worker_copy_format
parent
5ac0d31e8b
commit
3cd9aa655a
|
@ -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
|
||||||
|
|
|
@ -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(
|
||||||
|
|
Loading…
Reference in New Issue