diff options
author | unknown <monty@mysql.com> | 2005-06-06 20:41:52 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2005-06-06 20:41:52 +0300 |
commit | 9595c788f9857d0e712f6659d3a0d85300aa0f7b (patch) | |
tree | 17b738558f52110891f2e7512fe70f70ae16ea5e /mysql-test/r/auto_increment.result | |
parent | a0682cac4763061d34e4659da8a27866624e6f5b (diff) | |
download | mariadb-git-9595c788f9857d0e712f6659d3a0d85300aa0f7b.tar.gz |
Ensure that we reset auto-increment cache if we have to do an UPDATE becasue of REPLACE
This fixes bug #11080: Multi-row REPLACE fails on a duplicate key error
mysql-test/r/auto_increment.result:
New tests for auto-increment and replace
mysql-test/r/innodb.result:
New tests for auto-increment and replace
mysql-test/t/auto_increment.test:
New tests for auto-increment and replace
mysql-test/t/innodb.test:
New tests for auto-increment and replace
mysys/my_alloc.c:
More comments
Diffstat (limited to 'mysql-test/r/auto_increment.result')
-rw-r--r-- | mysql-test/r/auto_increment.result | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result index 4587c675150..61a42b004a9 100644 --- a/mysql-test/r/auto_increment.result +++ b/mysql-test/r/auto_increment.result @@ -355,3 +355,42 @@ CHECK TABLE t1; Table Op Msg_type Msg_text test.t1 check status OK DROP TABLE IF EXISTS t1; +CREATE TABLE t1 ( `a` int(11) NOT NULL auto_increment, `b` int(11) default NULL,PRIMARY KEY (`a`),UNIQUE KEY `b` (`b`)); +insert into t1 (b) values (1); +replace into t1 (b) values (2), (1), (3); +select * from t1; +a b +3 1 +2 2 +4 3 +truncate table t1; +insert into t1 (b) values (1); +replace into t1 (b) values (2); +replace into t1 (b) values (1); +replace into t1 (b) values (3); +select * from t1; +a b +3 1 +2 2 +4 3 +drop table t1; +create table t1 (rowid int not null auto_increment, val int not null,primary +key (rowid), unique(val)); +replace into t1 (val) values ('1'),('2'); +replace into t1 (val) values ('1'),('2'); +insert into t1 (val) values ('1'),('2'); +ERROR 23000: Duplicate entry '1' for key 2 +select * from t1; +rowid val +3 1 +4 2 +drop table t1; +create table t1 (a int not null auto_increment primary key, val int); +insert into t1 (val) values (1); +update t1 set a=2 where a=1; +insert into t1 (val) values (1); +select * from t1; +a val +2 1 +3 1 +drop table t1; |