summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2009-07-31 20:39:26 -0300
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2009-07-31 20:39:26 -0300
commitd0f98f38ed9288fd0751108fdf27e79c234c38ba (patch)
tree6a2ba0dc4016b5a064908e7bcb2bfac3c17bc5bc
parent276d3dd2288f09d119cf6120c386cb9763209ece (diff)
downloadmariadb-git-d0f98f38ed9288fd0751108fdf27e79c234c38ba.tar.gz
Test case clean up: Move test cases that depend on the CSV storage
engine to the partition_csv test. Also remove test case that was duplicated. Fix connection procedure with the embedded server. mysql-test/r/partition.result: Update test case result. mysql-test/r/partition_csv.result: Update test case result. mysql-test/t/partition.test: Move test cases to the partition_csv test. mysql-test/t/partition_csv.test: Move tests from partition.test and remove duplicate. Tweaky connection procedure to work with embedded.
-rw-r--r--mysql-test/r/partition.result47
-rw-r--r--mysql-test/r/partition_csv.result43
-rw-r--r--mysql-test/t/partition.test68
-rw-r--r--mysql-test/t/partition_csv.test61
4 files changed, 98 insertions, 121 deletions
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result
index c6d2db89ccd..8b95f4e7e12 100644
--- a/mysql-test/r/partition.result
+++ b/mysql-test/r/partition.result
@@ -1,4 +1,3 @@
-SET @old_general_log= @@global.general_log;
drop table if exists t1, t2;
CREATE TABLE t1 (a INT, FOREIGN KEY (a) REFERENCES t0 (a))
ENGINE=MyISAM
@@ -1627,17 +1626,6 @@ create table t (s1 int) engine=myisam partition by key (s1);
create trigger t_ad after delete on t for each row insert into t values (old.s1);
insert into t values (1);
drop table t;
-USE mysql;
-TRUNCATE TABLE general_log;
-SET @old_general_log_state = @@global.general_log;
-SET GLOBAL general_log = 0;
-ALTER TABLE general_log ENGINE = MyISAM;
-ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
-(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
-ERROR HY000: Incorrect usage of PARTITION and log table
-ALTER TABLE general_log ENGINE = CSV;
-SET GLOBAL general_log = @old_general_log_state;
-use test;
create table t2 (b int);
create table t1 (b int)
PARTITION BY RANGE (t2.b) (
@@ -1997,39 +1985,4 @@ CREATE TABLE t1(id INT,KEY(id)) ENGINE=MYISAM
PARTITION BY HASH(id) PARTITIONS 2;
DROP TABLE t1;
SET SESSION SQL_MODE=DEFAULT;
-
-Bug#40281: partitioning the general log table crashes the server
-
---- set up partitioned log, and switch to it
-USE mysql;
-SET GLOBAL general_log =0;
-CREATE TABLE gl_partitioned LIKE general_log;
-ALTER TABLE gl_partitioned ENGINE=myisam;
-ALTER TABLE gl_partitioned PARTITION BY HASH (thread_id) PARTITIONS 10;
-ALTER TABLE general_log RENAME TO gl_nonpartitioned;
-ALTER TABLE gl_partitioned RENAME TO general_log;
-SELECT @@global.log_output INTO @old_glo;
-SET GLOBAL log_output='table';
-SET GLOBAL general_log =1;
---- do some things to be logged to partitioned log, should fail
-USE /* 1 */ test;
-CREATE TABLE t1 (i INT);
-INSERT INTO t1 VALUES (1);
-SELECT * FROM t1;
-i
-1
-USE mysql;
-SET GLOBAL general_log =0;
-ALTER TABLE general_log RENAME TO gl_partitioned;
-ALTER TABLE gl_nonpartitioned RENAME TO general_log;
---- show whether we actually logged anything (no) to general_log
-SELECT COUNT(argument) FROM gl_partitioned;
-COUNT(argument)
-0
-DROP TABLE gl_partitioned;
-SET GLOBAL log_output=@old_glo;
-SET GLOBAL general_log =1;
-USE /* 2 */ test;
-DROP TABLE t1;
End of 5.1 tests
-SET @@global.general_log= @old_general_log;
diff --git a/mysql-test/r/partition_csv.result b/mysql-test/r/partition_csv.result
index b5e1dcd9541..07651f29da4 100644
--- a/mysql-test/r/partition_csv.result
+++ b/mysql-test/r/partition_csv.result
@@ -5,11 +5,50 @@ partition by list (a)
(partition p0 values in (null));
ERROR HY000: Engine cannot be used in partitioned tables
USE mysql;
+TRUNCATE TABLE general_log;
+SET @old_general_log_state = @@global.general_log;
SET GLOBAL general_log = 0;
ALTER TABLE general_log ENGINE = MyISAM;
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
-(PARTITION p0 VALUES LESS THAN (733144),
-PARTITION p1 VALUES LESS THAN (3000000));
+(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
ERROR HY000: Incorrect usage of PARTITION and log table
ALTER TABLE general_log ENGINE = CSV;
+SET GLOBAL general_log = @old_general_log_state;
+use test;
+#
+# Bug#40281: partitioning the general log table crashes the server
+#
+# set up partitioned log, and switch to it
+USE mysql;
+SET @old_general_log_state = @@global.general_log;
+SET GLOBAL general_log = 0;
+CREATE TABLE gl_partitioned LIKE general_log;
+ALTER TABLE gl_partitioned ENGINE=myisam;
+ALTER TABLE gl_partitioned PARTITION BY HASH (thread_id) PARTITIONS 10;
+ALTER TABLE general_log RENAME TO gl_nonpartitioned;
+ALTER TABLE gl_partitioned RENAME TO general_log;
+SELECT @@global.log_output INTO @old_glo;
+SET GLOBAL log_output='table';
+SET GLOBAL general_log =1;
+# do some things to be logged to partitioned log, should fail
+USE /* 1 */ test;
+CREATE TABLE t1 (i INT);
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+i
+1
+USE mysql;
+SET GLOBAL general_log =0;
+ALTER TABLE general_log RENAME TO gl_partitioned;
+ALTER TABLE gl_nonpartitioned RENAME TO general_log;
+# show whether we actually logged anything (no) to general_log
+SELECT COUNT(argument) FROM gl_partitioned;
+COUNT(argument)
+0
+DROP TABLE gl_partitioned;
+SET GLOBAL log_output = @old_glo;
SET GLOBAL general_log = 1;
+USE /* 2 */ test;
+DROP TABLE t1;
+SET GLOBAL general_log = @old_general_log_state;
+End of 5.1 tests
diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test
index 54687c94466..542a992bb0e 100644
--- a/mysql-test/t/partition.test
+++ b/mysql-test/t/partition.test
@@ -10,8 +10,6 @@
#
--source include/have_partition.inc
-SET @old_general_log= @@global.general_log;
-
--disable_warnings
drop table if exists t1, t2;
--enable_warnings
@@ -1652,23 +1650,6 @@ insert into t values (1);
drop table t;
#
-# Bug #27816: Log tables ran with partitions crashes the server when logging
-# is enabled.
-#
-
-USE mysql;
-TRUNCATE TABLE general_log;
-SET @old_general_log_state = @@global.general_log;
-SET GLOBAL general_log = 0;
-ALTER TABLE general_log ENGINE = MyISAM;
---error ER_WRONG_USAGE
-ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
- (PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
-ALTER TABLE general_log ENGINE = CSV;
-SET GLOBAL general_log = @old_general_log_state;
-use test;
-
-#
# Bug #27084 partitioning by list seems failing when using case
# BUG #18198: Case no longer supported, test case removed
#
@@ -1998,53 +1979,4 @@ CREATE TABLE t1(id INT,KEY(id)) ENGINE=MYISAM
DROP TABLE t1;
SET SESSION SQL_MODE=DEFAULT;
---echo
---echo Bug#40281: partitioning the general log table crashes the server
---echo
-
---echo --- set up partitioned log, and switch to it
-
-USE mysql;
-SET GLOBAL general_log =0;
-CREATE TABLE gl_partitioned LIKE general_log;
-ALTER TABLE gl_partitioned ENGINE=myisam;
-ALTER TABLE gl_partitioned PARTITION BY HASH (thread_id) PARTITIONS 10;
-ALTER TABLE general_log RENAME TO gl_nonpartitioned;
-ALTER TABLE gl_partitioned RENAME TO general_log;
-
-SELECT @@global.log_output INTO @old_glo;
-SET GLOBAL log_output='table';
-SET GLOBAL general_log =1;
-
---echo --- do some things to be logged to partitioned log, should fail
-USE /* 1 */ test;
-
-CREATE TABLE t1 (i INT);
-
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connection master;
-INSERT INTO t1 VALUES (1);
-SELECT * FROM t1;
-disconnect master;
-
-connection default;
-
-USE mysql;
-SET GLOBAL general_log =0;
-ALTER TABLE general_log RENAME TO gl_partitioned;
-ALTER TABLE gl_nonpartitioned RENAME TO general_log;
-
---echo --- show whether we actually logged anything (no) to general_log
-SELECT COUNT(argument) FROM gl_partitioned;
-
-DROP TABLE gl_partitioned;
-
-SET GLOBAL log_output=@old_glo;
-SET GLOBAL general_log =1;
-
-USE /* 2 */ test;
-DROP TABLE t1;
-
--echo End of 5.1 tests
-
-SET @@global.general_log= @old_general_log;
diff --git a/mysql-test/t/partition_csv.test b/mysql-test/t/partition_csv.test
index aa3d9d67c26..dd2ef7c1d1f 100644
--- a/mysql-test/t/partition_csv.test
+++ b/mysql-test/t/partition_csv.test
@@ -24,15 +24,68 @@ partition by list (a)
(partition p0 values in (null));
#
-# Bug#27816: Log tables ran with partitions crashes the server when logging
-# is enabled.
+# Bug #27816: Log tables ran with partitions crashes the server when logging
+# is enabled.
#
+
USE mysql;
+TRUNCATE TABLE general_log;
+SET @old_general_log_state = @@global.general_log;
SET GLOBAL general_log = 0;
ALTER TABLE general_log ENGINE = MyISAM;
--error ER_WRONG_USAGE
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
- (PARTITION p0 VALUES LESS THAN (733144),
- PARTITION p1 VALUES LESS THAN (3000000));
+ (PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
ALTER TABLE general_log ENGINE = CSV;
+SET GLOBAL general_log = @old_general_log_state;
+use test;
+
+--echo #
+--echo # Bug#40281: partitioning the general log table crashes the server
+--echo #
+
+--echo # set up partitioned log, and switch to it
+
+USE mysql;
+SET @old_general_log_state = @@global.general_log;
+SET GLOBAL general_log = 0;
+CREATE TABLE gl_partitioned LIKE general_log;
+ALTER TABLE gl_partitioned ENGINE=myisam;
+ALTER TABLE gl_partitioned PARTITION BY HASH (thread_id) PARTITIONS 10;
+ALTER TABLE general_log RENAME TO gl_nonpartitioned;
+ALTER TABLE gl_partitioned RENAME TO general_log;
+
+SELECT @@global.log_output INTO @old_glo;
+SET GLOBAL log_output='table';
+SET GLOBAL general_log =1;
+
+--echo # do some things to be logged to partitioned log, should fail
+USE /* 1 */ test;
+
+CREATE TABLE t1 (i INT);
+
+connect (con1,localhost,root,,);
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+disconnect con1;
+
+connection default;
+USE mysql;
+SET GLOBAL general_log =0;
+ALTER TABLE general_log RENAME TO gl_partitioned;
+ALTER TABLE gl_nonpartitioned RENAME TO general_log;
+
+--echo # show whether we actually logged anything (no) to general_log
+SELECT COUNT(argument) FROM gl_partitioned;
+
+DROP TABLE gl_partitioned;
+
+SET GLOBAL log_output = @old_glo;
SET GLOBAL general_log = 1;
+
+USE /* 2 */ test;
+DROP TABLE t1;
+
+SET GLOBAL general_log = @old_general_log_state;
+
+--echo End of 5.1 tests