mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 12:56:14 +01:00 
			
		
		
		
	Updated tests: cases with bugs or which cannot be run with the cursor-protocol were excluded with "--disable_cursor_protocol"/"--enable_cursor_protocol" Fix for v.10.5
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
# Tests for the partition storage engine in connection with the
 | 
						|
# storage engine CSV.
 | 
						|
#
 | 
						|
# Creation:
 | 
						|
# 2007-10-18 mleich  - Move CSV related sub tests of partition.test to
 | 
						|
#                      this test. Reason: CSV is not everytime available.
 | 
						|
#                    - Minor cleanup
 | 
						|
#
 | 
						|
 | 
						|
--source include/have_partition.inc
 | 
						|
--source include/have_csv.inc
 | 
						|
 | 
						|
call mtr.add_suppression("Failed to write to mysql.general_log");
 | 
						|
 | 
						|
#
 | 
						|
# Bug#19307: Partitions: csv delete failure
 | 
						|
#            = CSV engine crashes
 | 
						|
#
 | 
						|
--disable_warnings
 | 
						|
drop table if exists t1;
 | 
						|
--enable_warnings
 | 
						|
--error ER_PARTITION_MERGE_ERROR
 | 
						|
create table t1 (a int)
 | 
						|
engine = csv
 | 
						|
partition by list (a)
 | 
						|
(partition p0 values in (null));
 | 
						|
 | 
						|
#
 | 
						|
# 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;
 | 
						|
 | 
						|
--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;
 | 
						|
 | 
						|
--disable_cursor_protocol
 | 
						|
SELECT @@global.log_output INTO @old_glo;
 | 
						|
--enable_cursor_protocol
 | 
						|
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
 |