Bug #28056 Falcon Updates miss rows
Submitted: 23 Apr 2007 23:25
Reporter: Hakan Küçükyılmaz Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.0-alpha OS:Any
Assigned to: CPU Architecture:Any

[23 Apr 2007 23:25] Hakan Küçükyılmaz
Description:
I create a table in which there are 128 rows where 's1=2'.
I update where s1 = 2.
I see a report that only 84 rows were updated.

How to repeat:
How to repeat:

/*
create table t2 (s1 int, key (s1)) engine=falcon;
insert into t2 (s1) values (1),(2),(3),(4),(5),(6),(7),(8);
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
update t2 set s1 = 99 where s1 = 2;
select s1,count(*) from t2 group by s1;
*/

mysql> create table t2 (s1 int, key (s1)) engine=falcon;
Query OK, 0 rows affected (0.16 sec)

mysql> insert into t2 (s1) values (1),(2),(3),(4),(5),(6),(7),(8);
Query OK, 8 rows affected (0.00 sec)
Records: 8 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 8 rows affected (0.00 sec)
Records: 8 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 16 rows affected (0.00 sec)
Records: 16 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 32 rows affected (0.00 sec)
Records: 32 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 64 rows affected (0.01 sec)
Records: 64 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 128 rows affected (0.02 sec)
Records: 128 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 256 rows affected (0.02 sec)
Records: 256 Duplicates: 0 Warnings: 0

mysql> insert into t2 select * from t2;
Query OK, 512 rows affected (0.03 sec)
Records: 512 Duplicates: 0 Warnings: 0

mysql> update t2 set s1 = 99 where s1 = 2;
Query OK, 84 rows affected (2.11 sec)
Rows matched: 84 Changed: 84 Warnings: 0

mysql> select s1,count(*) from t2 group by s1;
/* Never mind if this doesn't return. The point is:
   the number of rows changed should be 128, not 84. */
[23 Apr 2007 23:26] Hakan Küçükyılmaz
Test case is falcon_bug_28056.test.