pgsql: Fix incorrect is-this-the-topmost-join tests in parallel plannin

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix incorrect is-this-the-topmost-join tests in parallel plannin
Date: 2022-07-30 17:05:21
Message-ID: E1oHptw-001xMV-Ae@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix incorrect is-this-the-topmost-join tests in parallel planning.

Two callers of generate_useful_gather_paths were testing the wrong
thing when deciding whether to call that function: they checked for
being at the top of the current join subproblem, rather than being at
the actual top join. This'd result in failing to construct parallel
paths for a sub-join for which they might be useful.

While set_rel_pathlist() isn't actively broken, it seems best to
make its identical-in-intention test for this be like the other two.

This has been wrong all along, but given the lack of field complaints
I'm hesitant to back-patch into stable branches; we usually prefer
to avoid non-bug-fix changes in plan choices in minor releases.
It seems not too late for v15 though.

Richard Guo, reviewed by Antonin Houska and Tom Lane

Discussion: https://postgr.es/m/CAMbWs4-mH8Zf87-w+3P2J=nJB+5OyicO28ia9q_9o=Lamf_VHg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d8e34fa7a18fab4aa8eb010edac133d63ecc11c6

Modified Files
--------------
src/backend/optimizer/geqo/geqo_eval.c | 2 +-
src/backend/optimizer/path/allpaths.c | 9 ++++-----
2 files changed, 5 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2022-07-30 19:33:50 pgsql: Add regression test coverage for contrib/pg_buffercache.
Previous Message Tom Lane 2022-07-30 15:17:13 pgsql: Adjust new pg_read_file() test cases for more portability.