summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2016-03-29 15:21:57 -0400
committerRobert Haas <rhaas@postgresql.org>2016-03-29 15:21:57 -0400
commit96f8373cad5d6066baeb7a1c5a88f6f5c9661974 (patch)
treeac44f97029e26ad4c2f5e0846e06f32f139d07ab /src
parent5fe5a2cee91117673e04617aeb1a38e305dcd783 (diff)
Fix bug in aggregate (de)serialization commit.
resulttypeLen and resulttypeByVal must be set correctly when serializing aggregates, not just when finalizing them. This was in David's final patch but I downloaded the wrong version by mistake and failed to spot the error. David Rowley
Diffstat (limited to 'src')
-rw-r--r--src/backend/executor/nodeAgg.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index aba54195a30..614b26b8e3c 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -2862,11 +2862,10 @@ ExecInitAgg(Agg *node, EState *estate, int eflags)
fmgr_info_set_expr((Node *) finalfnexpr, &peragg->finalfn);
}
- /* when finalizing we get info about the final result's datatype */
- if (aggstate->finalizeAggs)
- get_typlenbyval(aggref->aggtype,
- &peragg->resulttypeLen,
- &peragg->resulttypeByVal);
+ /* get info about the output value's datatype */
+ get_typlenbyval(aggref->aggoutputtype,
+ &peragg->resulttypeLen,
+ &peragg->resulttypeByVal);
/*
* initval is potentially null, so don't try to access it as a struct