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 |
||
---|---|---|
.. | ||
data | ||
expected | ||
input | ||
output | ||
sql | ||
.gitignore | ||
GNUmakefile | ||
Makefile | ||
README | ||
parallel_schedule | ||
pg_regress.c | ||
pg_regress.h | ||
pg_regress_main.c | ||
regress.c | ||
regressplans.sh | ||
resultmap | ||
serial_schedule | ||
standby_schedule |
README
Documentation concerning how to run these regression tests and interpret the results can be found in the PostgreSQL manual, in the chapter "Regression Tests".