Re: Function Volatility Stable vs Immutable - Mailing list pgsql-general

From Igal @ Lucee.org
Subject Re: Function Volatility Stable vs Immutable
Date
Msg-id fc4f4a3c-8aec-b559-a655-f76b43e7ee6a@lucee.org
Whole thread Raw
In response to Re: Function Volatility Stable vs Immutable  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
On 6/24/2019 7:38 PM, David G. Johnston wrote:
On Mon, Jun 24, 2019 at 7:31 PM Igal @ Lucee.org <igal@lucee.org> wrote:
If a function select data from a table, and the rows in the table may
change, would that function qualify for Immutable or does it have to be
Stable?  I'm asking because according to the docs [1]: "An IMMUTABLE
function cannot modify the database and is guaranteed to return the same
results given the same arguments forever".

So for the same arguments, the result would change only if the data in
the table changes.  Does that mean that it violates the "forever" clause
and therefore can be only marked as Stable and not Immutable?

Yes

Forever means beyond the lifetime of a single transaction and thus it is possible for the changing of the table contents to impact the return value of the function.

Thanks for clarifying, David.

Igal

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Function Volatility Stable vs Immutable
Next
From: Adrian Klaver
Date:
Subject: Re: minor upgrade