Commit 32bb4535 authored by Jeff Davis's avatar Jeff Davis

Fix commit c11cb17d.

I neglected to update copyfuncs/outfuncs/readfuncs.

Discussion: https://postgr.es/m/12491.1582833409%40sss.pgh.pa.us
parent 963ea55c
...@@ -988,6 +988,7 @@ _copyAgg(const Agg *from) ...@@ -988,6 +988,7 @@ _copyAgg(const Agg *from)
COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid)); COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid));
} }
COPY_SCALAR_FIELD(numGroups); COPY_SCALAR_FIELD(numGroups);
COPY_SCALAR_FIELD(transitionSpace);
COPY_BITMAPSET_FIELD(aggParams); COPY_BITMAPSET_FIELD(aggParams);
COPY_NODE_FIELD(groupingSets); COPY_NODE_FIELD(groupingSets);
COPY_NODE_FIELD(chain); COPY_NODE_FIELD(chain);
......
...@@ -783,6 +783,7 @@ _outAgg(StringInfo str, const Agg *node) ...@@ -783,6 +783,7 @@ _outAgg(StringInfo str, const Agg *node)
WRITE_OID_ARRAY(grpOperators, node->numCols); WRITE_OID_ARRAY(grpOperators, node->numCols);
WRITE_OID_ARRAY(grpCollations, node->numCols); WRITE_OID_ARRAY(grpCollations, node->numCols);
WRITE_LONG_FIELD(numGroups); WRITE_LONG_FIELD(numGroups);
WRITE_UINT64_FIELD(transitionSpace);
WRITE_BITMAPSET_FIELD(aggParams); WRITE_BITMAPSET_FIELD(aggParams);
WRITE_NODE_FIELD(groupingSets); WRITE_NODE_FIELD(groupingSets);
WRITE_NODE_FIELD(chain); WRITE_NODE_FIELD(chain);
...@@ -1976,6 +1977,7 @@ _outAggPath(StringInfo str, const AggPath *node) ...@@ -1976,6 +1977,7 @@ _outAggPath(StringInfo str, const AggPath *node)
WRITE_ENUM_FIELD(aggstrategy, AggStrategy); WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
WRITE_ENUM_FIELD(aggsplit, AggSplit); WRITE_ENUM_FIELD(aggsplit, AggSplit);
WRITE_FLOAT_FIELD(numGroups, "%.0f"); WRITE_FLOAT_FIELD(numGroups, "%.0f");
WRITE_UINT64_FIELD(transitionSpace);
WRITE_NODE_FIELD(groupClause); WRITE_NODE_FIELD(groupClause);
WRITE_NODE_FIELD(qual); WRITE_NODE_FIELD(qual);
} }
...@@ -2013,6 +2015,7 @@ _outGroupingSetsPath(StringInfo str, const GroupingSetsPath *node) ...@@ -2013,6 +2015,7 @@ _outGroupingSetsPath(StringInfo str, const GroupingSetsPath *node)
WRITE_ENUM_FIELD(aggstrategy, AggStrategy); WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
WRITE_NODE_FIELD(rollups); WRITE_NODE_FIELD(rollups);
WRITE_NODE_FIELD(qual); WRITE_NODE_FIELD(qual);
WRITE_UINT64_FIELD(transitionSpace);
} }
static void static void
......
...@@ -2203,6 +2203,7 @@ _readAgg(void) ...@@ -2203,6 +2203,7 @@ _readAgg(void)
READ_OID_ARRAY(grpOperators, local_node->numCols); READ_OID_ARRAY(grpOperators, local_node->numCols);
READ_OID_ARRAY(grpCollations, local_node->numCols); READ_OID_ARRAY(grpCollations, local_node->numCols);
READ_LONG_FIELD(numGroups); READ_LONG_FIELD(numGroups);
READ_UINT64_FIELD(transitionSpace);
READ_BITMAPSET_FIELD(aggParams); READ_BITMAPSET_FIELD(aggParams);
READ_NODE_FIELD(groupingSets); READ_NODE_FIELD(groupingSets);
READ_NODE_FIELD(chain); READ_NODE_FIELD(chain);
......
...@@ -1663,7 +1663,7 @@ typedef struct AggPath ...@@ -1663,7 +1663,7 @@ typedef struct AggPath
AggStrategy aggstrategy; /* basic strategy, see nodes.h */ AggStrategy aggstrategy; /* basic strategy, see nodes.h */
AggSplit aggsplit; /* agg-splitting mode, see nodes.h */ AggSplit aggsplit; /* agg-splitting mode, see nodes.h */
double numGroups; /* estimated number of groups in input */ 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 *groupClause; /* a list of SortGroupClause's */
List *qual; /* quals (HAVING quals), if any */ List *qual; /* quals (HAVING quals), if any */
} AggPath; } AggPath;
...@@ -1701,7 +1701,7 @@ typedef struct GroupingSetsPath ...@@ -1701,7 +1701,7 @@ typedef struct GroupingSetsPath
AggStrategy aggstrategy; /* basic strategy */ AggStrategy aggstrategy; /* basic strategy */
List *rollups; /* list of RollupData */ List *rollups; /* list of RollupData */
List *qual; /* quals (HAVING quals), if any */ List *qual; /* quals (HAVING quals), if any */
Size transitionSpace; /* for pass-by-ref transition data */ uint64 transitionSpace; /* for pass-by-ref transition data */
} GroupingSetsPath; } GroupingSetsPath;
/* /*
......
...@@ -813,7 +813,7 @@ typedef struct Agg ...@@ -813,7 +813,7 @@ typedef struct Agg
Oid *grpOperators; /* equality operators to compare with */ Oid *grpOperators; /* equality operators to compare with */
Oid *grpCollations; Oid *grpCollations;
long numGroups; /* estimated number of groups in input */ 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 */ Bitmapset *aggParams; /* IDs of Params used in Aggref inputs */
/* Note: planner provides numGroups & aggParams only in HASHED/MIXED case */ /* Note: planner provides numGroups & aggParams only in HASHED/MIXED case */
List *groupingSets; /* grouping sets to use */ List *groupingSets; /* grouping sets to use */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment