diff options
author | Sachin <sachin.setiya@mariadb.com> | 2019-01-08 19:42:02 +0530 |
---|---|---|
committer | Sachin <sachin.setiya@mariadb.com> | 2019-01-08 19:42:02 +0530 |
commit | ab6393d13dfba93308569b934f579f82c6b9ff03 (patch) | |
tree | efc19acfaef1ce9ff5374969b0ef1be7cccaa68e /mysql-test | |
parent | 292b2fd23bbdf0ef406c90036c166dbca793db4b (diff) | |
download | mariadb-git-ab6393d13dfba93308569b934f579f82c6b9ff03.tar.gz |
Final changes
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/main/long_unique.test | 1 | ||||
-rw-r--r-- | mysql-test/main/long_unique_innodb.result | 121 | ||||
-rw-r--r-- | mysql-test/main/long_unique_innodb.test | 131 | ||||
-rw-r--r-- | mysql-test/main/mdev-504.test | 3 |
4 files changed, 254 insertions, 2 deletions
diff --git a/mysql-test/main/long_unique.test b/mysql-test/main/long_unique.test index 41c18178ae5..93c70eac80e 100644 --- a/mysql-test/main/long_unique.test +++ b/mysql-test/main/long_unique.test @@ -1,4 +1,5 @@ let datadir=`select @@datadir`; +--source include/have_partition.inc --echo #Structure of tests --echo #First we will check all option for diff --git a/mysql-test/main/long_unique_innodb.result b/mysql-test/main/long_unique_innodb.result new file mode 100644 index 00000000000..e5863401e38 --- /dev/null +++ b/mysql-test/main/long_unique_innodb.result @@ -0,0 +1,121 @@ +create table t1(a blob unique) engine= InnoDB; +insert into t1 values('RUC'); +insert into t1 values ('RUC'); +ERROR 23000: Duplicate entry 'RUC' for key 'a' +drop table t1; +#test for concurrent insert of long unique in innodb +create table t1(a blob unique) engine= InnoDB; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` blob DEFAULT NULL, + UNIQUE KEY `a` (`a`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +connect 'con1', localhost, root,,; +connect 'con2', localhost, root,,; +connection con1; +set transaction isolation level READ UNCOMMITTED; +start transaction; +insert into t1 values('RUC'); +connection con2; +set transaction isolation level READ UNCOMMITTED; +start transaction; +insert into t1 values ('RUC'); +ERROR 23000: Duplicate entry 'RUC' for key 'a' +connection con1; +commit; +set transaction isolation level READ COMMITTED; +start transaction; +insert into t1 values('RC'); +connection con2; +commit; +set transaction isolation level READ COMMITTED; +start transaction; +insert into t1 values ('RC'); +ERROR 23000: Duplicate entry 'RC' for key 'a' +commit; +connection con1; +commit; +set transaction isolation level REPEATABLE READ; +start transaction; +insert into t1 values('RR'); +connection con2; +commit; +set transaction isolation level REPEATABLE READ; +start transaction; +insert into t1 values ('RR'); +ERROR 23000: Duplicate entry 'RR' for key 'a' +connection con1; +commit; +set transaction isolation level SERIALIZABLE; +start transaction; +insert into t1 values('S'); +connection con2; +commit; +set transaction isolation level SERIALIZABLE; +start transaction; +insert into t1 values ('S'); +ERROR 23000: Duplicate entry 'S' for key 'a' +commit; +connection con1; +commit; +select * from t1; +a +RUC +RC +RR +S +drop table t1; +create table t1(a blob unique) engine=Innodb; +connection con1; +set transaction isolation level READ UNCOMMITTED; +start transaction; +insert into t1 values('RUC'); +connection con2; +set transaction isolation level READ UNCOMMITTED; +start transaction; +insert into t1 values ('RUC');; +connection con1; +rollback; +connection con2; +commit; +connection con1; +set transaction isolation level READ COMMITTED; +start transaction; +insert into t1 values('RC'); +connection con2; +set transaction isolation level READ COMMITTED; +start transaction; +insert into t1 values ('RC');; +connection con1; +rollback; +connection con2; +commit; +connection con1; +set transaction isolation level REPEATABLE READ; +start transaction; +insert into t1 values('RR'); +connection con2; +set transaction isolation level REPEATABLE READ; +start transaction; +insert into t1 values ('RR');; +connection con1; +rollback; +connection con2; +commit; +connection con1; +set transaction isolation level SERIALIZABLE; +start transaction; +insert into t1 values('S'); +connection con2; +set transaction isolation level SERIALIZABLE; +start transaction; +insert into t1 values ('S');; +connection con1; +rollback; +connection con2; +commit; +connection default; +drop table t1; +disconnect con1; +disconnect con2; diff --git a/mysql-test/main/long_unique_innodb.test b/mysql-test/main/long_unique_innodb.test new file mode 100644 index 00000000000..0918d1e0c68 --- /dev/null +++ b/mysql-test/main/long_unique_innodb.test @@ -0,0 +1,131 @@ +--source include/have_innodb.inc +--source include/big_test.inc + +create table t1(a blob unique) engine= InnoDB; +insert into t1 values('RUC'); +--error ER_DUP_ENTRY +insert into t1 values ('RUC'); +drop table t1; + +--echo #test for concurrent insert of long unique in innodb +create table t1(a blob unique) engine= InnoDB; +show create table t1; +connect ('con1', localhost, root,,); +connect ('con2', localhost, root,,); + +--connection con1 +set transaction isolation level READ UNCOMMITTED; +start transaction; +insert into t1 values('RUC'); +--connection con2 +set transaction isolation level READ UNCOMMITTED; +start transaction; +--error ER_DUP_ENTRY +insert into t1 values ('RUC'); + +--connection con1 +commit; +set transaction isolation level READ COMMITTED; +start transaction; +insert into t1 values('RC'); +--connection con2 +commit; +set transaction isolation level READ COMMITTED; +start transaction; +--error ER_DUP_ENTRY +insert into t1 values ('RC'); +commit; + +--connection con1 +commit; +set transaction isolation level REPEATABLE READ; +start transaction; +insert into t1 values('RR'); +--connection con2 +commit; +set transaction isolation level REPEATABLE READ; +start transaction; +--error ER_DUP_ENTRY +insert into t1 values ('RR'); + +--connection con1 +commit; +set transaction isolation level SERIALIZABLE; +start transaction; +insert into t1 values('S'); +--connection con2 +commit; +set transaction isolation level SERIALIZABLE; +start transaction; +--error ER_DUP_ENTRY +insert into t1 values ('S'); +commit; + +--connection con1 +commit; + +select * from t1; +drop table t1; + +create table t1(a blob unique) engine=Innodb; + +--connection con1 +set transaction isolation level READ UNCOMMITTED; +start transaction; +insert into t1 values('RUC'); +--connection con2 +set transaction isolation level READ UNCOMMITTED; +start transaction; +--send insert into t1 values ('RUC'); +--connection con1 +rollback; +--connection con2 +--reap +commit; + +--connection con1 +set transaction isolation level READ COMMITTED; +start transaction; +insert into t1 values('RC'); +--connection con2 +set transaction isolation level READ COMMITTED; +start transaction; +--send insert into t1 values ('RC'); +--connection con1 +rollback; +--connection con2 +--reap +commit; + +--connection con1 +set transaction isolation level REPEATABLE READ; +start transaction; +insert into t1 values('RR'); +--connection con2 +set transaction isolation level REPEATABLE READ; +start transaction; +--send insert into t1 values ('RR'); +--connection con1 +rollback; +--connection con2 +--reap +commit; + +--connection con1 +set transaction isolation level SERIALIZABLE; +start transaction; +insert into t1 values('S'); +--connection con2 +set transaction isolation level SERIALIZABLE; +start transaction; +--send insert into t1 values ('S'); +--connection con1 +rollback; +--connection con2 +--reap +commit; + +connection default; +drop table t1; +disconnect con1; +disconnect con2; diff --git a/mysql-test/main/mdev-504.test b/mysql-test/main/mdev-504.test index 277b5a038a0..75b84f576db 100644 --- a/mysql-test/main/mdev-504.test +++ b/mysql-test/main/mdev-504.test @@ -1,4 +1,3 @@ ---source include/not_valgrind.inc --source include/no_protocol.inc set @save_use_stat_tables=@@global.use_stat_tables; @@ -44,7 +43,7 @@ while ($trial) --connect (con2,localhost,root,,) --send CALL p_analyze() - --let $run = 100 + --let $run = 1 while ($run) { |