Richard Huxton <dev(at)archonet(dot)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.
regards, tom lane