summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-06-21 15:59:51 -0600
committerunknown <sasha@mysql.sashanet.com>2001-06-21 15:59:51 -0600
commitd88fdc2bde980da6a92be3ca9b8be2f7fe378df8 (patch)
treef90722a876cbb527957b82b81c5f4ebc17aa7864 /mysql-test
parent8a677f29432a860c6b5178dab7768896448e2cd6 (diff)
downloadmariadb-git-d88fdc2bde980da6a92be3ca9b8be2f7fe378df8.tar.gz
fixed drop/create database bug when holding global read lock
preserve originating server id in Intvar events to avoid inifinite loops include/mysqld_error.h: new error messages mysql-test/r/drop.result: updated result mysql-test/r/flush.result: updated result mysql-test/t/drop.test: test for proper handling of drop/create database when holding global read lock mysql-test/t/flush.test: test to see if other thread would block on drop database if we are holding global read lock sql/log.cc: preserve originating server id in Intvar log event sql/share/czech/errmsg.txt: new error messages sql/share/danish/errmsg.txt: new error messages sql/share/dutch/errmsg.txt: new error messages sql/share/english/errmsg.txt: new error messages sql/share/estonian/errmsg.txt: new error messages sql/share/french/errmsg.txt: new error messages sql/share/german/errmsg.txt: new error messages sql/share/greek/errmsg.txt: new error messages sql/share/hungarian/errmsg.txt: new error messages sql/share/italian/errmsg.txt: new error messages sql/share/japanese/errmsg.txt: new error messages sql/share/korean/errmsg.txt: new error messages sql/share/norwegian-ny/errmsg.txt: new error messages sql/share/norwegian/errmsg.txt: new error messages sql/share/polish/errmsg.txt: new error messages sql/share/portuguese/errmsg.txt: new error messages sql/share/romanian/errmsg.txt: new error messages sql/share/russian/errmsg.txt: new error messages sql/share/slovak/errmsg.txt: new error messages sql/share/spanish/errmsg.txt: new error messages sql/share/swedish/errmsg.txt: new error messages sql/slave.cc: fixed typo in comment sql/sql_db.cc: global read lock should block drop/create database
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/drop.result7
-rw-r--r--mysql-test/r/flush.result2
-rw-r--r--mysql-test/t/drop.test13
-rw-r--r--mysql-test/t/flush.test15
4 files changed, 37 insertions, 0 deletions
diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result
index 67923fe903c..c7a4ca9e0d2 100644
--- a/mysql-test/r/drop.result
+++ b/mysql-test/r/drop.result
@@ -1,2 +1,9 @@
n
1
+Database
+foo
+mysql
+test
+Database
+mysql
+test
diff --git a/mysql-test/r/flush.result b/mysql-test/r/flush.result
index e34f4f67195..fca84de710c 100644
--- a/mysql-test/r/flush.result
+++ b/mysql-test/r/flush.result
@@ -1,4 +1,6 @@
n
3
n
+23
+n
345
diff --git a/mysql-test/t/drop.test b/mysql-test/t/drop.test
index 1de387f6e4c..8f9aa852e8b 100644
--- a/mysql-test/t/drop.test
+++ b/mysql-test/t/drop.test
@@ -10,3 +10,16 @@ insert into t1 values(2);
create table t1(n int);
drop table t1;
select * from t1;
+drop database if exists foo;
+flush tables with read lock;
+--error 1209
+create database foo;
+unlock tables;
+create database foo;
+show databases;
+flush tables with read lock;
+--error 1208
+drop database foo;
+unlock tables;
+drop database foo;
+show databases;
diff --git a/mysql-test/t/flush.test b/mysql-test/t/flush.test
index b7293307605..4491de1f82b 100644
--- a/mysql-test/t/flush.test
+++ b/mysql-test/t/flush.test
@@ -33,6 +33,21 @@ unlock tables;
connection con1;
reap;
+#test if drop database will wait until we release the global read lock
+connection con1;
+drop database if exists foo;
+create database foo;
+create table foo.t1(n int);
+insert into foo.t1 values (23);
+flush tables with read lock;
+connection con2;
+send drop database foo;
+connection con1;
+select * from foo.t1;
+unlock tables;
+connection con2;
+reap;
+
# test if dirty close releases global read lock
connection con1;
create table t1 (n int);