Bug #77681 rewrite replace sql like insert when rewriteBatchedStatements=true (contributio
Submitted: 10 Jul 2015 13:50 Modified: 20 Aug 2015 23:25
Reporter: OCA Admin (OCA) Email Updates:
Status: Closed Impact on me:
Category:Connector / J Severity:S3 (Non-critical)
Version:5.1.x OS:Any
Assigned to: Filipe Silva CPU Architecture:Any

[10 Jul 2015 13:50] OCA Admin
This bug tracks a contribution by jie han (Github user: kfhanjie) as described in http://github.com/mysql/mysql-connector-j/pull/4

How to repeat:
See description

Suggested fix:
See contribution code attached
[10 Jul 2015 13:50] OCA Admin
Contribution submitted via Github - rewrite replace sql like insert  when rewriteBatchedStatements=true 
(*) Contribution by jie han (Github kfhanjie, mysql-connector-j/pull/4#issuecomment-119891308): I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it

Contribution: git_patch_39457829.txt (text/plain), 1.11 KiB.

[12 Jul 2015 8:00] MySQL Verification Team

Thank you for the report and contribution.

[20 Jul 2015 17:27] Filipe Silva
Bug#40561 is a duplicate of this.
[21 Jul 2015 9:17] jie han
we have billions records transfer from offline to online ,  rewrite replace statement will save lots of bytes. and rewirte to one sql means don't need  explicitly begin transaction ,because one sql will execute in  a standalone transaction when autocommit is true,this save two request for every batch. where network is slow autocommit will save more time. hope rewrite replace statement will release in next version.
[20 Aug 2015 23:25] Daniel So
Added the following entry to the Connector/J 5.1.37 changelog:

"The code for executing a REPLACE statement when rewriteBatchedStatements=true has been refactored by putting multiple batched statements into a single query, making it work more like an INSERT statement. This increases the efficiency for running REPLACE statements. Thanks to Jie Han for contributing the patch."