From 32bb4535a0be892f4a2794a26ba429032f4ae51e Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Fri, 28 Feb 2020 09:32:35 -0800 Subject: [PATCH] Fix commit c11cb17d. I neglected to update copyfuncs/outfuncs/readfuncs. Discussion: https://postgr.es/m/12491.1582833409%40sss.pgh.pa.us --- src/backend/nodes/copyfuncs.c | 1 + src/backend/nodes/outfuncs.c | 3 +++ src/backend/nodes/readfuncs.c | 1 + src/include/nodes/pathnodes.h | 4 ++-- src/include/nodes/plannodes.h | 2 +- 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 54ad62bb7f9..e04c33e4ad7 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -988,6 +988,7 @@ _copyAgg(const Agg *from) COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid)); } COPY_SCALAR_FIELD(numGroups); + COPY_SCALAR_FIELD(transitionSpace); COPY_BITMAPSET_FIELD(aggParams); COPY_NODE_FIELD(groupingSets); COPY_NODE_FIELD(chain); diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index d76fae44b80..e084c3f0699 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -783,6 +783,7 @@ _outAgg(StringInfo str, const Agg *node) WRITE_OID_ARRAY(grpOperators, node->numCols); WRITE_OID_ARRAY(grpCollations, node->numCols); WRITE_LONG_FIELD(numGroups); + WRITE_UINT64_FIELD(transitionSpace); WRITE_BITMAPSET_FIELD(aggParams); WRITE_NODE_FIELD(groupingSets); WRITE_NODE_FIELD(chain); @@ -1976,6 +1977,7 @@ _outAggPath(StringInfo str, const AggPath *node) WRITE_ENUM_FIELD(aggstrategy, AggStrategy); WRITE_ENUM_FIELD(aggsplit, AggSplit); WRITE_FLOAT_FIELD(numGroups, "%.0f"); + WRITE_UINT64_FIELD(transitionSpace); WRITE_NODE_FIELD(groupClause); WRITE_NODE_FIELD(qual); } @@ -2013,6 +2015,7 @@ _outGroupingSetsPath(StringInfo str, const GroupingSetsPath *node) WRITE_ENUM_FIELD(aggstrategy, AggStrategy); WRITE_NODE_FIELD(rollups); WRITE_NODE_FIELD(qual); + WRITE_UINT64_FIELD(transitionSpace); } static void diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index 551ce6c41c9..d5b23a34794 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -2203,6 +2203,7 @@ _readAgg(void) READ_OID_ARRAY(grpOperators, local_node->numCols); READ_OID_ARRAY(grpCollations, local_node->numCols); READ_LONG_FIELD(numGroups); + READ_UINT64_FIELD(transitionSpace); READ_BITMAPSET_FIELD(aggParams); READ_NODE_FIELD(groupingSets); READ_NODE_FIELD(chain); diff --git a/src/include/nodes/pathnodes.h b/src/include/nodes/pathnodes.h index a580c94e32c..0ceb8096442 100644 --- a/src/include/nodes/pathnodes.h +++ b/src/include/nodes/pathnodes.h @@ -1663,7 +1663,7 @@ typedef struct AggPath AggStrategy aggstrategy; /* basic strategy, see nodes.h */ AggSplit aggsplit; /* agg-splitting mode, see nodes.h */ double numGroups; /* estimated number of groups in input */ - Size transitionSpace; /* for pass-by-ref transition data */ + uint64 transitionSpace; /* for pass-by-ref transition data */ List *groupClause; /* a list of SortGroupClause's */ List *qual; /* quals (HAVING quals), if any */ } AggPath; @@ -1701,7 +1701,7 @@ typedef struct GroupingSetsPath AggStrategy aggstrategy; /* basic strategy */ List *rollups; /* list of RollupData */ List *qual; /* quals (HAVING quals), if any */ - Size transitionSpace; /* for pass-by-ref transition data */ + uint64 transitionSpace; /* for pass-by-ref transition data */ } GroupingSetsPath; /* diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 99835ae2e4c..4869fe7b6d6 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -813,7 +813,7 @@ typedef struct Agg Oid *grpOperators; /* equality operators to compare with */ Oid *grpCollations; long numGroups; /* estimated number of groups in input */ - Size transitionSpace; /* for pass-by-ref transition data */ + uint64 transitionSpace; /* for pass-by-ref transition data */ Bitmapset *aggParams; /* IDs of Params used in Aggref inputs */ /* Note: planner provides numGroups & aggParams only in HASHED/MIXED case */ List *groupingSets; /* grouping sets to use */