summaryrefslogtreecommitdiff
path: root/mysql-test/r/partition_csv.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/r/partition_csv.result')
-rw-r--r--mysql-test/r/partition_csv.result43
1 files changed, 41 insertions, 2 deletions
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