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

From David G. Johnston
Subject Re: Function Volatility Stable vs Immutable
Date
Msg-id CAKFQuwZ1JF7+cS2O5ZpepQrJavMAsRr5cUfW3wYQHEpeEddjLw@mail.gmail.com
Whole thread Raw
In response to Function Volatility Stable vs Immutable  ("Igal @ Lucee.org" <igal@lucee.org>)
Responses Re: Function Volatility Stable vs Immutable
List pgsql-general
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.

David J.

pgsql-general by date:

Previous
From: "Igal @ Lucee.org"
Date:
Subject: Function Volatility Stable vs Immutable
Next
From: "Igal @ Lucee.org"
Date:
Subject: Re: Function Volatility Stable vs Immutable