From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: WIP: Upper planner pathification |
Date: | 2016-03-12 17:22:01 |
Message-ID: | 28726.1457803321@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andres Freund <andres(at)anarazel(dot)de> writes:
> On 2016-03-10 23:38:14 -0500, Tom Lane wrote:
>> I'll do it ... just send me the list.
> After exporting make_agg, make_limit, make_sort_from_sortclauses and
> making some trivial adjustments due to the pull_var_clause changes
> change, Citus' tests pass on 9.6, bar some noise.
OK, done.
> Pathification made
> some plans switch from hash-agg to sort-agg, and the other way round;
> but that's obviously ok.
I wonder whether that's pathification per se. Of the three core
regression test EXPLAINs that changed in the pathification commit,
two actually were a case of finding better plans. The other one
was a random-looking swap between two plans with near-identical
costs. When I looked into it, I found that the reason the planner
liked the new plan better was that it was parallel-safe; add_path()
saw the costs as fuzzily equal and allowed parallel-safe to be the
determining factor in the choice. The old code hadn't done that
because the hard-wired cost comparisons in grouping_planner() never
took parallel-safety into account. But I'd call that a parallelism
change, not a pathification change; it would certainly have appeared
to be that if the patches had gone in in the opposite order.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-03-12 17:32:31 | Re: Performance improvement for joins where outer side is unique |
Previous Message | Robert Haas | 2016-03-12 17:21:57 | Re: eXtensible Transaction Manager API (v2) |