| From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
|---|---|
| To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
| Cc: | pgsql-hackers(at)postgresql(dot)org, Abhijit Menon-Sen <ams(at)2ndquadrant(dot)com>, Christopher Browne <cbbrowne(at)gmail(dot)com> |
| Subject: | Re: [PATCH] Enforce that INSERT...RETURNING preserves the order of multi rows |
| Date: | 2012-10-21 18:45:31 |
| Message-ID: | 508442CB.3050904@dunslane.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 10/21/2012 01:40 PM, Andres Freund wrote:
>
> Suppose you have something like
>
> CREATE TABLE positionlog(
> id serial primary key,
> timestamp timestamptz DEFAULT NOW(),
> position geometry
> );
>
> And you want to insert multiple values in one roundtrip *and* know their ids
> in your application.
>
> INSERT INTO positionlog(position)
> VALUES
> ('POINT(..., ...)'),
> ('POINT(..., ...)')
> RETURNING id, timestamp, position
> ;
>
> If you want to correlate re returned ids with data in your application without
> relying on the ordering of INSERT ... VALUES... RETURNING you would need to
> sort a postgis type in the same way the server does it.
I see. Sorry, I should not have joined the thread late in the piece
while I'm multitasking.
I guess in such a case I'd be inclined to precompute the id values and
then supply them in the values clause. That means two round trips rather
than one.
cheers
andrew
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2012-10-21 18:47:27 | Re: [PATCH] Enforce that INSERT...RETURNING preserves the order of multi rows |
| Previous Message | Abhijit Menon-Sen | 2012-10-21 18:43:28 | Re: [PATCH] Enforce that INSERT...RETURNING preserves the order of multi rows |