pgsql: Try again to fix the way the scanjoin_target is used with partia

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Try again to fix the way the scanjoin_target is used with partia
Date: 2016-06-17 20:30:19
Message-ID: E1bE0PD-0000l2-OE@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Try again to fix the way the scanjoin_target is used with partial paths.

Commit 04ae11f62e643e07c411c4935ea6af46cb112aa9 removed some broken
code to apply the scan/join target to partial paths, but its theory
that this processing step is totally unnecessary turns out to be wrong.
Put similar code back again, but this time, check for parallel-safety
and avoid in-place modifications to paths that may already have been
used as part of some other path.

(This is not an entirely elegant solution to this problem; it might
be better, for example, to postpone generate_gather_paths for the
topmost scan/join rel until after the scan/join target has been
applied. But this is not the time for such redesign work.)

Amit Kapila and Robert Haas

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/54f5c5150fa05d7ad15f8406debd5a2b394885b5

Modified Files
--------------
src/backend/optimizer/plan/planagg.c | 3 +-
src/backend/optimizer/plan/planner.c | 81 ++++++++++++++++++++++++++-
src/backend/optimizer/prep/prepunion.c | 6 +-
src/backend/optimizer/util/pathnode.c | 7 ++-
src/include/optimizer/pathnode.h | 3 +-
src/test/regress/expected/select_parallel.out | 32 +++++++++++
src/test/regress/sql/select_parallel.sql | 11 ++++
7 files changed, 133 insertions(+), 10 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2016-06-17 21:53:08 pgsql: pg_visibility: Add pg_truncate_visibility_map function.
Previous Message Robert Haas 2016-06-17 19:53:11 pgsql: Add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies.

Browse pgsql-hackers by date

  From Date Subject
Next Message Aleksey Demakov 2016-06-17 21:06:33 Re: Experimental dynamic memory allocation of postgresql shared memory
Previous Message Alvaro Herrera 2016-06-17 19:53:19 Re: Parallelized polymorphic aggs, and aggtype vs aggoutputtype