diff options
author | Guilhem Bichot <guilhem@mysql.com> | 2009-08-12 15:44:34 +0200 |
---|---|---|
committer | Guilhem Bichot <guilhem@mysql.com> | 2009-08-12 15:44:34 +0200 |
commit | eceba8912c9af415f9704bb671ddb4022eb8d9fc (patch) | |
tree | 5fdae14ec96fd61b574fe1c8b2d62d304114c53c /mysql-test/t/partition_csv.test | |
parent | e44bda225abd5a736999b9c73ac88e059d823c2d (diff) | |
parent | 6e7de781d73b8967f1ab9e6c076795dd83429a80 (diff) | |
download | mariadb-git-eceba8912c9af415f9704bb671ddb4022eb8d9fc.tar.gz |
merge of 5.1-main into mysql-trunk.
Changes to ha_innodb.cc are not propagated to plugin, they will come back
via Oracle/Innobase if needed.
Diffstat (limited to 'mysql-test/t/partition_csv.test')
-rw-r--r-- | mysql-test/t/partition_csv.test | 61 |
1 files changed, 57 insertions, 4 deletions
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 |