Re: VALUES() evaluation order

From: Steve Atkins <steve(at)blighty(dot)com>
To: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: VALUES() evaluation order
Date: 2013-01-14 00:34:43
Message-ID: 762CE8D5-B5D9-4A6D-A2AB-8CB9A4B90599@blighty.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Jan 13, 2013, at 2:36 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Steve Atkins <steve(at)blighty(dot)com> writes:
>> Is the order in which the expressions in a VALUES() clause defined?
>> I'm doing this: INSERT INTO foo (a, b) VALUES (nextval('bar'), currval('bar'))
>
>> It works fine, but I'm wondering whether it's guaranteed to work or whether I'm relying on an artifact of the implementation.
>
> I'd say it's an artifact. It probably does work reliably at the moment,
> but if we had a reason to change it we'd not feel much compunction about
> doing so. (The most obvious potential reason to change it is parallel
> evaluation of expressions, which is a long way off, so you probably
> don't have any near-term reason to worry. But ...)
>
> Consider sticking the nextval() into a WITH.

Thanks. WITH it is, then.

Cheers,
Steve

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Chris Angelico 2013-01-14 00:37:21 Re: Linux Distribution Preferences?
Previous Message Chris Ernst 2013-01-14 00:07:56 Re: Linux Distribution Preferences?