From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Don't generate parallel paths for rels with parallel-restricted |
Date: | 2016-06-09 16:43:49 |
Message-ID: | E1bB33d-0003Gv-VZ@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Don't generate parallel paths for rels with parallel-restricted outputs.
Such paths are unsafe. To make it cheaper to detect when this case
applies, track whether a relation's default PathTarget contains any
non-Vars. In most cases, the answer will be no, which enables us to
determine cheaply that the target list for a proposed path is
parallel-safe. However, subquery pull-up can create cases that
require us to inspect the target list more carefully.
Amit Kapila, reviewed by me.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/b12fd41c695b43c76b0a9a4d19ba43b05536440c
Modified Files
--------------
src/backend/nodes/outfuncs.c | 1 +
src/backend/optimizer/path/allpaths.c | 10 ++++++++++
src/backend/optimizer/util/placeholder.c | 2 ++
src/backend/optimizer/util/relnode.c | 10 +++++++---
src/include/nodes/relation.h | 2 ++
5 files changed, 22 insertions(+), 3 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-06-09 17:02:09 | Re: pgsql: Don't generate parallel paths for rels with parallel-restricted |
Previous Message | Robert Haas | 2016-06-09 16:16:29 | pgsql: Yet again update typedefs.list file in preparation for pgindent |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2016-06-09 16:44:47 | Re: [sqlsmith] Failed assertion in parallel worker (ExecInitSubPlan) |
Previous Message | Andres Freund | 2016-06-09 16:18:23 | Re: Reviewing freeze map code |