diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 4645ecb804fa0fd4e78fd14f3436ba5b7a8e333c..61dbc75036c1678d008d07e1051b501563ab26f3 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -439,8 +439,8 @@ _outGather(StringInfo str, const Gather *node) _outPlanInfo(str, (const Plan *) node); - WRITE_UINT_FIELD(num_workers); - WRITE_UINT_FIELD(single_copy); + WRITE_INT_FIELD(num_workers); + WRITE_BOOL_FIELD(single_copy); } static void diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index 72368ab981d98bdc061ee64606e894275d2fe779..2777cbb9c08e64c5b6a285bc4dfda551a1b1ce06 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -1998,6 +1998,22 @@ _readUnique(void) READ_DONE(); } +/* + * _readGather + */ +static Gather * +_readGather(void) +{ + READ_LOCALS(Gather); + + ReadCommonPlan(&local_node->plan); + + READ_INT_FIELD(num_workers); + READ_BOOL_FIELD(single_copy); + + READ_DONE(); +} + /* * _readHash */ @@ -2365,6 +2381,8 @@ parseNodeString(void) return_value = _readWindowAgg(); else if (MATCH("UNIQUE", 6)) return_value = _readUnique(); + else if (MATCH("GATHER", 6)) + return_value = _readGather(); else if (MATCH("HASH", 4)) return_value = _readHash(); else if (MATCH("SETOP", 5))