diff options
author | unknown <msvensson@neptunus.(none)> | 2006-01-10 11:35:21 +0100 |
---|---|---|
committer | unknown <msvensson@neptunus.(none)> | 2006-01-10 11:35:21 +0100 |
commit | c521a51340e7251dd0fe959fe3b9c3230047e7ab (patch) | |
tree | 395f42fc26b443b8653346947958ca6ee579354e /mysql-test | |
parent | 7bf8a9e6cafbaaf3ee71724a29bbd3880a30fea6 (diff) | |
download | mariadb-git-c521a51340e7251dd0fe959fe3b9c3230047e7ab.tar.gz |
Bug #13228 open table cache not flushed when table schema changed
- Close open unused handlers when a schema error occurs.
sql/ha_ndbcluster.cc:
When a schema error occurs call close_cached_tables to close any open unused handlers that has opened this table.
mysql-test/r/ndb_alter_table2.result:
New BitKeeper file ``mysql-test/r/ndb_alter_table2.result''
mysql-test/t/ndb_alter_table2.test:
New BitKeeper file ``mysql-test/t/ndb_alter_table2.test''
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/ndb_alter_table2.result | 42 | ||||
-rw-r--r-- | mysql-test/t/ndb_alter_table2.test | 83 |
2 files changed, 125 insertions, 0 deletions
diff --git a/mysql-test/r/ndb_alter_table2.result b/mysql-test/r/ndb_alter_table2.result new file mode 100644 index 00000000000..399578dc97b --- /dev/null +++ b/mysql-test/r/ndb_alter_table2.result @@ -0,0 +1,42 @@ +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 ( +a INT NOT NULL PRIMARY KEY, +b INT NOT NULL +) ENGINE=ndbcluster; +BEGIN; +INSERT INTO t1 VALUES (9410,9412); +BEGIN; +INSERT INTO t1 VALUES (9411,9412); +BEGIN; +INSERT INTO t1 VALUES (9412,9412); +BEGIN; +INSERT INTO t1 VALUES (9413,9412); +BEGIN; +INSERT INTO t1 VALUES (9414,9412); +BEGIN; +INSERT INTO t1 VALUES (9415,9412); +ROLLBACK; +ROLLBACK; +ROLLBACK; +ROLLBACK; +ROLLBACK; +ROLLBACK; +drop table t1; +CREATE TABLE t1 ( +a INT NOT NULL PRIMARY KEY, +b INT NOT NULL, +c INT NOT NULL +) ENGINE=ndbcluster; +select * from t1; +ERROR HY000: Got error 241 'Invalid schema object version' from ndbcluster +select * from t1; +a b c +select * from t1; +a b c +select * from t1; +a b c +select * from t1; +a b c +select * from t1; +a b c +drop table t1; diff --git a/mysql-test/t/ndb_alter_table2.test b/mysql-test/t/ndb_alter_table2.test new file mode 100644 index 00000000000..3861fcc6c9d --- /dev/null +++ b/mysql-test/t/ndb_alter_table2.test @@ -0,0 +1,83 @@ +-- source include/have_ndb.inc +-- source include/have_multi_ndb.inc +-- source include/not_embedded.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +connect (con1,localhost,root,,test); +connect (con2,localhost,root,,test); +connect (con3,localhost,root,,test); +connect (con4,localhost,root,,test); +connect (con5,localhost,root,,test); +connect (con6,localhost,root,,test); + +CREATE TABLE t1 ( + a INT NOT NULL PRIMARY KEY, + b INT NOT NULL +) ENGINE=ndbcluster; + +connection con1; +BEGIN; +INSERT INTO t1 VALUES (9410,9412); +connection con2; +BEGIN; +--send +INSERT INTO t1 VALUES (9411,9412); +connection con3; +BEGIN; +--send +INSERT INTO t1 VALUES (9412,9412); +connection con4; +BEGIN; +--send +INSERT INTO t1 VALUES (9413,9412); +connection con5; +BEGIN; +--send +INSERT INTO t1 VALUES (9414,9412); +connection con6; +BEGIN; +--send +INSERT INTO t1 VALUES (9415,9412); +connection con1; +sleep 1; + +ROLLBACK; +connection con2; +reap; +ROLLBACK; +connection con3; +reap; +ROLLBACK; +connection con4; +reap; +ROLLBACK; +connection con5; +reap; +ROLLBACK; +connection con6; +reap; +ROLLBACK; + +connection server2; + +drop table t1; +CREATE TABLE t1 ( + a INT NOT NULL PRIMARY KEY, + b INT NOT NULL, + c INT NOT NULL +) ENGINE=ndbcluster; + +connection server1; + +--error 1296 +select * from t1; +select * from t1; +select * from t1; +select * from t1; +select * from t1; +select * from t1; + +drop table t1; |