From: Mattias Jonsson Date: March 23 2011 3:27pm Subject: bzr commit into mysql-trunk branch (mattias.jonsson:3303) Bug#11891417 List-Archive: http://lists.mysql.com/commits/133662 X-Bug: 11891417 Message-Id: <201103231527.p2NFRpsf030680@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0427775090==" --===============0427775090== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///C:/ade/mysql-bzr/b11891417-trunk/ based on revid:georgi.kodinov@stripped 3303 Mattias Jonsson 2011-03-23 Bug#11891417 - MAIN SUITE PARTITIONS TESTS FAILING WITH INNODB ENGINE Several test depended on MyISAM engine, without explicitly setting it to MyISAM, resulting in failures/differences when using InnoDB as default engine. Fixed by hardcode the engine to MyISAM if test is MyISAM specific. Also replaced InnoDB/MyISAM with in the result. Also renamed partition_not_embedded to partition_myisam, since it now works with embedded and is myisam only. Also moved the pure MyISAM tests there. renamed: mysql-test/r/partition_not_embedded.result => mysql-test/r/partition_myisam.result mysql-test/t/partition_not_embedded.test => mysql-test/t/partition_myisam.test modified: mysql-test/r/partition_error.result mysql-test/r/partition_symlink.result mysql-test/t/partition_error.test mysql-test/t/partition_symlink.test mysql-test/r/partition_myisam.result mysql-test/t/partition_myisam.test === modified file 'mysql-test/r/partition_error.result' --- a/mysql-test/r/partition_error.result 2011-03-11 09:35:38 +0000 +++ b/mysql-test/r/partition_error.result 2011-03-23 15:27:39 +0000 @@ -720,95 +720,8 @@ DROP TABLE t1; CREATE TABLE t1 (c TIMESTAMP) PARTITION BY HASH (c) PARTITIONS 4; ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning +# Moved to partition_myisam, since it was MyISAM specific # Added test with existing TIMESTAMP partitioning (when it was allowed). -CREATE TABLE t1 (a TIMESTAMP) -PARTITION BY HASH (UNIX_TIMESTAMP(a)); -INSERT INTO t1 VALUES ('2000-01-02 03:04:05'); -SELECT * FROM t1; -a -2000-01-02 03:04:05 -FLUSH TABLES; -# replacing t1.frm with TO_DAYS(a) which was allowed earlier. -# Disable warnings, since the result would differ when running with -# --ps-protocol (only for the 'SELECT * FROM t1' statement). -SELECT * FROM t1; -a -2000-01-02 03:04:05 -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -/*!50100 PARTITION BY HASH (TO_DAYS(a)) */ -INSERT INTO t1 VALUES ('2001-02-03 04:05:06'); -SELECT * FROM t1; -a -2000-01-02 03:04:05 -2001-02-03 04:05:06 -ALTER TABLE t1 ADD PARTITION PARTITIONS 2; -Warnings: -Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed -ALTER TABLE t1 -PARTITION BY RANGE (TO_DAYS(a)) -(PARTITION p0 VALUES LESS THAN (10000), -PARTITION p1 VALUES LESS THAN (MAXVALUE)); -ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -/*!50100 PARTITION BY HASH (TO_DAYS(a)) -PARTITIONS 3 */ -CREATE TABLE t2 LIKE t1; -SHOW CREATE TABLE t2; -Table Create Table -t2 CREATE TABLE `t2` ( - `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -/*!50100 PARTITION BY HASH (TO_DAYS(a)) -PARTITIONS 3 */ -Warnings: -Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed -DROP TABLE t2; -CREATE TABLE t2 SELECT * FROM t1; -DROP TABLE t2; -ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a)); -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a)) */ -ALTER TABLE t1 ADD PARTITION PARTITIONS 2; -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a)) -PARTITIONS 3 */ -SELECT * FROM t1; -a -2000-01-02 03:04:05 -2001-02-03 04:05:06 -DROP TABLE t1; -# -# Bug#49161: Out of memory; restart server and try again (needed 2 bytes) -# -CREATE TABLE t1 (a INT) PARTITION BY HASH (a); -FLUSH TABLES; -CHECK TABLE t1; -Table Op Msg_type Msg_text -test.t1 check Error Failed to read from the .par file -test.t1 check Error Incorrect information in file: './test/t1.frm' -test.t1 check error Corrupt -SELECT * FROM t1; -ERROR HY000: Failed to read from the .par file -# Note that it is currently impossible to drop a partitioned table -# without the .par file -DROP TABLE t1; -ERROR 42S02: Unknown table 'test.t1' # # Bug#49477: Assertion `0' failed in ha_partition.cc:5530 # with temporary table and partitions @@ -841,10 +754,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `purchased` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE= DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(purchased)) SUBPARTITION BY HASH (TO_DAYS(purchased)) -(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = ) */ DROP TABLE t1; CREATE TABLE t1 (id INT, purchased DATE) PARTITION BY RANGE(YEAR(purchased)) @@ -862,12 +775,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `purchased` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE= DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(purchased)) SUBPARTITION BY HASH (TO_DAYS(purchased)) (PARTITION p0 VALUES LESS THAN MAXVALUE - (SUBPARTITION sp0 ENGINE = MyISAM, - SUBPARTITION sp1 ENGINE = MyISAM)) */ + (SUBPARTITION sp0 ENGINE = , + SUBPARTITION sp1 ENGINE = )) */ DROP TABLE t1; CREATE TABLE t1 (id INT, purchased DATE) PARTITION BY RANGE(YEAR(purchased)) @@ -882,53 +795,11 @@ Table Create Table t1 CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `purchased` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE= DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(purchased)) -(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = ) */ DROP TABLE t1; SET @@sql_mode= @org_mode; -# -# Bug#50392: insert_id is not reset for partitioned tables -# auto_increment on duplicate entry -CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY); -SET INSERT_ID= 13; -INSERT INTO t1 VALUES (NULL); -SET INSERT_ID= 12; -INSERT INTO t1 VALUES (NULL), (NULL), (NULL); -ERROR 23000: Duplicate entry '13' for key 'PRIMARY' -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`a`) -) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 -INSERT INTO t1 VALUES (NULL); -SELECT * FROM t1; -a -12 -13 -14 -DROP TABLE t1; -CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY(a); -SET INSERT_ID= 13; -INSERT INTO t1 VALUES (NULL); -SET INSERT_ID= 12; -INSERT INTO t1 VALUES (NULL), (NULL), (NULL); -ERROR 23000: Duplicate entry '13' for key 'PRIMARY' -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`a`) -) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 -/*!50100 PARTITION BY KEY (a) */ -INSERT INTO t1 VALUES (NULL); -SELECT * FROM t1; -a -12 -13 -14 -DROP TABLE t1; CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)); INSERT INTO t1 VALUES (1),(1); ERROR 23000: Duplicate entry '1' for key 'PRIMARY' @@ -938,19 +809,6 @@ PARTITION BY KEY (a) PARTITIONS 2; INSERT INTO t1 VALUES (1),(1); ERROR 23000: Duplicate entry '1' for key 'PRIMARY' DROP TABLE t1; -CREATE TABLE t1 (a INT) -PARTITION BY HASH (a) -( PARTITION p0 ENGINE=MyISAM, -PARTITION p1); -ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL -CREATE TABLE t1 (a INT) -PARTITION BY LIST (a) -SUBPARTITION BY HASH (a) -( PARTITION p0 VALUES IN (0) -( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2), -PARTITION p1 VALUES IN (1) -( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM)); -ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL CREATE TABLE t1 ( a int ) === renamed file 'mysql-test/r/partition_not_embedded.result' => 'mysql-test/r/partition_myisam.result' --- a/mysql-test/r/partition_not_embedded.result 2009-07-27 11:20:43 +0000 +++ b/mysql-test/r/partition_myisam.result 2011-03-23 15:27:39 +0000 @@ -1,6 +1,166 @@ DROP TABLE IF EXISTS t1, t2; +# +# Bug#50036: Inconsistent errors when using TIMESTAMP +# columns/expressions +# Added test with existing TIMESTAMP partitioning (when it was allowed). +CREATE TABLE t1 (a TIMESTAMP) +ENGINE = MyISAM +PARTITION BY HASH (UNIX_TIMESTAMP(a)); +INSERT INTO t1 VALUES ('2000-01-02 03:04:05'); +SELECT * FROM t1; +a +2000-01-02 03:04:05 +FLUSH TABLES; +# replacing t1.frm with TO_DAYS(a) which was allowed earlier. +# Disable warnings, since the result would differ when running with +# --ps-protocol (only for the 'SELECT * FROM t1' statement). +SELECT * FROM t1; +a +2000-01-02 03:04:05 +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE= DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (TO_DAYS(a)) */ +INSERT INTO t1 VALUES ('2001-02-03 04:05:06'); +SELECT * FROM t1; +a +2000-01-02 03:04:05 +2001-02-03 04:05:06 +ALTER TABLE t1 ADD PARTITION PARTITIONS 2; +Warnings: +Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed +ALTER TABLE t1 +PARTITION BY RANGE (TO_DAYS(a)) +(PARTITION p0 VALUES LESS THAN (10000), +PARTITION p1 VALUES LESS THAN (MAXVALUE)); +ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (TO_DAYS(a)) +PARTITIONS 3 */ +CREATE TABLE t2 LIKE t1; +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (TO_DAYS(a)) +PARTITIONS 3 */ +Warnings: +Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed +DROP TABLE t2; +CREATE TABLE t2 SELECT * FROM t1; +DROP TABLE t2; +ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a)) */ +ALTER TABLE t1 ADD PARTITION PARTITIONS 2; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a)) +PARTITIONS 3 */ +SELECT * FROM t1; +a +2000-01-02 03:04:05 +2001-02-03 04:05:06 +DROP TABLE t1; +# +# Bug#31931: Mix of handlers error message +# +CREATE TABLE t1 (a INT) +PARTITION BY HASH (a) +( PARTITION p0 ENGINE=MyISAM, +PARTITION p1); +ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL +CREATE TABLE t1 (a INT) +PARTITION BY LIST (a) +SUBPARTITION BY HASH (a) +( PARTITION p0 VALUES IN (0) +( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2), +PARTITION p1 VALUES IN (1) +( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM)); +ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL +# +# Bug#49161: Out of memory; restart server and try again (needed 2 bytes) +# +CREATE TABLE t1 (a INT) +ENGINE = MyISAM +PARTITION BY HASH (a); +FLUSH TABLES; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check Error Failed to read from the .par file +test.t1 check Error Incorrect information in file: './test/t1.frm' +test.t1 check error Corrupt +SELECT * FROM t1; +ERROR HY000: Failed to read from the .par file +# Note that it is currently impossible to drop a partitioned table +# without the .par file +DROP TABLE t1; +ERROR 42S02: Unknown table 'test.t1' +# +# Bug#50392: insert_id is not reset for partitioned tables +# auto_increment on duplicate entry +CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) +ENGINE = MyISAM; +SET INSERT_ID= 13; +INSERT INTO t1 VALUES (NULL); +SET INSERT_ID= 12; +# For transactional engines, 12 will not be inserted, since the failing +# statement is rolled back. +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +ERROR 23000: Duplicate entry '13' for key 'PRIMARY' +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`a`) +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 +INSERT INTO t1 VALUES (NULL); +# NOTE: 12 exists only in non transactional engines! +SELECT * FROM t1; +a +12 +13 +14 +DROP TABLE t1; +CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) +ENGINE = MyISAM +PARTITION BY KEY(a); +SET INSERT_ID= 13; +INSERT INTO t1 VALUES (NULL); +SET INSERT_ID= 12; +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +ERROR 23000: Duplicate entry '13' for key 'PRIMARY' +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`a`) +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +a +12 +13 +14 +DROP TABLE t1; # Bug#30102 test CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (6), PARTITION `p1....................` VALUES LESS THAN (9), === modified file 'mysql-test/r/partition_symlink.result' --- a/mysql-test/r/partition_symlink.result 2010-06-03 21:00:55 +0000 +++ b/mysql-test/r/partition_symlink.result 2011-03-23 15:27:39 +0000 @@ -4,6 +4,7 @@ DROP DATABASE IF EXISTS mysqltest2; # Test for WL#4445: EXCHANGE PARTITION # CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY LIST (a) (PARTITION p0 VALUES IN (0) DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' @@ -13,6 +14,7 @@ DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp', PARTITION p2 VALUES IN (2)); CREATE TABLE t2 (a INT) +ENGINE = MyISAM DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'; SHOW CREATE TABLE t1; @@ -43,11 +45,12 @@ DROP TABLE t1, t2; CREATE USER mysqltest_1@localhost; CREATE DATABASE mysqltest2; USE mysqltest2; -CREATE TABLE t1 (a INT); +CREATE TABLE t1 (a INT) ENGINE = MyISAM; INSERT INTO t1 VALUES (0); # user mysqltest_1: USE test; CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' @@ -84,6 +87,7 @@ DROP DATABASE mysqltest2; CREATE DATABASE mysqltest2; USE mysqltest2; CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' @@ -95,6 +99,7 @@ DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' # user mysqltest_1: USE test; CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' @@ -105,6 +110,7 @@ DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' ); Got one of the listed errors CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp' @@ -119,6 +125,7 @@ DROP DATABASE mysqltest2; USE test; DROP USER mysqltest_1@localhost; create table t2 (i int ) +ENGINE = MyISAM partition by range (i) ( partition p01 values less than (1000) @@ -131,6 +138,7 @@ select @@sql_mode; @@sql_mode NO_DIR_IN_CREATE create table t1 (i int ) +ENGINE = MyISAM partition by range (i) ( partition p01 values less than (1000) @@ -150,10 +158,12 @@ t2 CREATE TABLE `t2` ( DROP TABLE t1, t2; set @@sql_mode=@org_mode; create table t1 (a int) +ENGINE = MyISAM partition by key (a) (partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); Got one of the listed errors create table t1 (a int) +ENGINE = MyISAM partition by key (a) (partition p0, partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); === modified file 'mysql-test/t/partition_error.test' --- a/mysql-test/t/partition_error.test 2011-03-11 09:35:38 +0000 +++ b/mysql-test/t/partition_error.test 2011-03-23 15:27:39 +0000 @@ -752,65 +752,9 @@ DROP TABLE t1; CREATE TABLE t1 (c TIMESTAMP) PARTITION BY HASH (c) PARTITIONS 4; +--echo # Moved to partition_myisam, since it was MyISAM specific --echo # Added test with existing TIMESTAMP partitioning (when it was allowed). -CREATE TABLE t1 (a TIMESTAMP) -PARTITION BY HASH (UNIX_TIMESTAMP(a)); -INSERT INTO t1 VALUES ('2000-01-02 03:04:05'); ---sorted_result -SELECT * FROM t1; -FLUSH TABLES; ---echo # replacing t1.frm with TO_DAYS(a) which was allowed earlier. ---remove_file $MYSQLD_DATADIR/test/t1.frm ---copy_file std_data/parts/t1TIMESTAMP.frm $MYSQLD_DATADIR/test/t1.frm ---echo # Disable warnings, since the result would differ when running with ---echo # --ps-protocol (only for the 'SELECT * FROM t1' statement). ---disable_warnings ---sorted_result -SELECT * FROM t1; ---enable_warnings -SHOW CREATE TABLE t1; -INSERT INTO t1 VALUES ('2001-02-03 04:05:06'); ---sorted_result -SELECT * FROM t1; -ALTER TABLE t1 ADD PARTITION PARTITIONS 2; ---error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR -ALTER TABLE t1 -PARTITION BY RANGE (TO_DAYS(a)) -(PARTITION p0 VALUES LESS THAN (10000), - PARTITION p1 VALUES LESS THAN (MAXVALUE)); -SHOW CREATE TABLE t1; -CREATE TABLE t2 LIKE t1; -SHOW CREATE TABLE t2; -DROP TABLE t2; -CREATE TABLE t2 SELECT * FROM t1; -DROP TABLE t2; -ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a)); -SHOW CREATE TABLE t1; -ALTER TABLE t1 ADD PARTITION PARTITIONS 2; -SHOW CREATE TABLE t1; ---sorted_result -SELECT * FROM t1; -DROP TABLE t1; - ---echo # ---echo # Bug#49161: Out of memory; restart server and try again (needed 2 bytes) ---echo # -CREATE TABLE t1 (a INT) PARTITION BY HASH (a); -FLUSH TABLES; ---remove_file $MYSQLD_DATADIR/test/t1.par ---replace_result $MYSQLD_DATADIR ./ -CHECK TABLE t1; ---error ER_FAILED_READ_FROM_PAR_FILE -SELECT * FROM t1; ---echo # Note that it is currently impossible to drop a partitioned table ---echo # without the .par file ---error ER_BAD_TABLE_ERROR -DROP TABLE t1; ---remove_file $MYSQLD_DATADIR/test/t1.frm ---remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYI ---remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYD - --echo # --echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530 --echo # with temporary table and partitions @@ -831,6 +775,7 @@ SUBPARTITION BY HASH(TO_DAYS(purchased)) (PARTITION p0 VALUES LESS THAN MAXVALUE DATA DIRECTORY = '/tmp/not-existing' INDEX DIRECTORY = '/tmp/not-existing'); +--replace_result MyISAM InnoDB SHOW CREATE TABLE t1; DROP TABLE t1; CREATE TABLE t1 (id INT, purchased DATE) @@ -841,6 +786,7 @@ SUBPARTITION BY HASH(TO_DAYS(purchased)) DATA DIRECTORY = '/tmp/not-existing' INDEX DIRECTORY = '/tmp/not-existing', SUBPARTITION sp1)); +--replace_result MyISAM InnoDB SHOW CREATE TABLE t1; DROP TABLE t1; CREATE TABLE t1 (id INT, purchased DATE) @@ -848,34 +794,11 @@ PARTITION BY RANGE(YEAR(purchased)) (PARTITION p0 VALUES LESS THAN MAXVALUE DATA DIRECTORY = '/tmp/not-existing' INDEX DIRECTORY = '/tmp/not-existing'); +--replace_result MyISAM InnoDB SHOW CREATE TABLE t1; DROP TABLE t1; SET @@sql_mode= @org_mode; ---echo # ---echo # Bug#50392: insert_id is not reset for partitioned tables ---echo # auto_increment on duplicate entry -CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY); -SET INSERT_ID= 13; -INSERT INTO t1 VALUES (NULL); -SET INSERT_ID= 12; ---error ER_DUP_ENTRY -INSERT INTO t1 VALUES (NULL), (NULL), (NULL); -SHOW CREATE TABLE t1; -INSERT INTO t1 VALUES (NULL); -SELECT * FROM t1; -DROP TABLE t1; -CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY(a); -SET INSERT_ID= 13; -INSERT INTO t1 VALUES (NULL); -SET INSERT_ID= 12; ---error ER_DUP_ENTRY -INSERT INTO t1 VALUES (NULL), (NULL), (NULL); -SHOW CREATE TABLE t1; -INSERT INTO t1 VALUES (NULL); -SELECT * FROM t1; -DROP TABLE t1; - # # Bug#38719: Partitioning returns a different error code for a # duplicate key error @@ -890,24 +813,6 @@ INSERT INTO t1 VALUES (1),(1); DROP TABLE t1; # -# Bug#31931: Mix of handlers error message -# ---error ER_MIX_HANDLER_ERROR -CREATE TABLE t1 (a INT) -PARTITION BY HASH (a) -( PARTITION p0 ENGINE=MyISAM, - PARTITION p1); ---error ER_MIX_HANDLER_ERROR -CREATE TABLE t1 (a INT) -PARTITION BY LIST (a) -SUBPARTITION BY HASH (a) -( PARTITION p0 VALUES IN (0) -( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2), - PARTITION p1 VALUES IN (1) -( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM)); - - -# # Bug 29368: # Incorrect error, 1467, for syntax error when creating partition --error ER_PARTITION_REQUIRES_VALUES_ERROR @@ -923,7 +828,7 @@ PARTITION BY RANGE (a) # # Partition by key stand-alone error # ---error 1064 +--error ER_PARSE_ERROR partition by list (a) partitions 3 (partition x1 values in (1,2,9,4) tablespace ts1, @@ -960,7 +865,7 @@ partitions 3 # # Partition by key, partition function not allowed # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -975,7 +880,7 @@ partitions 3 # # Partition by key, no partition name # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1023,7 +928,7 @@ select load_file('$MYSQLD_DATADIR/test/t # # Partition by hash, invalid field in function # ---error 1054 +--error ER_BAD_FIELD_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1053,7 +958,7 @@ partitions 3 # # Partition by key specified 3 partitions but only defined 2 => error # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1066,7 +971,7 @@ partitions 3 # # Partition by hash, random function # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1079,7 +984,7 @@ partitions 2 # # Partition by range, random function # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1092,7 +997,7 @@ partitions 2 # # Partition by list, random function # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1228,7 +1133,7 @@ select load_file('$MYSQLD_DATADIR/test/t # # Subpartition by hash, no partitions defined, wrong subpartition function # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1255,7 +1160,7 @@ select load_file('$MYSQLD_DATADIR/test/t # # Subpartition by hash, no partitions defined, wrong subpartition function # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1296,7 +1201,7 @@ subpartition by hash (3+4); # # Subpartition by hash, no partitions defined, wrong subpartition function # ---error 1054 +--error ER_BAD_FIELD_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1322,7 +1227,7 @@ select load_file('$MYSQLD_DATADIR/test/t # # Partition by range, invalid field in function # ---error 1054 +--error ER_BAD_FIELD_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1476,7 +1381,7 @@ partitions 2 # # Subpartition by hash, wrong number of subpartitions # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1496,7 +1401,7 @@ subpartitions 3 # # Subpartition by hash, wrong number of subpartitions # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1516,7 +1421,7 @@ subpartition by hash (a+b) # # Subpartition by list => error # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1535,7 +1440,7 @@ subpartition by list (a+b) # # Subpartition by list => error # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1579,7 +1484,7 @@ partitions 2 # # Partition by list, invalid field in function # ---error 1054 +--error ER_BAD_FIELD_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1663,7 +1568,7 @@ partitions 2 # # Partition by list, missing parenthesis # ---error 1064 +--error ER_PARSE_ERROR CREATE TABLE t1 ( a int not null, b int not null, @@ -1677,7 +1582,7 @@ partitions 2 # # Bug #13439: Crash when LESS THAN (non-literal) # ---error 1054 +--error ER_BAD_FIELD_ERROR CREATE TABLE t1 (a int) PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (x1)); @@ -1704,13 +1609,13 @@ partition by range (ascii(v)) (partition p0 values less than (10)); #drop table t1; --- error 1064 +-- error ER_PARSE_ERROR create table t1 (a int) partition by hash (rand(a)); --- error 1064 +-- error ER_PARSE_ERROR create table t1 (a int) partition by hash(CURTIME() + a); --- error 1064 +-- error ER_PARSE_ERROR create table t1 (a int) partition by hash (NOW()+a); -- error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED === renamed file 'mysql-test/t/partition_not_embedded.test' => 'mysql-test/t/partition_myisam.test' --- a/mysql-test/t/partition_not_embedded.test 2009-07-27 11:20:43 +0000 +++ b/mysql-test/t/partition_myisam.test 2011-03-23 15:27:39 +0000 @@ -1,15 +1,135 @@ -- source include/have_partition.inc --- source include/not_embedded.inc + --disable_warnings DROP TABLE IF EXISTS t1, t2; --enable_warnings + +# These tests is only useful when running on MyISAM, +# due to DATA/INDEX directory, non transactional behavior, tests with MyISAM +# files etc. + let $MYSQLD_DATADIR= `SELECT @@datadir`; + +--echo # +--echo # Bug#50036: Inconsistent errors when using TIMESTAMP +--echo # columns/expressions + +--echo # Added test with existing TIMESTAMP partitioning (when it was allowed). +CREATE TABLE t1 (a TIMESTAMP) +ENGINE = MyISAM +PARTITION BY HASH (UNIX_TIMESTAMP(a)); +INSERT INTO t1 VALUES ('2000-01-02 03:04:05'); +--sorted_result +SELECT * FROM t1; +FLUSH TABLES; +--echo # replacing t1.frm with TO_DAYS(a) which was allowed earlier. +--remove_file $MYSQLD_DATADIR/test/t1.frm +--copy_file std_data/parts/t1TIMESTAMP.frm $MYSQLD_DATADIR/test/t1.frm +--echo # Disable warnings, since the result would differ when running with +--echo # --ps-protocol (only for the 'SELECT * FROM t1' statement). +--disable_warnings +--sorted_result +SELECT * FROM t1; +--enable_warnings +--replace_result MyISAM InnoDB +SHOW CREATE TABLE t1; +INSERT INTO t1 VALUES ('2001-02-03 04:05:06'); +--sorted_result +SELECT * FROM t1; +ALTER TABLE t1 ADD PARTITION PARTITIONS 2; +--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR +ALTER TABLE t1 +PARTITION BY RANGE (TO_DAYS(a)) +(PARTITION p0 VALUES LESS THAN (10000), + PARTITION p1 VALUES LESS THAN (MAXVALUE)); +SHOW CREATE TABLE t1; +CREATE TABLE t2 LIKE t1; +SHOW CREATE TABLE t2; +DROP TABLE t2; +CREATE TABLE t2 SELECT * FROM t1; +DROP TABLE t2; +ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a)); +SHOW CREATE TABLE t1; +ALTER TABLE t1 ADD PARTITION PARTITIONS 2; +SHOW CREATE TABLE t1; +--sorted_result +SELECT * FROM t1; +DROP TABLE t1; + + +--echo # +--echo # Bug#31931: Mix of handlers error message +--echo # +--error ER_MIX_HANDLER_ERROR +CREATE TABLE t1 (a INT) +PARTITION BY HASH (a) +( PARTITION p0 ENGINE=MyISAM, + PARTITION p1); +--error ER_MIX_HANDLER_ERROR +CREATE TABLE t1 (a INT) +PARTITION BY LIST (a) +SUBPARTITION BY HASH (a) +( PARTITION p0 VALUES IN (0) +( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2), + PARTITION p1 VALUES IN (1) +( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM)); + +--echo # +--echo # Bug#49161: Out of memory; restart server and try again (needed 2 bytes) +--echo # +CREATE TABLE t1 (a INT) +ENGINE = MyISAM +PARTITION BY HASH (a); +FLUSH TABLES; +--remove_file $MYSQLD_DATADIR/test/t1.par +--replace_result $MYSQLD_DATADIR ./ +CHECK TABLE t1; +--error ER_FAILED_READ_FROM_PAR_FILE +SELECT * FROM t1; +--echo # Note that it is currently impossible to drop a partitioned table +--echo # without the .par file +--error ER_BAD_TABLE_ERROR +DROP TABLE t1; +--remove_file $MYSQLD_DATADIR/test/t1.frm +--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYI +--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYD + +--echo # +--echo # Bug#50392: insert_id is not reset for partitioned tables +--echo # auto_increment on duplicate entry +CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) +ENGINE = MyISAM; +SET INSERT_ID= 13; +INSERT INTO t1 VALUES (NULL); +SET INSERT_ID= 12; +--echo # For transactional engines, 12 will not be inserted, since the failing +--echo # statement is rolled back. +--error ER_DUP_ENTRY +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +SHOW CREATE TABLE t1; +INSERT INTO t1 VALUES (NULL); +--echo # NOTE: 12 exists only in non transactional engines! +SELECT * FROM t1; +DROP TABLE t1; +CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) +ENGINE = MyISAM +PARTITION BY KEY(a); +SET INSERT_ID= 13; +INSERT INTO t1 VALUES (NULL); +SET INSERT_ID= 12; +--error ER_DUP_ENTRY +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +SHOW CREATE TABLE t1; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +DROP TABLE t1; # # Bug#30102: rename table does corrupt tables with partition files on failure # --echo # Bug#30102 test CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (6), PARTITION `p1....................` VALUES LESS THAN (9), === modified file 'mysql-test/t/partition_symlink.test' --- a/mysql-test/t/partition_symlink.test 2010-06-03 21:00:55 +0000 +++ b/mysql-test/t/partition_symlink.test 2011-03-23 15:27:39 +0000 @@ -1,5 +1,6 @@ # Test that must have symlink. eg. using DATA/INDEX DIR # (DATA/INDEX DIR requires symlinks) +# This test is only useful for MyISAM, since no other engine supports DATA DIR -- source include/have_partition.inc -- source include/have_symlink.inc # remove the not_windows line after fixing bug#33687 @@ -16,6 +17,7 @@ DROP DATABASE IF EXISTS mysqltest2; --echo # --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 (a INT) +ENGINE = MyISAM PARTITION BY LIST (a) (PARTITION p0 VALUES IN (0) DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp' @@ -27,6 +29,7 @@ PARTITION BY LIST (a) --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t2 (a INT) +ENGINE = MyISAM DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp'; @@ -73,13 +76,14 @@ DROP TABLE t1, t2; CREATE USER mysqltest_1@localhost; CREATE DATABASE mysqltest2; USE mysqltest2; - CREATE TABLE t1 (a INT); + CREATE TABLE t1 (a INT) ENGINE = MyISAM; INSERT INTO t1 VALUES (0); connect(con1,localhost,mysqltest_1,,); -- echo # user mysqltest_1: USE test; -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 (a INT) + ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp' @@ -122,6 +126,7 @@ connection default; USE mysqltest2; -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 (a INT) + ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp' @@ -136,6 +141,7 @@ connection con1; -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR -- error 1,1 eval CREATE TABLE t1 (a INT) + ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp' @@ -147,6 +153,7 @@ connection con1; -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR -- error 1,1 eval CREATE TABLE t1 (a INT) + ENGINE = MyISAM PARTITION BY LIST (a) ( PARTITION p0 VALUES IN (0) DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp' @@ -168,6 +175,7 @@ connection default; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval create table t2 (i int ) +ENGINE = MyISAM partition by range (i) ( partition p01 values less than (1000) @@ -179,6 +187,7 @@ set @org_mode=@@sql_mode; set @@sql_mode='NO_DIR_IN_CREATE'; select @@sql_mode; create table t1 (i int ) +ENGINE = MyISAM partition by range (i) ( partition p01 values less than (1000) @@ -197,6 +206,7 @@ set @@sql_mode=@org_mode; # Added ER_WRONG_TABLE_NAME and reported bug#39045 -- error ER_WRONG_ARGUMENTS, ER_WRONG_TABLE_NAME create table t1 (a int) +ENGINE = MyISAM partition by key (a) (partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); @@ -207,6 +217,7 @@ partition by key (a) # Added ER_WRONG_TABLE_NAME and reported bug#39045 --error ER_WRONG_ARGUMENTS, ER_WRONG_TABLE_NAME create table t1 (a int) +ENGINE = MyISAM partition by key (a) (partition p0, partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); --===============0427775090== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/mattias.jonsson@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mattias.jonsson@stripped\ # 97609y3yvavh68g5 # target_branch: file:///C:/ade/mysql-bzr/b11891417-trunk/ # testament_sha1: ad0d08b58b037a95da35faedca5063c1621b9064 # timestamp: 2011-03-23 16:27:46 +0100 # base_revision_id: georgi.kodinov@stripped\ # q1t1vd16ptv09hzw # # Begin bundle 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 --===============0427775090==--