Re: RETURNING clause: how to specifiy column indexes?

From: Ken Johanson <pg-user(at)kensystem(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: RETURNING clause: how to specifiy column indexes?
Date: 2007-12-12 08:01:16
Message-ID: 475F954C.707@kensystem.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-jdbc

Tom Lane wrote:
> Kris Jurka <books(at)ejurka(dot)com> writes:
>> I think the expectation is that:
>
>> CREATE TABLE t(a int, b int);
>> INSERT INTO t(b,a) VALUES (1,2) RETURNING *;
>
>> will return 1,2 instead of 2,1 as it does now.
>
> Hmm ... I see your point, but on what grounds could one argue that
> a "*" targetlist here should return something different from what
> "SELECT * FROM t" would return?
>
> I'd say that an app that wants that should write
>
> INSERT INTO t(b,a) VALUES (1,2) RETURNING b,a;
>
> which is surely not that hard if you've got the code to produce
> the "(b,a)" part.
>
> In any case it's not clear this is the same thing Ken is complaining
> about ...
>

I am only seeking to have the columns returned in the order they appear
naturally. JDBC says "This array contains the indexes of the columns in
the target table that contain the auto-generated keys that should be
made available."

For the record I was not "complaining", only citing in advance the fact
that while some consider selecting the keys by index to be dubious, it
nonetheless must be done because an API requires it. Casting my question
into a complaint is another topic.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2007-12-12 08:04:57 Re: what is the date format in binary query results
Previous Message Samantha Atkins 2007-12-12 07:18:39 Re: what is the date format in binary query results

Browse pgsql-jdbc by date

  From Date Subject
Next Message sulfinu 2007-12-12 11:11:48 Re: JDBC driver patch for non-ASCII users
Previous Message Tom Lane 2007-12-12 07:01:03 Re: RETURNING clause: how to specifiy column indexes?