Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Neil Conway wrote:
>> If a function's return value for a particular set of arguments could
>> change within a single table scan, the function is volatile -- ISTM
>> xslt_process() clearly falls within that definition.
> My thought was that a web page lookup is going to be a very expensive
> operation, so you would not want it to requery inside a transaction.
> It is not like random() where you want it to be re-called and it is
> inexpensive.
"It's too expensive" is not a valid rationale for claiming that
something is stable when it is not. In any case, you have fallen into
the all too common trap of supposing that these labels have something
to do with caching function results. Calling it stable is not going
to improve performance, only create a risk of wrong answers.
regards, tom lane