diff options
Diffstat (limited to 'mysql-test/suite/parts/inc')
35 files changed, 532 insertions, 606 deletions
diff --git a/mysql-test/suite/parts/inc/partition_alter4.inc b/mysql-test/suite/parts/inc/partition_alter4.inc index 040c13d69d6..148d21e95f5 100644 --- a/mysql-test/suite/parts/inc/partition_alter4.inc +++ b/mysql-test/suite/parts/inc/partition_alter4.inc @@ -83,17 +83,17 @@ let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1; --echo #------------------------------------------------------------------------ --echo # 5 ALTER ... REPAIR PARTITION --echo #------------------------------------------------------------------------ ---echo # 5.1 ALTER ... REBUILD PARTITION part_1; -let $alter= ALTER TABLE t1 REBUILD PARTITION part_1; +--echo # 5.1 ALTER ... REPAIR PARTITION part_1; +let $alter= ALTER TABLE t1 REPAIR PARTITION part_1; --source suite/parts/inc/partition_alter_41.inc ---echo # 5.2 ALTER ... REBUILD PARTITION part_1,part_2; -let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2; +--echo # 5.2 ALTER ... REPAIR PARTITION part_1,part_2; +let $alter= ALTER TABLE t1 REPAIR PARTITION part_1,part_2; --source suite/parts/inc/partition_alter_41.inc ---echo # 5.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10; -let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10; +--echo # 5.3 ALTER ... REPAIR PARTITION part_1,part_2,part_5,part_6,part_10; +let $alter= ALTER TABLE t1 REPAIR PARTITION part_1,part_2,part_5,part_6,part_10; --source suite/parts/inc/partition_alter_41.inc ---echo # 5.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1; -let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1; +--echo # 5.4 ALTER ... REPAIR PARTITION part_1,part_1,part_1; +let $alter= ALTER TABLE t1 REPAIR PARTITION part_1,part_1,part_1; --source suite/parts/inc/partition_alter_41.inc --echo #------------------------------------------------------------------------ diff --git a/mysql-test/suite/parts/inc/partition_basic.inc b/mysql-test/suite/parts/inc/partition_basic.inc index 1039a47626f..35b016d5ab2 100644 --- a/mysql-test/suite/parts/inc/partition_basic.inc +++ b/mysql-test/suite/parts/inc/partition_basic.inc @@ -30,25 +30,6 @@ let $unique= ; --source suite/parts/inc/partition_methods1.inc # - --echo # 1.1.1 with DATA DIECTORY/INDEX DIRECTORY - # - --disable_query_log - # DATA DIRECTORY - eval SET @data_dir = 'DATA DIRECTORY = - ''''$MYSQLTEST_VARDIR/tmp'''''; - let $data_directory = `select @data_dir`; - - #INDEX DIRECTORY - eval SET @indx_dir = 'INDEX DIRECTORY = - ''''$MYSQLTEST_VARDIR/tmp'''''; - let $index_directory = `select @indx_dir`; - - let $with_directories= 1; - --source suite/parts/inc/partition_methods1.inc - --source suite/parts/inc/partition_directory.inc - let $with_directories= 0; - --enable_query_log - # --echo # 1.2 The partitioning function contains two columns. let $unique= ; --source suite/parts/inc/partition_methods2.inc @@ -68,24 +49,6 @@ if ($more_pk_ui_tests) --echo # 2.2 UNIQUE INDEX consisting of one column let $unique= , UNIQUE INDEX uidx1 (f_int1); --source suite/parts/inc/partition_methods1.inc - - --echo # 2.2.1 with DATA DIECTORY/INDEX DIRECTORY - # - --disable_query_log - # DATA DIRECTORY - eval SET @data_dir = 'DATA DIRECTORY = - ''''$MYSQLTEST_VARDIR/tmp'''''; - let $data_directory = `select @data_dir`; - - #INDEX DIRECTORY - eval SET @indx_dir = 'INDEX DIRECTORY = - ''''$MYSQLTEST_VARDIR/tmp'''''; - let $index_directory = `select @indx_dir`; - - let $with_directories= TRUE; - --source suite/parts/inc/partition_methods1.inc - let $with_directories= FALSE; - --enable_query_log # if ($do_pk_tests) { diff --git a/mysql-test/suite/parts/inc/partition_basic_symlink.inc b/mysql-test/suite/parts/inc/partition_basic_symlink.inc new file mode 100644 index 00000000000..94d48fcaf15 --- /dev/null +++ b/mysql-test/suite/parts/inc/partition_basic_symlink.inc @@ -0,0 +1,44 @@ +################################################################################ +# inc/partition_basic_symlink.inc # +# # +# Purpose: # +# Basic tests around create partitioned table with/without PRIMARY KEY and # +# /or UNIQUE INDEX # +# Also includes test for DATA/INDEX DIR which requires symlinked files # +# # +#------------------------------------------------------------------------------# +# Original Author: mleich # +# Original Date: 2006-03-05 # +# Change Author: mattiasj # +# Change Date: 2008-02-06 # +# Change: copied it from partition_basic.inc and kept DATA/INDEX DIR # +################################################################################ +--enable_abort_on_error + +--echo +let $unique= ; + +# DATA DIRECTORY +# Make directory for partition data +let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir; +--mkdir $data_dir_path +let $data_directory= DATA DIRECTORY = '$data_dir_path'; + +#INDEX DIRECTORY +# Make directory for partition index +let $idx_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir; +--mkdir $idx_dir_path +let $index_directory= INDEX DIRECTORY = '$idx_dir_path'; + +let $with_directories= 1; +--echo #======================================================================== +--echo # 0.5 use partition_basic with DATA/INDEX DIRECTORY +--echo #======================================================================== +--source suite/parts/inc/partition_basic.inc +--echo #======================================================================== +--echo # 5 use partition_directory with DATA/INDEX DIRECTORY +--echo #======================================================================== +--source suite/parts/inc/partition_directory.inc +--rmdir $data_dir_path +--rmdir $idx_dir_path +let $with_directories= 0; diff --git a/mysql-test/suite/parts/inc/partition_bigint.inc b/mysql-test/suite/parts/inc/partition_bigint.inc index f7d22ce17d1..d3cd55096e7 100644 --- a/mysql-test/suite/parts/inc/partition_bigint.inc +++ b/mysql-test/suite/parts/inc/partition_bigint.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a bigint unsigned not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_binary.inc b/mysql-test/suite/parts/inc/partition_binary.inc index 3ee363927c4..68e9e56e29e 100644 --- a/mysql-test/suite/parts/inc/partition_binary.inc +++ b/mysql-test/suite/parts/inc/partition_binary.inc @@ -1,23 +1,11 @@ --echo ---- Partitioning and binary data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a binary(255) not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64)); select hex(a) from t1; diff --git a/mysql-test/suite/parts/inc/partition_bit.inc b/mysql-test/suite/parts/inc/partition_bit.inc index 6fcf3b208bb..5bbf0058028 100644 --- a/mysql-test/suite/parts/inc/partition_bit.inc +++ b/mysql-test/suite/parts/inc/partition_bit.inc @@ -1,15 +1,3 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - --disable_warnings drop table if exists t1; --enable_warnings @@ -23,8 +11,8 @@ drop table t1; eval create table t1 (a bit(0), primary key (a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory, -partition pa2 $data_directory $index_directory); +partition pa1, +partition pa2); show create table t1; drop table t1; @@ -37,15 +25,16 @@ insert into t1 values (b'0000000000000000000000000000000000000000000000000000000000000001'), (b'1010101010101010101010101010101010101010101010101010101010101010'), (b'0101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result select hex(a) from t1; drop table t1; eval create table t1 (a bit(64), primary key (a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), @@ -55,6 +44,7 @@ insert into t1 values (b'0101010101010101010101010101010101010101010101010101010101010101'); select hex(a) from t1 where a=b'0101010101010101010101010101010101010101010101010101010101010101'; delete from t1 where a=b'0101010101010101010101010101010101010101010101010101010101010101'; +--sorted_result select hex(a) from t1; drop table t1; @@ -62,12 +52,15 @@ eval create table t2 (a bit, primary key (a)) engine=$engine partition by key (a) partitions 4; show create table t2; insert into t2 values (b'0'), (b'1'); +--sorted_result select hex(a) from t2; alter table t2 drop primary key; show create table t2; +--sorted_result select hex(a) from t2; alter table t2 add primary key (a); show create table t2; +--sorted_result select hex(a) from t2; drop table t2; @@ -90,6 +83,7 @@ dec $count; select hex(a) from t3 where a=b'01010101'; delete from t3 where a=b'01010101'; select count(*) from t3; +--sorted_result select hex(a) from t3; drop table t3; @@ -111,5 +105,6 @@ dec $count; select hex(a) from t4 where a=b'00000001'; delete from t4 where a=b'00000001'; select count(*) from t4; +--sorted_result select hex(a) from t4; drop table t4; diff --git a/mysql-test/suite/parts/inc/partition_blob.inc b/mysql-test/suite/parts/inc/partition_blob.inc index b22693c9f3d..0c3ec3fc9ba 100644 --- a/mysql-test/suite/parts/inc/partition_blob.inc +++ b/mysql-test/suite/parts/inc/partition_blob.inc @@ -1,24 +1,12 @@ --echo ---- Partitioning and blob data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - --error ER_BLOB_FIELD_IN_PART_FUNC_ERROR eval create table t1 (a blob not null, primary key(a(767))) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); #show create table t1; #insert into t1 values (repeat('a',1000)), ('b'), (repeat('a',500)), (repeat('b',64)); diff --git a/mysql-test/suite/parts/inc/partition_char.inc b/mysql-test/suite/parts/inc/partition_char.inc index b3d7ae3c2a1..1db9642c002 100644 --- a/mysql-test/suite/parts/inc/partition_char.inc +++ b/mysql-test/suite/parts/inc/partition_char.inc @@ -1,23 +1,11 @@ --echo ---- Partitioning and char data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a char(255) not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64)); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_date.inc b/mysql-test/suite/parts/inc/partition_date.inc index 45f9012604c..b538a5a9d8b 100644 --- a/mysql-test/suite/parts/inc/partition_date.inc +++ b/mysql-test/suite/parts/inc/partition_date.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a date not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15'); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_datetime.inc b/mysql-test/suite/parts/inc/partition_datetime.inc index e948e827b4e..b9b277a0fcc 100644 --- a/mysql-test/suite/parts/inc/partition_datetime.inc +++ b/mysql-test/suite/parts/inc/partition_datetime.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a datetime not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59'); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_decimal.inc b/mysql-test/suite/parts/inc/partition_decimal.inc index 09eb9b10831..17cef08e275 100644 --- a/mysql-test/suite/parts/inc/partition_decimal.inc +++ b/mysql-test/suite/parts/inc/partition_decimal.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a decimal(10,4) not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_directory.inc b/mysql-test/suite/parts/inc/partition_directory.inc index 5acdf13a8f9..f63a1952594 100644 --- a/mysql-test/suite/parts/inc/partition_directory.inc +++ b/mysql-test/suite/parts/inc/partition_directory.inc @@ -29,41 +29,35 @@ let $partitioning= ; if ($with_partitioning) { let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2; ---disable_query_log if ($with_directories) { -eval SET @aux = -'PARTITION BY HASH(f_int1) PARTITIONS 2 +let $partitioning= +PARTITION BY HASH(f_int1) PARTITIONS 2 (PARTITION p1 $index_directory, PARTITION p2 -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY KEY ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY KEY(f_int1) PARTITIONS 5'; -let $partitioning= `SELECT @aux`; +let $partitioning= PARTITION BY KEY(f_int1) PARTITIONS 5; if ($with_directories) { ---disable_query_log -eval SET @aux = -'PARTITION BY HASH(f_int1) PARTITIONS 5 +let $partitioning= +PARTITION BY HASH(f_int1) PARTITIONS 5 (PARTITION p1 $data_directory, PARTITION p2 @@ -73,27 +67,25 @@ $data_directory $index_directory, PARTITION p4, PARTITION p5 -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY LIST(MOD(f_int1,4)) +let $partitioning= +PARTITION BY LIST(MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) $index_directory, PARTITION part_2 VALUES IN (-2) @@ -109,25 +101,23 @@ $index_directory, PARTITION part2 VALUES IN (2) $data_directory, PARTITION part3 VALUES IN (3) -$data_directory $index_directory)'; -let $partitioning= `SELECT @aux`; +$data_directory $index_directory); } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE ---disable_query_log if ($with_partitioning) { -eval SET @aux = 'PARTITION BY RANGE(f_int1) +let $partitioning= PARTITION BY RANGE(f_int1) (PARTITION parta VALUES LESS THAN (0) $index_directory, PARTITION partb VALUES LESS THAN ($max_row_div4) @@ -139,26 +129,24 @@ PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4), PARTITION parte VALUES LESS THAN ($max_row) $data_directory, PARTITION partf VALUES LESS THAN $MAX_VALUE -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 +let $partitioning= +PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) $index_directory, PARTITION partb VALUES LESS THAN ($max_row_div4) @@ -166,25 +154,23 @@ $data_directory, PARTITION partc VALUES LESS THAN ($max_row_div2), PARTITION partd VALUES LESS THAN $MAX_VALUE $data_directory -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY ---disable_query_log if ($with_partitioning) { -eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) +let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) (PARTITION part1 VALUES LESS THAN (0) $data_directory (SUBPARTITION subpart11, SUBPARTITION subpart12), @@ -196,26 +182,24 @@ $data_directory $index_directory (SUBPARTITION subpart31, SUBPARTITION subpart32), PARTITION part4 VALUES LESS THAN $MAX_VALUE -(SUBPARTITION subpart41, SUBPARTITION subpart42))'; -let $partitioning= `SELECT @aux`; +(SUBPARTITION subpart41, SUBPARTITION subpart42)); } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) (PARTITION part1 VALUES IN (0) $index_directory (SUBPARTITION sp11 @@ -239,15 +223,14 @@ eval SET @aux = $index_directory, SUBPARTITION sp42 $data_directory - $index_directory))'; -let $partitioning= `SELECT @aux`; + $index_directory)); } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; diff --git a/mysql-test/suite/parts/inc/partition_double.inc b/mysql-test/suite/parts/inc/partition_double.inc index 57be826bac7..befbe860b86 100644 --- a/mysql-test/suite/parts/inc/partition_double.inc +++ b/mysql-test/suite/parts/inc/partition_double.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a double not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_engine.inc b/mysql-test/suite/parts/inc/partition_engine.inc index 769e3d71530..b2fab2ff27e 100644 --- a/mysql-test/suite/parts/inc/partition_engine.inc +++ b/mysql-test/suite/parts/inc/partition_engine.inc @@ -83,6 +83,7 @@ DROP TABLE t1; --echo # 3 Some but not all named partitions or subpartitions get a storage --echo # engine assigned --echo #------------------------------------------------------------------------ +--error ER_MIX_HANDLER_ERROR eval CREATE TABLE t1 ( $column_list ) @@ -90,10 +91,7 @@ PARTITION BY HASH(f_int1) ( PARTITION part1 STORAGE ENGINE = $engine, PARTITION part2 ); -INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) -SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/parts/inc/partition_check.inc -DROP TABLE t1; +--error ER_MIX_HANDLER_ERROR eval CREATE TABLE t1 ( $column_list ) @@ -101,10 +99,7 @@ PARTITION BY HASH(f_int1) ( PARTITION part1 , PARTITION part2 STORAGE ENGINE = $engine ); -INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) -SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/parts/inc/partition_check.inc -DROP TABLE t1; +--error ER_MIX_HANDLER_ERROR eval CREATE TABLE t1 ( $column_list ) @@ -117,10 +112,7 @@ SUBPARTITION BY HASH(f_int1) (SUBPARTITION subpart21 STORAGE ENGINE = $engine, SUBPARTITION subpart22 STORAGE ENGINE = $engine) ); -INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) -SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/parts/inc/partition_check.inc -DROP TABLE t1; +--error ER_MIX_HANDLER_ERROR eval CREATE TABLE t1 ( $column_list ) @@ -133,6 +125,19 @@ SUBPARTITION BY HASH(f_int1) (SUBPARTITION subpart21, SUBPARTITION subpart22 ) ); +eval CREATE TABLE t1 ( +$column_list +) +ENGINE = $engine +PARTITION BY RANGE(f_int1) +SUBPARTITION BY HASH(f_int1) +( PARTITION part1 VALUES LESS THAN ($max_row_div2) + (SUBPARTITION subpart11 STORAGE ENGINE = $engine, + SUBPARTITION subpart12 STORAGE ENGINE = $engine), + PARTITION part2 VALUES LESS THAN $MAX_VALUE + (SUBPARTITION subpart21, + SUBPARTITION subpart22 ) +); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; --source suite/parts/inc/partition_check.inc @@ -142,6 +147,33 @@ DROP TABLE t1; --echo # 4 Storage engine assignment after partition name + after name of --echo # subpartitions belonging to another partition --echo #------------------------------------------------------------------------ +--error ER_MIX_HANDLER_ERROR +eval CREATE TABLE t1 ( +$column_list +) +PARTITION BY RANGE(f_int1) +SUBPARTITION BY HASH(f_int1) +( PARTITION part1 VALUES LESS THAN ($max_row_div2) + (SUBPARTITION subpart11, + SUBPARTITION subpart12), + PARTITION part2 VALUES LESS THAN $MAX_VALUE + (SUBPARTITION subpart21 STORAGE ENGINE = $engine, + SUBPARTITION subpart22 STORAGE ENGINE = $engine) +); +eval CREATE TABLE t1 ( +$column_list +) +ENGINE = $engine +PARTITION BY RANGE(f_int1) +SUBPARTITION BY HASH(f_int1) +( PARTITION part1 VALUES LESS THAN ($max_row_div2) ENGINE = $engine + (SUBPARTITION subpart11, + SUBPARTITION subpart12), + PARTITION part2 VALUES LESS THAN $MAX_VALUE + (SUBPARTITION subpart21, + SUBPARTITION subpart22 STORAGE ENGINE = $engine) +); +DROP TABLE t1; eval CREATE TABLE t1 ( $column_list ) @@ -167,7 +199,7 @@ SUBPARTITION BY HASH(f_int1) (SUBPARTITION subpart11 STORAGE ENGINE = $engine, SUBPARTITION subpart12 STORAGE ENGINE = $engine), PARTITION part2 VALUES LESS THAN $MAX_VALUE ENGINE = $engine - (SUBPARTITION subpart21, + (SUBPARTITION subpart21 ENGINE = $engine, SUBPARTITION subpart22) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) @@ -209,7 +241,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; DROP TABLE t1; --echo # 6.2 Storage engine assignment after partition name + after --echo # subpartition name -# in partition part + in sub partition part +--echo # in partition part + in sub partition part eval CREATE TABLE t1 ( $column_list ) diff --git a/mysql-test/suite/parts/inc/partition_enum.inc b/mysql-test/suite/parts/inc/partition_enum.inc index 886ab6a5f97..9f2c5976097 100644 --- a/mysql-test/suite/parts/inc/partition_enum.inc +++ b/mysql-test/suite/parts/inc/partition_enum.inc @@ -1,23 +1,11 @@ --echo ---- Partitioning and enum data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a enum('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('A'),('D'),('L'),('G'); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_float.inc b/mysql-test/suite/parts/inc/partition_float.inc index 45c2f16ac98..34f14137d4d 100644 --- a/mysql-test/suite/parts/inc/partition_float.inc +++ b/mysql-test/suite/parts/inc/partition_float.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a float not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_int.inc b/mysql-test/suite/parts/inc/partition_int.inc index 7f019c96b94..bd9da689187 100644 --- a/mysql-test/suite/parts/inc/partition_int.inc +++ b/mysql-test/suite/parts/inc/partition_int.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a int unsigned not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_key_16col.inc b/mysql-test/suite/parts/inc/partition_key_16col.inc index 5f97d5d0f71..988dc4554ab 100644 --- a/mysql-test/suite/parts/inc/partition_key_16col.inc +++ b/mysql-test/suite/parts/inc/partition_key_16col.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine=$engine partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), diff --git a/mysql-test/suite/parts/inc/partition_key_32col.inc b/mysql-test/suite/parts/inc/partition_key_32col.inc index 90a36d2a228..614693902dc 100644 --- a/mysql-test/suite/parts/inc/partition_key_32col.inc +++ b/mysql-test/suite/parts/inc/partition_key_32col.inc @@ -1,29 +1,17 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - --error ER_TOO_MANY_KEY_PARTS eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine=$engine partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine=$engine partition by key(a,b,c,d,e,f,g,h) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); --disable_abort_on error show create table t1; diff --git a/mysql-test/suite/parts/inc/partition_key_4col.inc b/mysql-test/suite/parts/inc/partition_key_4col.inc index c5d1452080f..a94ab581620 100644 --- a/mysql-test/suite/parts/inc/partition_key_4col.inc +++ b/mysql-test/suite/parts/inc/partition_key_4col.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w'), primary key(a,b,c,d)) engine=$engine partition by key (a,b,c,d) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975-01-01', 'abcde', 'abcde','m'), diff --git a/mysql-test/suite/parts/inc/partition_key_8col.inc b/mysql-test/suite/parts/inc/partition_key_8col.inc index a0d2e1532f3..fcbab7c355d 100644 --- a/mysql-test/suite/parts/inc/partition_key_8col.inc +++ b/mysql-test/suite/parts/inc/partition_key_8col.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h)) engine=$engine partition by key(a,b,c,d,e,f,g,h) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), diff --git a/mysql-test/suite/parts/inc/partition_layout_check1.inc b/mysql-test/suite/parts/inc/partition_layout_check1.inc index 6fa8df25496..b953d858adb 100644 --- a/mysql-test/suite/parts/inc/partition_layout_check1.inc +++ b/mysql-test/suite/parts/inc/partition_layout_check1.inc @@ -38,7 +38,8 @@ if ($do_file_tests) --exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true if ($with_directories) { ---exec ls $MYSQLTEST_VARDIR/tmp/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true +--exec ls $MYSQLTEST_VARDIR/mysql-test-data-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true +--exec ls $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true } eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2'' )'); diff --git a/mysql-test/suite/parts/inc/partition_layout_check2.inc b/mysql-test/suite/parts/inc/partition_layout_check2.inc index 05c44a73a7f..716baa7d042 100644 --- a/mysql-test/suite/parts/inc/partition_layout_check2.inc +++ b/mysql-test/suite/parts/inc/partition_layout_check2.inc @@ -32,6 +32,11 @@ if ($do_file_tests) { # List the files belonging to the table t1 --exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true +if ($with_directories) +{ +--exec ls $MYSQLTEST_VARDIR/mysql-test-data-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true +--exec ls $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true +} eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2'')'); let $file_list= `SELECT @aux`; } diff --git a/mysql-test/suite/parts/inc/partition_mediumint.inc b/mysql-test/suite/parts/inc/partition_mediumint.inc index 18bfedf7ed9..10ed96e52b0 100644 --- a/mysql-test/suite/parts/inc/partition_mediumint.inc +++ b/mysql-test/suite/parts/inc/partition_mediumint.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a mediumint unsigned not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_methods1.inc b/mysql-test/suite/parts/inc/partition_methods1.inc index 1edcdcb3743..54cf050f1ff 100644 --- a/mysql-test/suite/parts/inc/partition_methods1.inc +++ b/mysql-test/suite/parts/inc/partition_methods1.inc @@ -44,42 +44,38 @@ let $partitioning= ; if ($with_partitioning) { let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2; ---disable_query_log if ($with_directories) { -eval SET @aux = -'PARTITION BY HASH(f_int1) PARTITIONS 2 +let $partitioning= +PARTITION BY HASH(f_int1) PARTITIONS 2 (PARTITION p1 $data_directory $index_directory, PARTITION p2 $data_directory -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY KEY ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY KEY(f_int1) PARTITIONS 5'; -let $partitioning= `SELECT @aux`; +let $partitioning= +PARTITION BY KEY(f_int1) PARTITIONS 5; if ($with_directories) { -eval SET @aux = -'PARTITION BY HASH(f_int1) PARTITIONS 5 +let $partitioning= +PARTITION BY KEY(f_int1) PARTITIONS 5 (PARTITION p1 $data_directory $index_directory, @@ -94,27 +90,37 @@ $data_directory $index_directory, PARTITION p5 $data_directory -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY LIST(MOD(f_int1,4)) +let $partitioning= +PARTITION BY LIST(MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3), + PARTITION part_2 VALUES IN (-2), + PARTITION part_1 VALUES IN (-1), + PARTITION part_N VALUES IN (NULL), + PARTITION part0 VALUES IN (0), + PARTITION part1 VALUES IN (1), + PARTITION part2 VALUES IN (2), + PARTITION part3 VALUES IN (3)); +if ($with_directories) +{ +let $partitioning= +PARTITION BY LIST(MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) $data_directory $index_directory, PARTITION part_2 VALUES IN (-2) @@ -130,25 +136,33 @@ $data_directory $index_directory, PARTITION part2 VALUES IN (2) $data_directory $index_directory, PARTITION part3 VALUES IN (3) -$data_directory $index_directory)'; -let $partitioning= `SELECT @aux`; +$data_directory $index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE ---disable_query_log if ($with_partitioning) { -eval SET @aux = 'PARTITION BY RANGE(f_int1) +let $partitioning= PARTITION BY RANGE(f_int1) +(PARTITION parta VALUES LESS THAN (0), +PARTITION partb VALUES LESS THAN ($max_row_div4), +PARTITION partc VALUES LESS THAN ($max_row_div2), +PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4), +PARTITION parte VALUES LESS THAN ($max_row), +PARTITION partf VALUES LESS THAN $MAX_VALUE); +if ($with_directories) +{ +let $partitioning= PARTITION BY RANGE(f_int1) (PARTITION parta VALUES LESS THAN (0) $data_directory $index_directory, @@ -166,26 +180,33 @@ $data_directory $index_directory, PARTITION partf VALUES LESS THAN $MAX_VALUE $data_directory -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); } +} +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 +let $partitioning= +PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0), +PARTITION partb VALUES LESS THAN ($max_row_div4), +PARTITION partc VALUES LESS THAN ($max_row_div2), +PARTITION partd VALUES LESS THAN $MAX_VALUE); +if ($with_directories) +{ +let $partitioning= +PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) $data_directory $index_directory, @@ -197,60 +218,81 @@ $data_directory $index_directory, PARTITION partd VALUES LESS THAN $MAX_VALUE $data_directory -$index_directory)'; -let $partitioning= `SELECT @aux`; +$index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY ---disable_query_log if ($with_partitioning) { -eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) +let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) (PARTITION part1 VALUES LESS THAN (0) -$data_directory -$index_directory (SUBPARTITION subpart11, SUBPARTITION subpart12), PARTITION part2 VALUES LESS THAN ($max_row_div4) -$data_directory -$index_directory (SUBPARTITION subpart21, SUBPARTITION subpart22), PARTITION part3 VALUES LESS THAN ($max_row_div2) -$data_directory -$index_directory (SUBPARTITION subpart31, SUBPARTITION subpart32), PARTITION part4 VALUES LESS THAN $MAX_VALUE -$data_directory -$index_directory -(SUBPARTITION subpart41, SUBPARTITION subpart42))'; -let $partitioning= `SELECT @aux`; +(SUBPARTITION subpart41, SUBPARTITION subpart42)); +if ($with_directories) +{ +let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) +(PARTITION part1 VALUES LESS THAN (0) +(SUBPARTITION subpart11 $data_directory $index_directory, + SUBPARTITION subpart12 $data_directory $index_directory), +PARTITION part2 VALUES LESS THAN ($max_row_div4) +(SUBPARTITION subpart21 $data_directory $index_directory, + SUBPARTITION subpart22 $data_directory $index_directory), +PARTITION part3 VALUES LESS THAN ($max_row_div2) +(SUBPARTITION subpart31 $data_directory $index_directory, + SUBPARTITION subpart32 $data_directory $index_directory), +PARTITION part4 VALUES LESS THAN $MAX_VALUE +(SUBPARTITION subpart41 $data_directory $index_directory, + SUBPARTITION subpart42 $data_directory $index_directory)); } +} +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11, + SUBPARTITION sp12), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21, + SUBPARTITION sp22), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31, + SUBPARTITION sp32), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41, + SUBPARTITION sp42)); +if ($with_directories) +{ +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) (PARTITION part1 VALUES IN (0) $data_directory $index_directory @@ -282,26 +324,33 @@ eval SET @aux = $index_directory, SUBPARTITION sp42 $data_directory - $index_directory))'; -let $partitioning= `SELECT @aux`; + $index_directory)); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST -- SUBPARTITION BY KEY ---disable_query_log if ($with_partitioning) { -eval SET @aux = -'PARTITION BY LIST(ABS(MOD(f_int1,2))) +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no +(PARTITION part1 VALUES IN (0), + PARTITION part2 VALUES IN (1), + PARTITION part3 VALUES IN (NULL)); +if ($with_directories) +{ +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,2))) SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no (PARTITION part1 VALUES IN (0) $data_directory @@ -311,17 +360,16 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no $index_directory, PARTITION part3 VALUES IN (NULL) $data_directory - $index_directory)'; -let $partitioning= `SELECT @aux`; + $index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique ) $partitioning; ---enable_query_log eval $insert_all; --source suite/parts/inc/partition_check.inc DROP TABLE t1; --source suite/parts/inc/partition_check_drop.inc -let $with_directories= FALSE; diff --git a/mysql-test/suite/parts/inc/partition_methods2.inc b/mysql-test/suite/parts/inc/partition_methods2.inc index 91821d620b6..8af6a2cbf42 100644 --- a/mysql-test/suite/parts/inc/partition_methods2.inc +++ b/mysql-test/suite/parts/inc/partition_methods2.inc @@ -43,7 +43,19 @@ let $partitioning= ; if ($with_partitioning) { let $partitioning= PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2; +if ($with_directories) +{ +let $partitioning= +PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2 +(PARTITION p1 +$data_directory +$index_directory, +PARTITION p2 +$data_directory +$index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -57,7 +69,28 @@ DROP TABLE t1; if ($with_partitioning) { let $partitioning= PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5; +if ($with_directories) +{ +let $partitioning= +PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5 +(PARTITION p1 +$data_directory +$index_directory, +PARTITION p2 +$data_directory +$index_directory, +PARTITION p3 +$data_directory +$index_directory, +PARTITION p4 +$data_directory +$index_directory, +PARTITION p5 +$data_directory +$index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -79,7 +112,29 @@ let $partitioning= PARTITION BY LIST(MOD(f_int1 + f_int2,4)) PARTITION part1 VALUES IN (1), PARTITION part2 VALUES IN (2), PARTITION part3 VALUES IN (3)); +if ($with_directories) +{ +let $partitioning= +PARTITION BY LIST(MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) +$data_directory $index_directory, + PARTITION part_2 VALUES IN (-2) +$data_directory $index_directory, + PARTITION part_1 VALUES IN (-1) +$data_directory $index_directory, + PARTITION part_N VALUES IN (NULL) +$data_directory $index_directory, + PARTITION part0 VALUES IN (0) +$data_directory $index_directory, + PARTITION part1 VALUES IN (1) +$data_directory $index_directory, + PARTITION part2 VALUES IN (2) +$data_directory $index_directory, + PARTITION part3 VALUES IN (3) +$data_directory $index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -92,17 +147,37 @@ DROP TABLE t1; #----------- PARTITION BY RANGE if ($with_partitioning) { ---disable_query_log -eval SET @aux = 'PARTITION BY RANGE((f_int1 + f_int2) DIV 2) +let $partitioning= PARTITION BY RANGE((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0), PARTITION partb VALUES LESS THAN ($max_row_div4), PARTITION partc VALUES LESS THAN ($max_row_div2), PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4), PARTITION parte VALUES LESS THAN ($max_row), -PARTITION partf VALUES LESS THAN $MAX_VALUE)'; -let $partitioning= `SELECT @aux`; ---enable_query_log +PARTITION partf VALUES LESS THAN $MAX_VALUE); +if ($with_directories) +{ +let $partitioning= PARTITION BY RANGE((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) +$data_directory +$index_directory, +PARTITION partb VALUES LESS THAN ($max_row_div4) +$data_directory +$index_directory, +PARTITION partc VALUES LESS THAN ($max_row_div2) +$data_directory +$index_directory, +PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4) +$data_directory +$index_directory, +PARTITION parte VALUES LESS THAN ($max_row) +$data_directory +$index_directory, +PARTITION partf VALUES LESS THAN $MAX_VALUE +$data_directory +$index_directory); } +} +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -115,16 +190,31 @@ DROP TABLE t1; #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH if ($with_partitioning) { ---disable_query_log -eval SET @aux = -'PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2 +let $partitioning= +PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0), PARTITION partb VALUES LESS THAN ($max_row_div4), PARTITION partc VALUES LESS THAN ($max_row_div2), -PARTITION partd VALUES LESS THAN $MAX_VALUE)'; -let $partitioning= `SELECT @aux`; ---enable_query_log +PARTITION partd VALUES LESS THAN $MAX_VALUE); +if ($with_directories) +{ +let $partitioning= +PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) +$data_directory +$index_directory, +PARTITION partb VALUES LESS THAN ($max_row_div4) +$data_directory +$index_directory, +PARTITION partc VALUES LESS THAN ($max_row_div2) +$data_directory +$index_directory, +PARTITION partd VALUES LESS THAN $MAX_VALUE +$data_directory +$index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -137,8 +227,7 @@ DROP TABLE t1; #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY if ($with_partitioning) { ---disable_query_log -eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2) +let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11, SUBPARTITION subpart12), PARTITION part2 VALUES LESS THAN ($max_row_div4) @@ -146,10 +235,25 @@ PARTITION part2 VALUES LESS THAN ($max_row_div4) PARTITION part3 VALUES LESS THAN ($max_row_div2) (SUBPARTITION subpart31, SUBPARTITION subpart32), PARTITION part4 VALUES LESS THAN $MAX_VALUE -(SUBPARTITION subpart41, SUBPARTITION subpart42))'; -let $partitioning= `SELECT @aux`; ---enable_query_log +(SUBPARTITION subpart41, SUBPARTITION subpart42)); +if ($with_directories) +{ +let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2) +(PARTITION part1 VALUES LESS THAN (0) +(SUBPARTITION subpart11 $data_directory $index_directory, + SUBPARTITION subpart12 $data_directory $index_directory), +PARTITION part2 VALUES LESS THAN ($max_row_div4) +(SUBPARTITION subpart21 $data_directory $index_directory, + SUBPARTITION subpart22 $data_directory $index_directory), +PARTITION part3 VALUES LESS THAN ($max_row_div2) +(SUBPARTITION subpart31 $data_directory $index_directory, + SUBPARTITION subpart32 $data_directory $index_directory), +PARTITION part4 VALUES LESS THAN $MAX_VALUE +(SUBPARTITION subpart41 $data_directory $index_directory, + SUBPARTITION subpart42 $data_directory $index_directory)); } +} +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -171,7 +275,45 @@ let $partitioning= PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_ (SUBPARTITION sp31, SUBPARTITION sp32), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41, SUBPARTITION sp42)); +if ($with_directories) +{ +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int2 + 1) +(PARTITION part1 VALUES IN (0) + $data_directory + $index_directory + (SUBPARTITION sp11 + $data_directory + $index_directory, + SUBPARTITION sp12 + $data_directory + $index_directory), + PARTITION part2 VALUES IN (1) + $data_directory + $index_directory + (SUBPARTITION sp21 + $data_directory + $index_directory, + SUBPARTITION sp22 + $data_directory + $index_directory), + PARTITION part3 VALUES IN (2) + $data_directory + $index_directory + (SUBPARTITION sp31, + SUBPARTITION sp32), + PARTITION part4 VALUES IN (NULL) + $data_directory + $index_directory + (SUBPARTITION sp41 + $data_directory + $index_directory, + SUBPARTITION sp42 + $data_directory + $index_directory)); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique @@ -184,16 +326,29 @@ DROP TABLE t1; #----------- PARTITION BY LIST -- SUBPARTITION BY KEY if ($with_partitioning) { ---disable_query_log -eval SET @aux = -'PARTITION BY LIST(ABS(MOD(f_int1,2))) +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,2))) SUBPARTITION BY KEY(f_int2) SUBPARTITIONS $sub_part_no (PARTITION part1 VALUES IN (0), PARTITION part2 VALUES IN (1), - PARTITION part3 VALUES IN (NULL))'; -let $partitioning= `SELECT @aux`; ---enable_query_log + PARTITION part3 VALUES IN (NULL)); +if ($with_directories) +{ +let $partitioning= +PARTITION BY LIST(ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY(f_int2) SUBPARTITIONS $sub_part_no +(PARTITION part1 VALUES IN (0) + $data_directory + $index_directory, + PARTITION part2 VALUES IN (1) + $data_directory + $index_directory, + PARTITION part3 VALUES IN (NULL) + $data_directory + $index_directory); +} } +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( $column_list $unique diff --git a/mysql-test/suite/parts/inc/partition_set.inc b/mysql-test/suite/parts/inc/partition_set.inc index b9501ad04b6..8b8c3c9ddf5 100644 --- a/mysql-test/suite/parts/inc/partition_set.inc +++ b/mysql-test/suite/parts/inc/partition_set.inc @@ -1,23 +1,11 @@ --echo ---- Partitioning and set data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a set('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('A,B'),('C,D'),('E,L'),('G,H,K'); select * from t1 order by a; diff --git a/mysql-test/suite/parts/inc/partition_smallint.inc b/mysql-test/suite/parts/inc/partition_smallint.inc index c594cd4c26c..8e5e93f079b 100644 --- a/mysql-test/suite/parts/inc/partition_smallint.inc +++ b/mysql-test/suite/parts/inc/partition_smallint.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a smallint unsigned not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_text.inc b/mysql-test/suite/parts/inc/partition_text.inc index 761f5dfb118..f766027773d 100644 --- a/mysql-test/suite/parts/inc/partition_text.inc +++ b/mysql-test/suite/parts/inc/partition_text.inc @@ -1,24 +1,12 @@ --echo ---- Partitioning and text data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - --error ER_BLOB_FIELD_IN_PART_FUNC_ERROR eval create table t1 (a text not null, primary key(a(767))) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); #show create table t1; #insert into t1 values (repeat('a',1000)), ('b'), (repeat('a',500)), (repeat('b',64)); diff --git a/mysql-test/suite/parts/inc/partition_time.inc b/mysql-test/suite/parts/inc/partition_time.inc index a3f49a156fe..008963ed934 100644 --- a/mysql-test/suite/parts/inc/partition_time.inc +++ b/mysql-test/suite/parts/inc/partition_time.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a time not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59'); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_timestamp.inc b/mysql-test/suite/parts/inc/partition_timestamp.inc index d4b1699d6c5..d152c82a76f 100644 --- a/mysql-test/suite/parts/inc/partition_timestamp.inc +++ b/mysql-test/suite/parts/inc/partition_timestamp.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a timestamp not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59'); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_tinyint.inc b/mysql-test/suite/parts/inc/partition_tinyint.inc index a1f8874e794..00568eec244 100644 --- a/mysql-test/suite/parts/inc/partition_tinyint.inc +++ b/mysql-test/suite/parts/inc/partition_tinyint.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a tinyint unsigned not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (255), (254), (253), (252), (1), (2), (128); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_varbinary.inc b/mysql-test/suite/parts/inc/partition_varbinary.inc index 48fd6d890d8..02d9f68f1a2 100644 --- a/mysql-test/suite/parts/inc/partition_varbinary.inc +++ b/mysql-test/suite/parts/inc/partition_varbinary.inc @@ -1,23 +1,11 @@ --echo ---- Partitioning and varbinary data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a varbinary(767) not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64)); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_varchar.inc b/mysql-test/suite/parts/inc/partition_varchar.inc index c018a16e919..f1412d3aae5 100644 --- a/mysql-test/suite/parts/inc/partition_varchar.inc +++ b/mysql-test/suite/parts/inc/partition_varchar.inc @@ -1,23 +1,11 @@ --echo ---- Partitioning and varchar data type ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a varchar(767) not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64)); select * from t1; diff --git a/mysql-test/suite/parts/inc/partition_year.inc b/mysql-test/suite/parts/inc/partition_year.inc index 2643380702e..5fb46c1756b 100644 --- a/mysql-test/suite/parts/inc/partition_year.inc +++ b/mysql-test/suite/parts/inc/partition_year.inc @@ -1,21 +1,9 @@ ---disable_query_log -# DATA DIRECTORY -eval SET @data_dir = 'DATA DIRECTORY = -''/tmp'''; -let $data_directory = `select @data_dir`; - -#INDEX DIRECTORY -eval SET @indx_dir = 'INDEX DIRECTORY = -''/tmp'''; -let $index_directory = `select @indx_dir`; ---enable_query_log - eval create table t1 (a year not null, primary key(a)) engine=$engine partition by key (a) ( -partition pa1 $data_directory $index_directory max_rows=20 min_rows=2, -partition pa2 $data_directory $index_directory max_rows=30 min_rows=3, -partition pa3 $data_directory $index_directory max_rows=30 min_rows=4, -partition pa4 $data_directory $index_directory max_rows=40 min_rows=2); +partition pa1 max_rows=20 min_rows=2, +partition pa2 max_rows=30 min_rows=3, +partition pa3 max_rows=30 min_rows=4, +partition pa4 max_rows=40 min_rows=2); show create table t1; insert into t1 values ('1975'), (2020), ('1980'), ('2000'); select * from t1; |