Can this function be declared IMMUTABLE?

From: beickhof(at)Lexmark(dot)com
To: pgsql-general(at)postgresql(dot)org
Subject: Can this function be declared IMMUTABLE?
Date: 2007-08-27 19:09:54
Message-ID: OF925A5289.2F89A836-ON85257344.0065AAC1-85257344.00693FE6@lexmark.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

I have a question about whether I can safely declare a function IMMUTABLE.
Citing the documentation under "Function Volatility Categories" in the
section on "Extending SQL":
----------------------------------------
It is generally unwise to select from database tables within an IMMUTABLE
function at all, since the immutability will be broken if the table
contents ever change.
----------------------------------------

Well, I am considering a function that does read from a table, but the
table contents change extremely infrequently (the table is practically a
list of constants). Would it be safe to declare the function IMMUTABLE
provided that the table itself is endowed with a trigger that will drop
and recreate the function any time the table contents are modified? In
this way, it seems that the database would gain the performance benefit of
an immutable function for the long stretches of time in between changes to
the table.

I apologize that I don't have any details -- it is still very early in the
development of the database design, and I was just hoping to get a better
understanding of whether an immutable function would safely offer any
benefit in this scenario.

Thanks very much,
Bobby

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2007-08-27 19:12:39 Re: Tables dissapearing
Previous Message Jessie 2007-08-27 19:04:25 Npgsql GUI problem C#.net