Re: RETURNING clause: how to specifiy column indexes? - Mailing list pgsql-general

From Ken Johanson
Subject Re: RETURNING clause: how to specifiy column indexes?
Date
Msg-id 475F954C.707@kensystem.com
Whole thread Raw
In response to Re: RETURNING clause: how to specifiy column indexes?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Tom Lane wrote:
> Kris Jurka <books@ejurka.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.



pgsql-general by date:

Previous
From: Samantha Atkins
Date:
Subject: Re: what is the date format in binary query results
Next
From: Tom Lane
Date:
Subject: Re: what is the date format in binary query results