Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
2.2.6
-
None
-
Java 8, Windows 10, MariaDB 10.2.13
Description
When executing a batch of UPDATE/DELETE statements using PreparedStatement.executeBatch(), there is no method that returns update counts.
1) PreparedStatement.executeBatch() returns int[], but all values are -2 (meaning SUCCESS but not the real number of updated/deleted records)
to get at least the total number of updated/deleted records, one can call:
2) PreparedStatement.getUpdateCount() - returns -1
3) PreparedStatement.getLargeUpdateCount() - returns -1
Note that the same method (getLargeUpdateCount) returns the correct value with driver 2.1.0, which is our current workaround.
Therefore we cannot upgrade the driver due to this bug!
Attachments
Issue Links
- relates to
-
CONJ-642 disable the option "useBulkStmts" by default
-
- Closed
-
By default, the driver now uses a new bulk command that executes batch a lot faster. The main default is that connector then just now the total results of the batch.
Example for 3 inserts:
before, connector know that 1 + 1 + 1 inserts where executed.
now, the driver just knows the total results is 3 for the example, so connector return array of -2 (= SUCCESS_NO_INFO).
If update results are important, this new fast batch can be disabled by setting the option "useBulkStmts" to false.