diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2013-09-20 13:12:53 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2013-09-20 13:12:53 +0400 |
commit | 815c607dcfa4a43be73e42c325956eda16e24c91 (patch) | |
tree | bb36fd8012e2e29163d1b14bac9c05f18b7a01d7 /mysql-test/t/merge.test | |
parent | 8b5938a1276ffc4fe7f63a21c08a342f301cca30 (diff) | |
download | mariadb-git-815c607dcfa4a43be73e42c325956eda16e24c91.tar.gz |
MDEV-4879 - Merge test cases for new CREATE TEMPORARY TABLE privilege model
- merged test cases for MySQL bug#27480
- fixed that LOCK TABLES was unable to open temporary table
(covered by grant2 test, merged appropriate code from 5.6)
- commented lines that cause server crash in merge test, reported
MDEV-5042 (not relevant to bug#27480)
Diffstat (limited to 'mysql-test/t/merge.test')
-rw-r--r-- | mysql-test/t/merge.test | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test index 7e198275730..18ec2b3d62f 100644 --- a/mysql-test/t/merge.test +++ b/mysql-test/t/merge.test @@ -2873,6 +2873,86 @@ drop view t3; --echo End of 5.5 tests + +--echo # +--echo # Additional coverage for refactoring which is made as part +--echo # of fix for bug #27480 "Extend CREATE TEMPORARY TABLES privilege +--echo # to allow temp table operations". +--echo # +--echo # Check that prelocking works correctly for various variants of +--echo # merge tables. +--disable_warnings +drop table if exists t1, t2, m1; +drop function if exists f1; +--enable_warnings +create table t1 (j int); +insert into t1 values (1); +create function f1() returns int return (select count(*) from m1); +create temporary table t2 (a int) engine=myisam; +insert into t2 values (1); +create temporary table m1 (a int) engine=merge union=(t2); +select f1() from t1; +drop tables t2, m1; +create table t2 (a int) engine=myisam; +insert into t2 values (1); +create table m1 (a int) engine=merge union=(t2); +select f1() from t1; +drop table m1; +create temporary table m1 (a int) engine=merge union=(t2); +select f1() from t1; +drop tables t1, t2, m1; +drop function f1; +--echo # +--echo # Check that REPAIR/CHECK and CHECKSUM statements work correctly +--echo # for various variants of merge tables. +create table t1 (a int) engine=myisam; +insert into t1 values (1); +create table m1 (a int) engine=merge union=(t1); +check table m1; +repair table m1; +checksum table m1; +drop tables t1, m1; +create temporary table t1 (a int) engine=myisam; +insert into t1 values (1); +create temporary table m1 (a int) engine=merge union=(t1); +check table m1; +repair table m1; +checksum table m1; +drop tables t1, m1; +create table t1 (a int) engine=myisam; +insert into t1 values (1); +create temporary table m1 (a int) engine=merge union=(t1); +check table m1; +repair table m1; +checksum table m1; +drop tables t1, m1; + +# Check effect of Bug#27480-preliminary patch: +# a merge-table with non-existing children, opened from a prelocked list. + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS m1; +DROP TRIGGER IF EXISTS trg1; +DROP TABLE IF EXISTS q1; +DROP TABLE IF EXISTS q2; +--enable_warnings + +CREATE TABLE t1(a INT); +CREATE TABLE m1(a INT) ENGINE = MERGE UNION (q1, q2); + +CREATE TRIGGER trg1 BEFORE DELETE ON t1 +FOR EACH ROW + INSERT INTO m1 VALUES (1); + +# Uncomment the following to lines when MDEV-5042 is fixed. +#--error ER_WRONG_MRG_TABLE +#DELETE FROM t1; + +DROP TRIGGER trg1; +DROP TABLE t1; +DROP TABLE m1; + --disable_result_log --disable_query_log eval set global storage_engine=$default; |