Re: Behavior of nextval() and currval() - Mailing list pgsql-general

From Bruce Momjian
Subject Re: Behavior of nextval() and currval()
Date
Msg-id 200111131745.fADHjIA24745@candle.pha.pa.us
Whole thread Raw
In response to Behavior of nextval() and currval()  (Mike Mascari <mascarm@mascari.com>)
List pgsql-general
> The following works in 7.1. Is this behavior guaranteed or is it the
> subject of possible change in the future? Or am I just "getting
> lucky" that nextval() is evaluated before currval():
>
> CREATE SEQUENCE s;
>
> CREATE TABLE test (
> key1 int4,
> key2 int4
> );
>
> INSERT INTO test
> SELECT nextval('s'), currval('s');
>
> SELECT * FROM test;
>
>  key1 | key2
> ------+------
>     1 |    1
>
> Thanks for any information,

So you are asking if the order of column function evaluations is
reliable.  I tend to think so.  I think the only thing that could
reorder it is rules.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-general by date:

Previous
From: Jeff Eckermann
Date:
Subject: Re: Outer Joins
Next
From: Tom Lane
Date:
Subject: Re: Behavior of nextval() and currval()