> I think you're overly pessimistic here ;-) This classification can be done quite
> efficiently as long as your language is "static enough". The trick is not to
> execute the function, but to scan the code to find all other functions and SQL
> statements a given function may possibly call. If your function calls no SQL
> statements, and only other functions already marked IMMUTABLE, then it must be
> IMMUTABLE itself.
OK, I have a "black-box" mindset right now due to the problem I'm
currently working on, so I didn't even think about checking the source
code of the function (which is the right thing to do if you have the
source code)... in which case you're right, I was overly pessimistic :-)
Cheers,
Csaba.