Understood. Thank you!
________________________________________
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