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. */