On Wed, Jul 12, 2023 at 1:03 PM Dave Cramer <davecra...@gmail.com> wrote: > > With a simple insert such as > > INSERT INTO test_table (cnt) VALUES (1), (2) RETURNING id > > if a portal is used to get the results then the CommandStatus is not returned > on the execute only when the portal is closed. After looking at this more it > is really after all of the data is read which is consistent if you don't use > a portal, however it would be much more useful if we received the > CommandStatus after the insert was completed and before the data > > Obviously I am biased by the JDBC API which would like to have > > PreparedStatement.execute() return the number of rows inserted without having > to wait to read all of the rows returned
I believe if RETURNING clause is use, the protocol-level behaviour of INSERT is expected to match that of SELECT. If the SELECT command behaves like that (resultset followed by CommandStatus), then I'd say the INSERT RETURNING is behaving as expected. Best regards, Gurjeet http://Gurje.et