Re: Re: [BUGS] 'on insert do instead' rule with a where clause responds 'INSERT 0 0'
От | Oliver Jowett |
---|---|
Тема | Re: Re: [BUGS] 'on insert do instead' rule with a where clause responds 'INSERT 0 0' |
Дата | |
Msg-id | 4717C94D.7030605@opencloud.com обсуждение исходный текст |
Ответ на | Re: [BUGS] 'on insert do instead' rule with a where clause responds 'INSERT 0 0' (Julius Stroffek <Julius.Stroffek@Sun.COM>) |
Список | pgsql-jdbc |
Julius Stroffek wrote: > There is only one option that comes to my mind - always return > Statment.SUCCESS_NO_INFO in executeBatch (or possibly only depending on > some java property). I can not see any simple solution for > Statement.executeUpdate since the number of rows affected may differ > depending on the rules and might be also difficult to calculate. The server is reporting to the driver that zero rows were affected (not "unknown", *zero*) so I don't see any reason why the driver should not report that as the number of rows affected. Returning SUCCESS_NO_INFO reduces the usefulness of the driver in the other 98% of cases where there are no INSTEAD rules. The protocol docs say: > CommandComplete (B) [...] > For an INSERT command, the tag is INSERT oid rows, where rows is the number of rows inserted. oid is the objectID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. So if the server is not returning "the number of rows inserted" then either the server has a bug or the protocol docs are wrong. -O
В списке pgsql-jdbc по дате отправления: