Re: Is it safe to use DEFAULT currval() - Mailing list pgsql-general

From Richard Huxton
Subject Re: Is it safe to use DEFAULT currval()
Date
Msg-id 200309271847.51208.dev@archonet.com
Whole thread Raw
In response to Re: Is it safe to use DEFAULT currval()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Saturday 27 September 2003 18:40, Tom Lane wrote:
> Richard Huxton <dev@archonet.com> writes:
> > CREATE TABLE foo (
> >   id       SERIAL,
> >   blah     text,
> >   tracking int4 DEFAULT currval('foo_id_seq')
> >   PRIMARY KEY (id)
> > );
> >
> > Now - it works, but is that a design feature or just luck?
>
> You're essentially assuming that the column expressions for an INSERT
> will be evaluated left-to-right.  That's true at the moment, and I don't
> see any foreseeable reason why we'd change it, but it surely is an
> implementation dependency that could bite you someday.

I feared as much. Ah well, use nextval(), a different sequence or write a
trigger I suppose.

--
  Richard Huxton
  Archonet Ltd

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Is it safe to use DEFAULT currval()
Next
From: "Joshua D. Drake"
Date:
Subject: Re: PostgreSQL Delphi