Bob Price <rjp_em...@yahoo.com> writes:
> If I set the COST of expensivefunc high, and label it IMMUTABLE, will the 
> query executor note that the two invocations to expensivefunc have the same 
> inputs so it can only call it once and re-use the result the second time?

No.  There is a myth prevalent among certain wishful thinkers that
IMMUTABLE does something like that, but it doesn't.  IMMUTABLE only
licenses the planner to fold a call *with constant arguments* into a
constant result, by executing the function once before the query
actually starts.  Textually distinct calls of a function are not folded
together in any case.

                        regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to