]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Check parallel safety in generate_useful_gather_paths
authorTomas Vondra <tomas.vondra@postgresql.org>
Mon, 21 Dec 2020 17:29:46 +0000 (18:29 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Mon, 21 Dec 2020 17:42:58 +0000 (18:42 +0100)
commitbe9c3cd186ba86b9bc3df7ecc64b81ce4726810d
tree1db8f5cfe29de9e55581bb828af88b8ee67a2d2d
parentea190ed14b4b75b38a490707d5d08231dcacfb8c
Check parallel safety in generate_useful_gather_paths

Commit ebb7ae839d ensured we ignore pathkeys with volatile expressions
when considering adding a sort below a Gather Merge. Turns out we need
to care about parallel safety of the pathkeys too, otherwise we might
try sorting e.g. on results of a correlated subquery (as demonstrated
by a report from Luis Roberto).

Initial investigation by Tom Lane, patch by James Coleman. Backpatch
to 13, where the code was instroduced (as part of Incremental Sort).

Reported-by: Luis Roberto
Author: James Coleman
Reviewed-by: Tomas Vondra
Backpatch-through: 13
Discussion: https://postgr.es/m/622580997.37108180.1604080457319.JavaMail.zimbra%40siscobra.com.br
Discussion: https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/equivclass.c
src/include/optimizer/paths.h
src/test/regress/expected/incremental_sort.out
src/test/regress/sql/incremental_sort.sql