mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
0a5e4a0191
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
|