On Wed, Jul 28, 2010 at 6:55 AM, Dimitri Fontaine <dfonta...@hi-media.com> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> But here you want to have different paths for >> the same relation that generate *different output*, and the planner >> doesn't understand that concept. > > Sorry? I though what Equivalence Class provides is the "proving" that > using this qualification or another will *not* affect the output.
In a query like... SELECT d1.ID, d2.ID FROM DocPrimary d1 JOIN DocPrimary d2 ON d2.BasedOn=d1.ID WHERE (d1.ID=234409763) or (d2.ID=234409763) ...you're going to scan d1, scan d2, and then join the results. The scan of d1 is going to produce different results depending on whether you evaluate or not d1.ID=234409763, and the scan of d2 is going to produce different results depending on whether or not you evaluate d2.BasedOn=234409763. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers