Re: target list evaluation wrt sequences - Mailing list pgsql-general

From Tom Lane
Subject Re: target list evaluation wrt sequences
Date
Msg-id 20921.1083301285@sss.pgh.pa.us
Whole thread Raw
In response to Re: target list evaluation wrt sequences  (Bruno Wolff III <bruno@wolff.to>)
Responses Re: target list evaluation wrt sequences
List pgsql-general
>   elein <elein@varlena.com> wrote:
>> Is the order of the target list guaranteed?

AFAIR, all current and past Postgres versions evaluate target lists
left-to-right.  This is not guaranteed to remain true forever,
since neither the SQL spec nor our own docs promise it anywhere...
but offhand I can't think of a reason to break it.

Bruno Wolff III <bruno@wolff.to> writes:
> No. You can do effectively this by joining a select nextval to whatever
> you main select is. Something like:
> insert into ...
>        select a.n as a, a.n as b, ....
>              from (select nextval('n') as n) as a, lalala

Urgh ... I'd not want to promise that nextval() will always be evaluated
just once in the above example ... this really seems *much* more fragile
than assuming left-to-right targetlist evaluation :-(

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: TCP only listening on localhost???
Next
From: "Gregory S. Williamson"
Date:
Subject: Re: "Idle in Transaction" and hung connections