summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/innodb-consistent.test
diff options
context:
space:
mode:
authorVasil Dimov <vasil.dimov@oracle.com>2010-04-16 19:19:07 +0300
committerVasil Dimov <vasil.dimov@oracle.com>2010-04-16 19:19:07 +0300
commiteaadb377af7cf6145e324acd008d8f2d3cc00aaf (patch)
tree71463e53ee744af5c89101393ffdba2fdd955ff5 /mysql-test/suite/innodb/t/innodb-consistent.test
parent23dd437b8089c6f7e7b021c48bb8becdbe06c35b (diff)
downloadmariadb-git-eaadb377af7cf6145e324acd008d8f2d3cc00aaf.tar.gz
Move InnoDB mysql-tests to the innodb suite.
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb-consistent.test')
-rw-r--r--mysql-test/suite/innodb/t/innodb-consistent.test58
1 files changed, 58 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/innodb-consistent.test b/mysql-test/suite/innodb/t/innodb-consistent.test
new file mode 100644
index 00000000000..bf829a74ea2
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-consistent.test
@@ -0,0 +1,58 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# REPLACE INTO ... SELECT and INSERT INTO ... SELECT should do
+# a consistent read of the source table.
+
+connect (a,localhost,root,,);
+connect (b,localhost,root,,);
+connection a;
+set session transaction isolation level read committed;
+create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
+create table t2 like t1;
+insert into t2 values (1),(2),(3),(4),(5),(6),(7);
+set autocommit=0;
+
+# REPLACE INTO ... SELECT case
+begin;
+# this should not result in any locks on t2.
+replace into t1 select * from t2;
+
+connection b;
+set session transaction isolation level read committed;
+set autocommit=0;
+# should not cause a lock wait.
+delete from t2 where a=5;
+commit;
+delete from t2;
+commit;
+connection a;
+commit;
+
+# INSERT INTO ... SELECT case
+begin;
+# this should not result in any locks on t2.
+insert into t1 select * from t2;
+
+connection b;
+set session transaction isolation level read committed;
+set autocommit=0;
+# should not cause a lock wait.
+delete from t2 where a=5;
+commit;
+delete from t2;
+commit;
+connection a;
+commit;
+
+select * from t1;
+drop table t1;
+drop table t2;
+
+connection default;
+disconnect a;
+disconnect b;