"Carlo Stonebanks" <stonec.register@xxxxxxxxxxxx> wrote: > SELECT * > FROM MyTable > WHERE foo = 'bar' AND MySlowFunc('foo') = 'bar' > > Let's say this required a SEQSCAN because there were no indexes to > support column foo. For every row where foo <> 'bar' would the > filter on the SEQSCAN short-circuit the AND return false right > away, or would it still execute MySlowFunc('foo') ? For that example, I'm pretty sure it will skip the slow function for rows which fail the first test. A quick test confirmed that for me. If you create a sufficiently slow function, you shouldn't have much trouble testing that yourself. :-) -Kevin -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance