So here's a little more info about this bug:
The insert query succeeds on the second attempt (after the failure) as seen below.
---------
drizzle> use test Database changed
drizzle> create table t1 (a int not null auto_increment primary key, val int) engine=innodb; Query OK, 0 rows affected (0.01 sec)
drizzle> insert into t1 (val) values (1); Query OK, 1 row affected (0.01 sec)
drizzle> update t1 set a=2 where a=1; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
drizzle> insert into t1 (val) values (1); ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY'
drizzle> select * from t1; +---+------+ | a | val | +---+------+ | 2 | 1 | | 3 | 1 | +---+------+ 2 rows in set (0.00 sec)
So here's a little more info about this bug:
The insert query succeeds on the second attempt (after the failure) as seen below.
---------
drizzle> use test
Database changed
drizzle> create table t1 (a int not null auto_increment primary key, val int) engine=innodb;
Query OK, 0 rows affected (0.01 sec)
drizzle> insert into t1 (val) values (1);
Query OK, 1 row affected (0.01 sec)
drizzle> update t1 set a=2 where a=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
drizzle> insert into t1 (val) values (1);
ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY'
drizzle> insert into t1 (val) values (1);
Query OK, 1 row affected (0.01 sec)
drizzle> select * from t1;
+---+------+
| a | val |
+---+------+
| 2 | 1 |
| 3 | 1 |
+---+------+
2 rows in set (0.00 sec)