On 12/21/2012 02:22 PM, Chris Angelico wrote:
On Sat, Dec 22, 2012 at 3:53 AM, David Johnston <polobo@xxxxxxxxx> wrote:
Chris Angelico wrote, and David dropped the citation (oops!):
By the way, why do you declare your functions as "STRICT IMMUTABLE"
and "STRICT VOLATILE"?
Is this a question about the layout of the commands spatially?
As I understand it, there are three keywords: VOLATILE, STRICT, and
IMMUTABLE. Putting one of those keywords into the declaration flags
the function accordingly; if none is given, VOLATILE is assumed.
Declaring the function as "STRICT IMMUTABLE" or "STRICT VOLATILE"
seems at best redundant (the word "STRICT" is mere noise), and at
worst confusing (the parser might be interpreting it as "STRICT", not
as the other keyword). Or is there something I'm missing here?
Not sure I am following.
IMMUTABLE/VOLATILE/STABLE deal with the query optimizer.
CALLED ON NULL INPUT/STRICT deal with NULL input behavior.
http://www.postgresql.org/docs/9.2/interactive/sql-createfunction.html
ChrisA
--
Adrian Klaver
adrian.klaver@xxxxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general