Re: JDBC prepared statement: a 32767 limit of arguments number

Поиск
Список
Период
Сортировка
От Dave Cramer
Тема Re: JDBC prepared statement: a 32767 limit of arguments number
Дата
Msg-id CADK3HHK6fPCYWD3YqxWk0jPckc0OHFziAoDJRRYMargKnFa41w@mail.gmail.com
обсуждение исходный текст
Ответ на Re: JDBC prepared statement: a 32767 limit of arguments number  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-jdbc


On Fri, 11 Mar 2022 at 06:59, Vladislav Malyshkin <mal@gromco.com> wrote:
On 10/03/2022 04.08, Vladimir Sitnikov wrote:

Have you tried PreparedStatement#addBatch + #executeBatch APIs and reWriteBatchedInserts=true connection option?
It might yield the expected speedup without resorting to PG-specific APIs and syntax like COPY.


Yes, I tried addBatch + executeBatch. It was very inconvenient in my specific case. I used all over the place postgresql extension

  insert into table(c1, c2, c3, ...) values (....) RETURNING *

this way I can "get back" the data inserted. The PG extension INSERT/UPDATE/DELETE ... RETURNING *
was so convenient to: 1. check  the data, 2. autoincrements, 3. Return updated data, etc, that I started to use in with almost all insert/update/delete.
The  #executeBatch returns the number of rows changed, not the data as with the RETURNING *

Well using copy or any other mechanism such as an array isn't going to provide you with the data returned. 

If that is the requirement then there is little the driver can do as this is a protocol limitation.

Regards,

Dave

Vladislav

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: JDBC prepared statement: a 32767 limit of arguments number
Следующее
От: Sehrope Sarkuni
Дата:
Сообщение: Re: JDBC prepared statement: a 32767 limit of arguments number