Re: Minor point about contrib/xml2 functions "IMMUTABLE" marking

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Neil Conway <neilc(at)samurai(dot)com>, John Gray <jgray(at)azuli(dot)co(dot)uk>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Minor point about contrib/xml2 functions "IMMUTABLE" marking
Date: 2005-10-13 15:46:51
Message-ID: 22776.1129218411@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Fuhr 2005-10-13 15:49:20 Re: BUG #1962: ECPG and VARCHAR
Previous Message Bruce Momjian 2005-10-13 14:36:45 Re: Minor point about contrib/xml2 functions "IMMUTABLE" marking