mlw <markw@mohawksoft.com> writes:
> Am I out in left field here? Does anyone see this as a problem? I guess there
> should be three states to the lifetime of a functions return value?
There has been some talk of that, but nailing down exactly what the
semantics ought to be still needs more thought.
As far as optimizing indexscans goes, the correct intermediate concept
would be something like "result is fixed within any one scan", not any
one transaction. You wouldn't really want to find that
begin;select * from foo where x = functhatreadsbar();update bar ...;select * from foo where x =
functhatreadsbar();end;
does not give you the desired results.
regards, tom lane