17 changed files with 1337 additions and 214 deletions
-
8mysql-test/r/innodb_ext_key.result
-
194mysql-test/r/subselect_sj2.result
-
16mysql-test/r/subselect_sj2_jcl6,innodb_plugin.rdiff
-
204mysql-test/r/subselect_sj2_jcl6.result
-
194mysql-test/r/subselect_sj2_mat.result
-
30mysql-test/suite/innodb/r/innodb-autoinc-61209.result
-
178mysql-test/suite/innodb/r/innodb-autoinc.result
-
61mysql-test/suite/innodb/t/innodb-autoinc-61209.test
-
138mysql-test/t/subselect_sj2.test
-
3mysys/thr_lock.c
-
95scripts/mytop.sh
-
4sql/item_cmpfunc.cc
-
11sql/item_cmpfunc.h
-
263sql/opt_subselect.cc
-
18sql/sql_select.cc
-
67storage/innobase/handler/ha_innodb.cc
-
67storage/xtradb/handler/ha_innodb.cc
@ -0,0 +1,30 @@ |
|||
DROP TABLE IF EXISTS bug_61209; |
|||
CREATE TABLE bug_61209 (a INT auto_increment, PRIMARY KEY(a)) ENGINE=InnoDB; |
|||
INSERT INTO bug_61209 VALUES (), (); |
|||
|
|||
# Connect con1 |
|||
|
|||
# Connect con2 |
|||
|
|||
# Connection con1 |
|||
SET SESSION auto_increment_increment=3; |
|||
SET SESSION auto_increment_offset=2; |
|||
SELECT GET_LOCK('a', 10); |
|||
|
|||
# Connection con2 |
|||
SET SESSION auto_increment_increment=3; |
|||
SET SESSION auto_increment_offset=2; |
|||
INSERT INTO bug_61209 (a) VALUES (NULL), (NULL), (NULL + GET_LOCK('a', 10)); |
|||
|
|||
# Connection con1 reap |
|||
GET_LOCK('a', 10) |
|||
1 |
|||
INSERT INTO bug_61209 (a) VALUES (NULL), (NULL), (NULL); |
|||
SELECT RELEASE_LOCK('a'); |
|||
|
|||
# Connection con2 reap |
|||
|
|||
# Connection con1 reap |
|||
RELEASE_LOCK('a') |
|||
1 |
|||
DROP TABLE bug_61209; |
|||
@ -0,0 +1,61 @@ |
|||
# This is the test case for bug #61209 - duplicate key errors |
|||
# when using auto_increment_increment > 1 and auto_increment_offset > 1 |
|||
# |
|||
--source include/have_innodb.inc |
|||
|
|||
# |
|||
# Precautionary clean up. |
|||
# |
|||
--disable_warnings |
|||
DROP TABLE IF EXISTS bug_61209; |
|||
--enable_warnings |
|||
|
|||
# |
|||
# Create test data. |
|||
# |
|||
CREATE TABLE bug_61209 (a INT auto_increment, PRIMARY KEY(a)) ENGINE=InnoDB; |
|||
|
|||
INSERT INTO bug_61209 VALUES (), (); |
|||
|
|||
--echo |
|||
--echo # Connect con1 |
|||
--connect (con1,localhost,root,,) |
|||
--echo |
|||
--echo # Connect con2 |
|||
--connect (con2,localhost,root,,) |
|||
|
|||
--echo |
|||
--echo # Connection con1 |
|||
--connection con1 |
|||
SET SESSION auto_increment_increment=3; |
|||
SET SESSION auto_increment_offset=2; |
|||
send SELECT GET_LOCK('a', 10); |
|||
|
|||
--echo |
|||
--echo # Connection con2 |
|||
--connection con2 |
|||
SET SESSION auto_increment_increment=3; |
|||
SET SESSION auto_increment_offset=2; |
|||
send INSERT INTO bug_61209 (a) VALUES (NULL), (NULL), (NULL + GET_LOCK('a', 10)); |
|||
|
|||
--echo |
|||
--echo # Connection con1 reap |
|||
--connection con1 |
|||
reap; |
|||
INSERT INTO bug_61209 (a) VALUES (NULL), (NULL), (NULL); |
|||
send SELECT RELEASE_LOCK('a'); |
|||
|
|||
--echo |
|||
--echo # Connection con2 reap |
|||
--connection con2 |
|||
reap; |
|||
|
|||
--echo |
|||
--echo # Connection con1 reap |
|||
--connection con1 |
|||
reap; |
|||
|
|||
# |
|||
# Clean up |
|||
# |
|||
DROP TABLE bug_61209; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue