From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org |
Subject: | Re: pgsql: Further fixes for degenerate outer join clauses. |
Date: | 2015-08-12 19:18:02 |
Message-ID: | 55CB9BEA.4030103@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
On 08/06/2015 03:36 PM, Tom Lane wrote:
> Further fixes for degenerate outer join clauses.
>
> Further testing revealed that commit f69b4b9495269cc4 was still a few
> bricks shy of a load: minor tweaking of the previous test cases resulted
> in the same wrong-outer-join-order problem coming back. After study
> I concluded that my previous changes in make_outerjoininfo() were just
> accidentally masking the problem, and should be reverted in favor of
> forcing syntactic join order whenever an upper outer join's predicate
> doesn't mention a lower outer join's LHS. This still allows the
> chained-outer-joins style that is the normally optimizable case.
>
> I also tightened things up some more in join_is_legal(). It seems to me
> on review that what's really happening in the exception case where we
> ignore a mismatched special join is that we're allowing the proposed join
> to associate into the RHS of the outer join we're comparing it to. As
> such, we should *always* insist that the proposed join be a left join,
> which eliminates a bunch of rather dubious argumentation. The case where
> we weren't enforcing that was the one that was already known buggy anyway
> (it had a violatable Assert before the aforesaid commit) so it hardly
> deserves a lot of deference.
>
> Back-patch to all active branches, like the previous patch. The added
> regression test case failed in all branches back to 9.1, and I think it's
> only an unrelated change in costing calculations that kept 9.0 from
> choosing a broken plan.
Looks like this might have upset brolga on 9.0 and 9.1 - it's coming up
with a different plan from what's expected.
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2015-08-12 22:41:11 | Re: pgsql: Further fixes for degenerate outer join clauses. |
Previous Message | Alvaro Herrera | 2015-08-12 19:08:08 | Re: [COMMITTERS] pgsql: Close some holes in BRIN page assignment |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2015-08-12 19:45:28 | Re: Warnings around booleans |
Previous Message | Alvaro Herrera | 2015-08-12 19:08:08 | Re: [COMMITTERS] pgsql: Close some holes in BRIN page assignment |