Agreed.
However, this isn't really the purview of JDBC - I'm doubting it does anything that would cause
the order to be different than what is received, and the batch items are sent and results
processed sequentially.
The main question is whether any batch items are inserting multiple records themselves - i.e.,
RETURNING * is producing multiple results. Whatever order RETURNING * produces is what the driver
will capture - but it isn't responsible for guaranteeing that the order of multiple inserted
records going in matches what comes out. PostgreSQL needs to make that claim. I don't see where
it does (i've sent an email to see if adding such a claim to the documentation is proper). Done
manually one can always do "WITH insert returning SELECT ORDER BY", but it doesn't seem workable
for the driver to try and do that when adding the returning clause, which I presume is what is in
scope here.
David J.
Thank you, it's appreciated! I'm sure this clarification would help other
developers too.