mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| call mtr.add_suppression("Failed to write to mysql.general_log");
 | |
| drop table if exists t1;
 | |
| create table t1 (a int)
 | |
| engine = csv
 | |
| 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));
 | |
| 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
 |