Thread: pgsql: Prevent generation of bogus subquery scan paths.

pgsql: Prevent generation of bogus subquery scan paths.

From
Robert Haas
Date:
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(-)