Re: Pushdown target list below gather node (WAS Re: WIP: Upper planner pathification) - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Pushdown target list below gather node (WAS Re: WIP: Upper planner pathification)
Date
Msg-id CA+Tgmob4-694CoXmf14pXfwi9cApB0FS23k=xe1dooXq14imew@mail.gmail.com
Whole thread Raw
In response to Re: Pushdown target list below gather node (WAS Re: WIP: Upper planner pathification)  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Pushdown target list below gather node (WAS Re: WIP: Upper planner pathification)
List pgsql-hackers
On Wed, Mar 16, 2016 at 2:02 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Wed, Mar 16, 2016 at 12:57 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> Yeah, I was thinking about the same thing.  The comment block above
>>> where you're looking would need some adjustment.
>
>> OK, how about this?
>
> Looks pretty close.  One point is that if we do end up using a Result
> node, then the parent GatherPath does not get charged for the Result
> node's cpu_per_tuple overhead.  I'm not sure that that's worth changing
> though.  It's probably better to bet that the subpath is projectable and
> so no cost will ensue, than to bet the other way.

I'm almost sure this way is the better bet.  I actually think at
present the GatherPath is always on top of a scan or join, and those
all project.  There might be other cases in the future that don't, but
I think it'd be fine to leave off worrying about this until we (a)
find a case where it happens and (b) failing to charge for the Result
causes a problem.  The current situation of never projecting in the
workers is far worse.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: fd.c doesn't remove files on a crash-restart
Next
From: "Joshua D. Drake"
Date:
Subject: Re: fd.c doesn't remove files on a crash-restart