Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> writes:
> You also did an optimization, removing the subquery which PostgreSQL
I suspect the real issue is that the implied join order is not the same.
The view-based query is really
a LEFT JOIN (b LEFT JOIN c LEFT JOIN d LEFT JOIN e)
while the allegedly equivalent hand expansion is
a LEFT JOIN b LEFT JOIN c LEFT JOIN d LEFT JOIN e
and since JOIN associates left-to-right, this is not the same thing at
all. I'm not even convinced that it gives the same end result ...
INNER JOIN is associative but LEFT JOIN is not.
regards, tom lane
In response to
pgsql-bugs by date
|Next:||From: Tom Lane||Date: 2004-07-17 04:24:24|
|Subject: Re: Replace function BUG |
|Previous:||From: Nishad Prakash||Date: 2004-07-16 23:22:21|
|Subject: Cannot recreate DB scheme using pg_dump|