Prevent generation of bogus subquery scan paths.
Commit 0927d2f46ddd4cf7d6bf2cc84b3be923e0aedc52 didn't check that
consider_parallel was set for the target relation or account for
the possibility that required_outer might be non-empty.
To prevent future bugs of this ilk, add some assertions to
add_partial_path and do a bit of future-proofing of the code
recently added to recurse_set_operations.
Report by Andreas Seltenreich. Patch by Jeevan Chalke. Review
by Amit Kapila and by me.
Discussion: http://postgr.es/m/CAM2+6=U+9otsyF2fYB8x_2TBeHTR90itarqW=qAEjN-kHaC7kw@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/dc1057fcd878d5c062c5c4c2b548af2be513b6ab
Modified Files
--------------
src/backend/optimizer/path/allpaths.c | 41 +++++++++++++++------------
src/backend/optimizer/prep/prepunion.c | 3 +-
src/backend/optimizer/util/pathnode.c | 6 ++++
src/test/regress/expected/select_parallel.out | 19 +++++++++++++
src/test/regress/sql/select_parallel.sql | 6 ++++
5 files changed, 56 insertions(+), 19 deletions(-)