I just had a look at EXPLAIN ANALYSE output for an SQL function I'm trying to write. The WHERE clause wasn't too complex, but the explain output took up a dozen lines.
Boiling the problem down, I've looked at a clause of the form: a OR (b AND c) which PG converts to: (a OR b) AND (a OR c) Now these two are equivalent, but it would take me forever to demonstrate that with the full query. I'm happy the planner is going to get it right, but I'm confused as to why the transformation occurs. Is it an artefact of displaying the EXPLAIN, or is it actually processed that way? You could see how testing "a" twice could be expensive in some situations. Oh, btw - 7.3.2 on this box, I'll be looking at 7.3.3/4 later today. -- Richard Huxton Archonet Ltd ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings