[COMMITTERS] pgsql: Fix sharing Agg transition state of DISTINCT or ordered aggs. - Mailing list pgsql-committers

From Heikki Linnakangas
Subject [COMMITTERS] pgsql: Fix sharing Agg transition state of DISTINCT or ordered aggs.
Date
Msg-id E1cJEly-0006Rs-3G@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix sharing Agg transition state of DISTINCT or ordered aggs.

If a query contained two aggregates that could share the transition value,
we would correctly collect the input into a tuplesort only once, but
incorrectly run the transition function over the accumulated input twice,
in finalize_aggregates(). That caused a crash, when we tried to call
tuplesort_performsort() on an already-freed NULL tuplestore.

Backport to 9.6, where sharing of transition state and this bug were
introduced.

Analysis by Tom Lane.

Discussion: https://www.postgresql.org/message-id/ac5b0b69-744c-9114-6218-8300ac920e61@iki.fi

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/db80acfc9d50ac56811d22802ab3d822ab313055

Modified Files
--------------
src/backend/executor/nodeAgg.c           | 21 ++++++++++++++++++---
src/test/regress/expected/aggregates.out |  9 +++++++++
src/test/regress/sql/aggregates.sql      |  3 +++
3 files changed, 30 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: [COMMITTERS] pgsql: Invalid parent's relcache after CREATE TABLE .. PARTITION OF.
Next
From: Peter Eisentraut
Date:
Subject: [COMMITTERS] pgsql: Add pg_sequence system catalog