Re: execution plan is wrong, or the query ? - Mailing list pgsql-general

From Alex Burkoff
Subject Re: execution plan is wrong, or the query ?
Date
Msg-id E3E0FC08A807464C8DF38036F52A78FA035E5D1F@mbx4.jiveland.com
Whole thread Raw
In response to Re: execution plan is wrong, or the query ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Upgrade to 9.2.2 totally fixed the issue. Thanks again!

________________________________________
From: Tom Lane [tgl@sss.pgh.pa.us]
Sent: Tuesday, December 11, 2012 9:10 AM
To: Alex Burkoff
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] execution plan is wrong, or the query ?

Alex Burkoff <alex.burkoff@jivesoftware.com> writes:
> I think I am just looking for an opinion on fundamentals. Can WHERE clause impact an OUTER JOIN ?

Sure.  I noticed for instance that your query had some outer joins that
were simplified to plain joins as a result of strict WHERE clauses above
them.  That's not incorrect.

> What I am seeing is that on 9.2 rows from the joined table are restricted prior to joining them with the rest
> of the tables, and that leads to incorrect results. I have noticed such behaviour only when CASE is used
> in the WHERE clause - straight text comparison does produce correct results.

Oh?  Hm, I wonder whether you are needing this fix:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=72a4231f0c80f213a4fa75356dc3c6b7c7419059
Although that bug exists in some form back to 7.4, 9.2 had a more
obvious form of the disease, which is what led to its diagnosis.
If you're not running 9.2.2, give that a try and see if it's better.

                        regards, tom lane


pgsql-general by date:

Previous
From: Alejandro Carrillo
Date:
Subject: Read recover rows
Next
From: Adrian Klaver
Date:
Subject: Re: Read recover rows