From: | "P(dot) Christeas" <xrg(at)linux(dot)gr> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Cc: | Vik Reykja <vikreykja(at)gmail(dot)com> |
Subject: | Re: Re: [PATCH] Enforce that INSERT...RETURNING preserves the order of multi rows |
Date: | 2012-10-21 21:35:27 |
Message-ID: | 201210220035.27862.xrg@linux.gr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sunday 21 October 2012, Vik Reykja wrote:
> On Sun, Oct 21, 2012 at 6:20 PM, Abhijit Menon-Sen
<ams(at)2ndquadrant(dot)com>wrote:
> > Note: "INSERT … RETURNING" doesn't accept an ORDER BY clause.
>
> Would anyone be opposed to somebody - say, me - writing a patch to allow
> that? It would take me a lot longer than an experienced hacker to do it,
> but I'm willing to try.
I would oppose, for one.
Please, don't waste your time. Reordering the INSERT .. RETURNING results is
already possible today, with some nested syntax. At the same time, bloating
the INSERT syntax with SELECT semantics would be negative IMO. And I would see
little use in having such a feature.
At a worst case scenario, you could do (in client pseydocode):
ids = query("INSERT INTO tableA (col1, col2) VALUES (...), (...) RETURNING
id")
ordered_ids = query("SELECT id FROM tableA WHERE id IN %s ORDER BY col1", ids)
which would be minimally more roundtrip than a "RETURNING id ORDER BY col1" .
--
Say NO to spam and viruses. Stop using Microsoft Windows!
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2012-10-21 21:40:40 | to_char timezone |
Previous Message | Phil Sorber | 2012-10-21 20:51:21 | Re: [WIP] pg_ping utility |