Bug #53135 | tables w/NDB engine do not return the number of rows deleted in "replace into" | ||
---|---|---|---|
Submitted: | 23 Apr 2010 22:51 | Modified: | 26 Apr 2010 12:43 |
Reporter: | Zardosht Kasheff (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S3 (Non-critical) |
Version: | mysql-5.1-telco-6.3 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | 5.1.46, 5.5 |
[23 Apr 2010 22:51]
Zardosht Kasheff
[24 Apr 2010 10:34]
Sveta Smirnova
Thank you for the report. Verified as described with mysql-5.1-telco-7.1 tree. Test case for MTR: --source include/have_ndb.inc create table t1(f1 int not null primary key, f2 int) engine=ndb; create table t2(f1 int not null primary key, f2 int) engine=myisam; replace into t1 values(1,1); select row_count(); replace into t1 values(1,1); select row_count(); replace into t2 values(1,1); select row_count(); replace into t2 values(1,1); select row_count();
[26 Apr 2010 6:29]
Bernd Ocklin
Zardosht, this has been verified in 7.1 (thanks Sveta!). Nevertheless are version numbers given 5.1.46 and 5.5. This indicates that you are using MySQL "Vanilla" Server with cluster. Please use the official cluster versions 7.1 and the server coming in that version as cluster coming with the standard MySQL Server is old and will be removed from that version soon.
[26 Apr 2010 12:43]
Zardosht Kasheff
Bernhard, I wrote 5.1.46 and 5.5 because the aspect of this bug that really interests me is the usage of HA_EXTRA_WRITE_CAN_REPLACE. Storage engine vendors that want to use this flag in a way similar to NDB (e.g. TokuDB), will run into this same problem that NDB has. The reason I filed the bug (which I realize is not very clear) is that having this contract to return the number of overwritten rows is expensive for storage engines. That NDB does not do it is an example. -Zardosht