From: | electrotype <electrotype(at)gmail(dot)com> |
---|---|
To: | "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: JDBC driver - is "getGeneratedKeys()" guaranteed to return the ids in the same order a batch insert was made? |
Date: | 2020-12-09 14:48:42 |
Message-ID: | 4ce0f5f5-d608-887b-b5ef-21ae187e3b58@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> So I'm curious. Why does order matter ?
>
> Dave Cramer
> www.postgres.rocks
When you have to save multiple new entities with subentities.
You first save all the parent entities in a single SQL batch insert, you get the generated ids, then
insert all the subentities in another single SQL batch insert. To know which "parent id" to use for
a given subentity of the second query, you need a way to associate a generated id with the correct
parent entity. The order of the parents in their batch, and the order of the generated ids, is the
only straighforward way.
I know all this could be made into a single SQL query, without having to associate the generated ids
to the parents manually. But sometimes you have to fight /really /hard agains your framework or JDBC
itself to write such more complex query, where two batch inserts are very natural.
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2020-12-09 14:57:50 | Re: postgres-10 with FIPS |
Previous Message | Wolfgang Walther | 2020-12-09 13:42:43 | Execution order of CTEs / set_config and current_setting in the same query |