postgresql/src
Heikki Linnakangas db80acfc9d 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
2016-12-20 09:20:17 +02:00
..
backend Fix sharing Agg transition state of DISTINCT or ordered aggs. 2016-12-20 09:20:17 +02:00
bin Add missing newline in message 2016-12-15 16:45:31 +01:00
common Rename "pg_xlog" directory to "pg_wal". 2016-10-20 11:32:18 -04:00
fe_utils Restore psql's SIGPIPE setting if popen() fails. 2016-12-07 12:39:24 -05:00
include Invalid parent's relcache after CREATE TABLE .. PARTITION OF. 2016-12-19 22:53:30 -05:00
interfaces Use "%option prefix" to set API names in ecpg's lexer. 2016-12-11 14:54:25 -05:00
makefiles Provide NO_INSTALLCHECK option for pgxs. 2016-11-14 14:53:07 -08:00
pl Improve handling of array elements as getdiag_targets and cursor_variables. 2016-12-13 16:33:03 -05:00
port Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
template Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
test Fix sharing Agg transition state of DISTINCT or ordered aggs. 2016-12-20 09:20:17 +02:00
timezone Sync our copy of the timezone library with IANA release tzcode2016j. 2016-12-15 14:32:42 -05:00
tools MSVC: Position MSBFLAGS after flags it might override. 2016-12-18 18:12:23 -05:00
tutorial Update copyright for 2016 2016-01-02 13:33:40 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Install TAP test infrastructure so it's available for extension testing. 2016-09-23 15:50:00 -04:00
Makefile.global.in Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
Makefile.shlib Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00