Tom Lane wrote:
Kris Jurka <books@xxxxxxxxxx> 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.
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org/