summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <ingo@mysql.com>2004-06-25 12:14:54 +0200
committerunknown <ingo@mysql.com>2004-06-25 12:14:54 +0200
commitc49a2c4e347b2d4a2461594641a374c78f45e7f8 (patch)
treeb12dade5a3f346be583018b333c889476cdd5c11 /mysql-test
parent4ccfeb7cb2de2d861fb018d05189c6f1731cf919 (diff)
parentb8c85bc674aa3d80211301eb74813d718cb8c3b8 (diff)
downloadmariadb-git-c49a2c4e347b2d4a2461594641a374c78f45e7f8.tar.gz
Merge mysql.com:/home/mydev/mysql-4.0
into mysql.com:/home/mydev/mysql-4.0-bug3565 sql/sql_table.cc: Auto merged
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/flush_table.result120
-rw-r--r--mysql-test/t/flush_table.test115
2 files changed, 228 insertions, 7 deletions
diff --git a/mysql-test/r/flush_table.result b/mysql-test/r/flush_table.result
new file mode 100644
index 00000000000..cfba428e2e8
--- /dev/null
+++ b/mysql-test/r/flush_table.result
@@ -0,0 +1,120 @@
+drop table if exists t1;
+create table t1 (a int not null auto_increment primary key);
+insert into t1 values(0);
+lock table t1 read;
+flush table t1;
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
+drop database if exists test_test;
+create database test_test;
+use test_test;
+create table t1(table_id char(20) primary key);
+insert into t1 values ('test_test.t1');
+insert into t1 values ('');
+handler t1 open;
+handler t1 read first limit 9;
+table_id
+test_test.t1
+
+create table t2(table_id char(20) primary key);
+insert into t2 values ('test_test.t2');
+insert into t2 values ('');
+handler t2 open;
+handler t2 read first limit 9;
+table_id
+test_test.t2
+
+use test;
+drop table if exists t1;
+create table t1(table_id char(20) primary key);
+insert into t1 values ('test.t1');
+insert into t1 values ('');
+handler t1 open;
+handler t1 read first limit 9;
+table_id
+test.t1
+
+use test;
+handler test.t1 read first limit 9;
+table_id
+test.t1
+
+handler test.t2 read first limit 9;
+Unknown table 't2' in HANDLER
+handler test_test.t1 read first limit 9;
+table_id
+test_test.t1
+
+handler test_test.t2 read first limit 9;
+table_id
+test_test.t2
+
+handler test_test.t1 close;
+drop table test_test.t1;
+handler test_test.t2 close;
+drop table test_test.t2;
+drop database test_test;
+use test;
+handler test.t1 close;
+drop table test.t1;
+drop table if exists t1;
+drop table if exists t2;
+create table t1(table_id char(20) primary key);
+create table t2(table_id char(20) primary key);
+insert into t1 values ('test.t1');
+insert into t1 values ('');
+insert into t2 values ('test.t2');
+insert into t2 values ('');
+handler t1 open as a1;
+handler t1 open as a2;
+handler t2 open;
+handler a1 read first limit 9;
+table_id
+test.t1
+
+handler a2 read first limit 9;
+table_id
+test.t1
+
+handler t2 read first limit 9;
+table_id
+test.t2
+
+flush tables;
+handler a1 read first limit 9;
+Unknown table 'a1' in HANDLER
+handler a2 read first limit 9;
+Unknown table 'a2' in HANDLER
+handler t2 read first limit 9;
+Unknown table 't2' in HANDLER
+handler t1 open as a1;
+handler t1 open as a2;
+handler t2 open;
+handler a1 read first limit 9;
+table_id
+test.t1
+
+handler a2 read first limit 9;
+table_id
+test.t1
+
+handler t2 read first limit 9;
+table_id
+test.t2
+
+flush table t1;
+handler a1 read first limit 9;
+Unknown table 'a1' in HANDLER
+handler a2 read first limit 9;
+Unknown table 'a2' in HANDLER
+handler t2 read first limit 9;
+table_id
+test.t2
+
+flush table t2;
+handler t2 close;
+Unknown table 't2' in HANDLER
+drop table t1;
+drop table t2;
diff --git a/mysql-test/t/flush_table.test b/mysql-test/t/flush_table.test
index 4ddcd53d5c8..ad81f266afc 100644
--- a/mysql-test/t/flush_table.test
+++ b/mysql-test/t/flush_table.test
@@ -4,10 +4,111 @@
# Test of flush table
#
-#drop table if exists t1;
-#create table t1 (a int not null auto_increment primary key);
-#insert into t1 values(0);
-#lock table t1 read;
-#flush table t1;
-#check table t1;
-#drop table t1;
+drop table if exists t1;
+create table t1 (a int not null auto_increment primary key);
+insert into t1 values(0);
+lock table t1 read;
+flush table t1;
+check table t1;
+drop table t1;
+
+#
+# Check if two database names beginning the same are seen as different.
+#
+# This database begins like the usual 'test' database.
+#
+--disable_warnings
+drop database if exists test_test;
+--enable_warnings
+create database test_test;
+use test_test;
+create table t1(table_id char(20) primary key);
+insert into t1 values ('test_test.t1');
+insert into t1 values ('');
+handler t1 open;
+handler t1 read first limit 9;
+create table t2(table_id char(20) primary key);
+insert into t2 values ('test_test.t2');
+insert into t2 values ('');
+handler t2 open;
+handler t2 read first limit 9;
+#
+# This is the usual 'test' database.
+#
+use test;
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1(table_id char(20) primary key);
+insert into t1 values ('test.t1');
+insert into t1 values ('');
+handler t1 open;
+handler t1 read first limit 9;
+#
+# Check accesibility of all the tables.
+#
+use test;
+handler test.t1 read first limit 9;
+--error 1109;
+handler test.t2 read first limit 9;
+handler test_test.t1 read first limit 9;
+handler test_test.t2 read first limit 9;
+#
+# Cleanup.
+#
+handler test_test.t1 close;
+drop table test_test.t1;
+handler test_test.t2 close;
+drop table test_test.t2;
+drop database test_test;
+#
+use test;
+handler test.t1 close;
+drop table test.t1;
+
+#
+# In the following test FLUSH TABLES produces a deadlock
+# (hang forever) if the fix for bug#3565 is missing.
+#
+--disable_warnings
+drop table if exists t1;
+drop table if exists t2;
+--enable_warnings
+create table t1(table_id char(20) primary key);
+create table t2(table_id char(20) primary key);
+insert into t1 values ('test.t1');
+insert into t1 values ('');
+insert into t2 values ('test.t2');
+insert into t2 values ('');
+handler t1 open as a1;
+handler t1 open as a2;
+handler t2 open;
+handler a1 read first limit 9;
+handler a2 read first limit 9;
+handler t2 read first limit 9;
+flush tables;
+--error 1109;
+handler a1 read first limit 9;
+--error 1109;
+handler a2 read first limit 9;
+--error 1109;
+handler t2 read first limit 9;
+#
+handler t1 open as a1;
+handler t1 open as a2;
+handler t2 open;
+handler a1 read first limit 9;
+handler a2 read first limit 9;
+handler t2 read first limit 9;
+flush table t1;
+--error 1109;
+handler a1 read first limit 9;
+--error 1109;
+handler a2 read first limit 9;
+handler t2 read first limit 9;
+flush table t2;
+--error 1109;
+handler t2 close;
+drop table t1;
+drop table t2;
+