Bug#35306: partition_basic_symlink test failures
Have changed the DATA/INDEX dir to not be a database dir. (and made some changes for better result files.) mysql-test/suite/parts/inc/partition_basic_symlink.inc: Bug#35306: partition_basic_symlink test failures after bug 32167 it is not allowed with DATA/INDEX DIR in any database directory. remade the inc-files to make better use of each other (less duplicate tests) mysql-test/suite/parts/inc/partition_directory.inc: Removed disable/enable_query_log for better result files mysql-test/suite/parts/inc/partition_layout_check1.inc: changed DATA/INDEX DIR mysql-test/suite/parts/inc/partition_layout_check2.inc: added check with_directories mysql-test/suite/parts/inc/partition_methods1.inc: Removed disable/enable_query_log for better result files mysql-test/suite/parts/inc/partition_methods2.inc: Removed disable/enable_query_log for better result files Added with_directories for testing of DATA/INDEX DIR mysql-test/suite/parts/r/partition_basic_innodb.result: Updated test result due to test case changes mysql-test/suite/parts/r/partition_basic_myisam.result: Updated test result due to test case changes mysql-test/suite/parts/r/partition_basic_symlink_innodb.result: Updated test result due to test case changes mysql-test/suite/parts/r/partition_basic_symlink_myisam.result: Updated test result due to test case changes mysql-test/suite/parts/t/disabled.def: Bug#35306: parts.partition_basic_symlink test failures Enable the test again since the have been fixed mysql-test/suite/parts/t/partition_basic_innodb.test: Added check for table files. mysql-test/suite/parts/t/partition_basic_myisam.test: removing dependency of symlink (test exists now in parts.partition_basic_symlink_myisam) mysql-test/suite/parts/t/partition_basic_symlink_innodb.test: Bug#35306: partition_basic_symlink test failures Removed old test (since DATA/INDEX DIRECTORY is not supported in InnoDB) and replaced it with a simple test that altering a partitioned innodb with DATA/INDEX DIR to MyISAM, would use the DATA/INDEX DIR.
This commit is contained in:
parent
166357b552
commit
7a22a8a965
@ -16,144 +16,29 @@
|
|||||||
--enable_abort_on_error
|
--enable_abort_on_error
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo #========================================================================
|
|
||||||
--echo # Check partitioning methods on just created tables
|
|
||||||
--echo # The tables should be defined without/with PRIMARY KEY and
|
|
||||||
--echo # UNIQUE INDEXes.
|
|
||||||
--echo # Every test round has to check
|
|
||||||
--echo # PARTITION BY HASH/KEY/LIST/RANGE
|
|
||||||
--echo # PARTITION BY RANGE/LIST ... SUBPARTITION BY HASH/KEY ...
|
|
||||||
--echo #========================================================================
|
|
||||||
--echo #------------------------------------------------------------------------
|
|
||||||
--echo # 1 Tables without PRIMARY KEY or UNIQUE INDEXes
|
|
||||||
--echo #------------------------------------------------------------------------
|
|
||||||
--echo # 1.1 The partitioning function contains one column.
|
|
||||||
let $unique= ;
|
let $unique= ;
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
#
|
|
||||||
--echo # 1.1.1 with DATA DIECTORY/INDEX DIRECTORY
|
|
||||||
#
|
|
||||||
--disable_query_log
|
|
||||||
# DATA DIRECTORY
|
# DATA DIRECTORY
|
||||||
# Make directory for partition data
|
# Make directory for partition data
|
||||||
--exec mkdir $MYSQLTEST_VARDIR/master-data/test/data || true
|
let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir;
|
||||||
eval SET @data_dir = 'DATA DIRECTORY =
|
--mkdir $data_dir_path
|
||||||
''''$MYSQLTEST_VARDIR/master-data/test/data''''';
|
let $data_directory= DATA DIRECTORY = '$data_dir_path';
|
||||||
let $data_directory = `select @data_dir`;
|
|
||||||
|
|
||||||
#INDEX DIRECTORY
|
#INDEX DIRECTORY
|
||||||
# Make directory for partition index
|
# Make directory for partition index
|
||||||
--exec mkdir $MYSQLTEST_VARDIR/master-data/test/index || true
|
let $idx_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir;
|
||||||
eval SET @indx_dir = 'INDEX DIRECTORY =
|
--mkdir $idx_dir_path
|
||||||
''''$MYSQLTEST_VARDIR/master-data/test/index''''';
|
let $index_directory= INDEX DIRECTORY = '$idx_dir_path';
|
||||||
let $index_directory = `select @indx_dir`;
|
|
||||||
|
|
||||||
let $with_directories= 1;
|
let $with_directories= 1;
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
--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
|
--source suite/parts/inc/partition_directory.inc
|
||||||
|
--rmdir $data_dir_path
|
||||||
|
--rmdir $idx_dir_path
|
||||||
let $with_directories= 0;
|
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
|
|
||||||
#
|
|
||||||
--echo #------------------------------------------------------------------------
|
|
||||||
--echo # 2 Tables with PRIMARY KEY and/or UNIQUE INDEXes
|
|
||||||
--echo # The partitioning function contains one column.
|
|
||||||
--echo #------------------------------------------------------------------------
|
|
||||||
if ($more_pk_ui_tests)
|
|
||||||
{
|
|
||||||
if ($do_pk_tests)
|
|
||||||
{
|
|
||||||
--echo # 2.1 PRIMARY KEY consisting of one column
|
|
||||||
let $unique= , PRIMARY KEY(f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
}
|
|
||||||
--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
|
|
||||||
# Make directory for partition data
|
|
||||||
--exec mkdir $MYSQLTEST_VARDIR/master-data/test/data || true
|
|
||||||
eval SET @data_dir = 'DATA DIRECTORY =
|
|
||||||
''''$MYSQLTEST_VARDIR/master-data/test/data''''';
|
|
||||||
let $data_directory = `select @data_dir`;
|
|
||||||
|
|
||||||
#INDEX DIRECTORY
|
|
||||||
# Make directory for partition index
|
|
||||||
--exec mkdir $MYSQLTEST_VARDIR/master-data/test/index || true
|
|
||||||
eval SET @indx_dir = 'INDEX DIRECTORY =
|
|
||||||
''''$MYSQLTEST_VARDIR/master-data/test/index''''';
|
|
||||||
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)
|
|
||||||
{
|
|
||||||
--echo # 2.3 PRIMARY KEY consisting of two columns
|
|
||||||
let $unique= , PRIMARY KEY(f_int1,f_int2);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
let $unique= , PRIMARY KEY(f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
}
|
|
||||||
#
|
|
||||||
--echo # 2.4 UNIQUE INDEX consisting of two columns
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
#
|
|
||||||
}
|
|
||||||
--echo # 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
|
|
||||||
if ($do_pk_tests)
|
|
||||||
{
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
}
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods1.inc
|
|
||||||
|
|
||||||
--echo #------------------------------------------------------------------------
|
|
||||||
--echo # 3 Tables with PRIMARY KEY and/or UNIQUE INDEXes
|
|
||||||
--echo # The partitioning function contains two columns.
|
|
||||||
--echo #------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
if ($more_pk_ui_tests)
|
|
||||||
{
|
|
||||||
if ($do_pk_tests)
|
|
||||||
{
|
|
||||||
--echo # 3.1 PRIMARY KEY consisting of two columns
|
|
||||||
let $unique= , PRIMARY KEY(f_int1,f_int2);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
|
|
||||||
let $unique= , PRIMARY KEY(f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
}
|
|
||||||
#
|
|
||||||
--echo # 3.2 UNIQUE INDEX consisting of two columns
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
}
|
|
||||||
#
|
|
||||||
--echo # 3.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
|
|
||||||
if ($do_pk_tests)
|
|
||||||
{
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
}
|
|
||||||
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
|
|
||||||
--source suite/parts/inc/partition_methods2.inc
|
|
||||||
|
@ -29,41 +29,35 @@ let $partitioning= ;
|
|||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2;
|
let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2;
|
||||||
--disable_query_log
|
|
||||||
if ($with_directories)
|
if ($with_directories)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY HASH(f_int1) PARTITIONS 2
|
PARTITION BY HASH(f_int1) PARTITIONS 2
|
||||||
(PARTITION p1
|
(PARTITION p1
|
||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION p2
|
PARTITION p2
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY KEY
|
#----------- PARTITION BY KEY
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning= PARTITION BY KEY(f_int1) PARTITIONS 5;
|
||||||
'PARTITION BY KEY(f_int1) PARTITIONS 5';
|
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
if ($with_directories)
|
if ($with_directories)
|
||||||
{
|
{
|
||||||
--disable_query_log
|
let $partitioning=
|
||||||
eval SET @aux =
|
PARTITION BY HASH(f_int1) PARTITIONS 5
|
||||||
'PARTITION BY HASH(f_int1) PARTITIONS 5
|
|
||||||
(PARTITION p1
|
(PARTITION p1
|
||||||
$data_directory,
|
$data_directory,
|
||||||
PARTITION p2
|
PARTITION p2
|
||||||
@ -73,27 +67,25 @@ $data_directory
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION p4,
|
PARTITION p4,
|
||||||
PARTITION p5
|
PARTITION p5
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY LIST
|
#----------- PARTITION BY LIST
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY LIST(MOD(f_int1,4))
|
PARTITION BY LIST(MOD(f_int1,4))
|
||||||
(PARTITION part_3 VALUES IN (-3)
|
(PARTITION part_3 VALUES IN (-3)
|
||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION part_2 VALUES IN (-2)
|
PARTITION part_2 VALUES IN (-2)
|
||||||
@ -109,25 +101,23 @@ $index_directory,
|
|||||||
PARTITION part2 VALUES IN (2)
|
PARTITION part2 VALUES IN (2)
|
||||||
$data_directory,
|
$data_directory,
|
||||||
PARTITION part3 VALUES IN (3)
|
PARTITION part3 VALUES IN (3)
|
||||||
$data_directory $index_directory)';
|
$data_directory $index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY RANGE
|
#----------- PARTITION BY RANGE
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
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 parta VALUES LESS THAN (0)
|
||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION partb VALUES LESS THAN ($max_row_div4)
|
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)
|
PARTITION parte VALUES LESS THAN ($max_row)
|
||||||
$data_directory,
|
$data_directory,
|
||||||
PARTITION partf VALUES LESS THAN $MAX_VALUE
|
PARTITION partf VALUES LESS THAN $MAX_VALUE
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
|
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
|
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
|
||||||
(PARTITION parta VALUES LESS THAN (0)
|
(PARTITION parta VALUES LESS THAN (0)
|
||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION partb VALUES LESS THAN ($max_row_div4)
|
PARTITION partb VALUES LESS THAN ($max_row_div4)
|
||||||
@ -166,25 +154,23 @@ $data_directory,
|
|||||||
PARTITION partc VALUES LESS THAN ($max_row_div2),
|
PARTITION partc VALUES LESS THAN ($max_row_div2),
|
||||||
PARTITION partd VALUES LESS THAN $MAX_VALUE
|
PARTITION partd VALUES LESS THAN $MAX_VALUE
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
|
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
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)
|
(PARTITION part1 VALUES LESS THAN (0)
|
||||||
$data_directory
|
$data_directory
|
||||||
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
||||||
@ -196,26 +182,24 @@ $data_directory
|
|||||||
$index_directory
|
$index_directory
|
||||||
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
||||||
PARTITION part4 VALUES LESS THAN $MAX_VALUE
|
PARTITION part4 VALUES LESS THAN $MAX_VALUE
|
||||||
(SUBPARTITION subpart41, SUBPARTITION subpart42))';
|
(SUBPARTITION subpart41, SUBPARTITION subpart42));
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
|
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
|
PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
|
||||||
(PARTITION part1 VALUES IN (0)
|
(PARTITION part1 VALUES IN (0)
|
||||||
$index_directory
|
$index_directory
|
||||||
(SUBPARTITION sp11
|
(SUBPARTITION sp11
|
||||||
@ -239,15 +223,14 @@ eval SET @aux =
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
SUBPARTITION sp42
|
SUBPARTITION sp42
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory))';
|
$index_directory));
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@ -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
|
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
|
||||||
if ($with_directories)
|
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''
|
eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2''
|
||||||
)');
|
)');
|
||||||
|
@ -32,6 +32,11 @@ if ($do_file_tests)
|
|||||||
{
|
{
|
||||||
# List the files belonging to the table t1
|
# 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
|
--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'')');
|
eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2'')');
|
||||||
let $file_list= `SELECT @aux`;
|
let $file_list= `SELECT @aux`;
|
||||||
}
|
}
|
||||||
|
@ -44,42 +44,38 @@ let $partitioning= ;
|
|||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2;
|
let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2;
|
||||||
--disable_query_log
|
|
||||||
if ($with_directories)
|
if ($with_directories)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY HASH(f_int1) PARTITIONS 2
|
PARTITION BY HASH(f_int1) PARTITIONS 2
|
||||||
(PARTITION p1
|
(PARTITION p1
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION p2
|
PARTITION p2
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY KEY
|
#----------- PARTITION BY KEY
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY KEY(f_int1) PARTITIONS 5';
|
PARTITION BY KEY(f_int1) PARTITIONS 5;
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
if ($with_directories)
|
if ($with_directories)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY HASH(f_int1) PARTITIONS 5
|
PARTITION BY KEY(f_int1) PARTITIONS 5
|
||||||
(PARTITION p1
|
(PARTITION p1
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory,
|
$index_directory,
|
||||||
@ -94,27 +90,37 @@ $data_directory
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION p5
|
PARTITION p5
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY LIST
|
#----------- PARTITION BY LIST
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY LIST(MOD(f_int1,4))
|
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)
|
(PARTITION part_3 VALUES IN (-3)
|
||||||
$data_directory $index_directory,
|
$data_directory $index_directory,
|
||||||
PARTITION part_2 VALUES IN (-2)
|
PARTITION part_2 VALUES IN (-2)
|
||||||
@ -130,25 +136,33 @@ $data_directory $index_directory,
|
|||||||
PARTITION part2 VALUES IN (2)
|
PARTITION part2 VALUES IN (2)
|
||||||
$data_directory $index_directory,
|
$data_directory $index_directory,
|
||||||
PARTITION part3 VALUES IN (3)
|
PARTITION part3 VALUES IN (3)
|
||||||
$data_directory $index_directory)';
|
$data_directory $index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY RANGE
|
#----------- PARTITION BY RANGE
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
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)
|
(PARTITION parta VALUES LESS THAN (0)
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory,
|
$index_directory,
|
||||||
@ -166,26 +180,33 @@ $data_directory
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION partf VALUES LESS THAN $MAX_VALUE
|
PARTITION partf VALUES LESS THAN $MAX_VALUE
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
|
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
|
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)
|
(PARTITION parta VALUES LESS THAN (0)
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory,
|
$index_directory,
|
||||||
@ -197,60 +218,81 @@ $data_directory
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION partd VALUES LESS THAN $MAX_VALUE
|
PARTITION partd VALUES LESS THAN $MAX_VALUE
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
|
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
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)
|
(PARTITION part1 VALUES LESS THAN (0)
|
||||||
$data_directory
|
|
||||||
$index_directory
|
|
||||||
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
||||||
PARTITION part2 VALUES LESS THAN ($max_row_div4)
|
PARTITION part2 VALUES LESS THAN ($max_row_div4)
|
||||||
$data_directory
|
|
||||||
$index_directory
|
|
||||||
(SUBPARTITION subpart21, SUBPARTITION subpart22),
|
(SUBPARTITION subpart21, SUBPARTITION subpart22),
|
||||||
PARTITION part3 VALUES LESS THAN ($max_row_div2)
|
PARTITION part3 VALUES LESS THAN ($max_row_div2)
|
||||||
$data_directory
|
|
||||||
$index_directory
|
|
||||||
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
||||||
PARTITION part4 VALUES LESS THAN $MAX_VALUE
|
PARTITION part4 VALUES LESS THAN $MAX_VALUE
|
||||||
$data_directory
|
(SUBPARTITION subpart41, SUBPARTITION subpart42));
|
||||||
$index_directory
|
if ($with_directories)
|
||||||
(SUBPARTITION subpart41, SUBPARTITION subpart42))';
|
{
|
||||||
let $partitioning= `SELECT @aux`;
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
|
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
|
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)
|
(PARTITION part1 VALUES IN (0)
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory
|
$index_directory
|
||||||
@ -282,26 +324,33 @@ eval SET @aux =
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
SUBPARTITION sp42
|
SUBPARTITION sp42
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory))';
|
$index_directory));
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
|
|
||||||
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
|
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
|
||||||
--disable_query_log
|
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
eval SET @aux =
|
let $partitioning=
|
||||||
'PARTITION BY LIST(ABS(MOD(f_int1,2)))
|
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
|
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no
|
||||||
(PARTITION part1 VALUES IN (0)
|
(PARTITION part1 VALUES IN (0)
|
||||||
$data_directory
|
$data_directory
|
||||||
@ -311,17 +360,16 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no
|
|||||||
$index_directory,
|
$index_directory,
|
||||||
PARTITION part3 VALUES IN (NULL)
|
PARTITION part3 VALUES IN (NULL)
|
||||||
$data_directory
|
$data_directory
|
||||||
$index_directory)';
|
$index_directory);
|
||||||
let $partitioning= `SELECT @aux`;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
)
|
)
|
||||||
$partitioning;
|
$partitioning;
|
||||||
--enable_query_log
|
|
||||||
eval $insert_all;
|
eval $insert_all;
|
||||||
--source suite/parts/inc/partition_check.inc
|
--source suite/parts/inc/partition_check.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--source suite/parts/inc/partition_check_drop.inc
|
--source suite/parts/inc/partition_check_drop.inc
|
||||||
let $with_directories= FALSE;
|
|
||||||
|
@ -43,7 +43,19 @@ let $partitioning= ;
|
|||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
let $partitioning= PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -57,7 +69,28 @@ DROP TABLE t1;
|
|||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
let $partitioning= PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -79,7 +112,29 @@ let $partitioning= PARTITION BY LIST(MOD(f_int1 + f_int2,4))
|
|||||||
PARTITION part1 VALUES IN (1),
|
PARTITION part1 VALUES IN (1),
|
||||||
PARTITION part2 VALUES IN (2),
|
PARTITION part2 VALUES IN (2),
|
||||||
PARTITION part3 VALUES IN (3));
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -92,17 +147,37 @@ DROP TABLE t1;
|
|||||||
#----------- PARTITION BY RANGE
|
#----------- PARTITION BY RANGE
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
--disable_query_log
|
let $partitioning= PARTITION BY RANGE((f_int1 + f_int2) DIV 2)
|
||||||
eval SET @aux = 'PARTITION BY RANGE((f_int1 + f_int2) DIV 2)
|
|
||||||
(PARTITION parta VALUES LESS THAN (0),
|
(PARTITION parta VALUES LESS THAN (0),
|
||||||
PARTITION partb VALUES LESS THAN ($max_row_div4),
|
PARTITION partb VALUES LESS THAN ($max_row_div4),
|
||||||
PARTITION partc VALUES LESS THAN ($max_row_div2),
|
PARTITION partc VALUES LESS THAN ($max_row_div2),
|
||||||
PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4),
|
PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4),
|
||||||
PARTITION parte VALUES LESS THAN ($max_row),
|
PARTITION parte VALUES LESS THAN ($max_row),
|
||||||
PARTITION partf VALUES LESS THAN $MAX_VALUE)';
|
PARTITION partf VALUES LESS THAN $MAX_VALUE);
|
||||||
let $partitioning= `SELECT @aux`;
|
if ($with_directories)
|
||||||
--enable_query_log
|
{
|
||||||
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -115,16 +190,31 @@ DROP TABLE t1;
|
|||||||
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
|
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
--disable_query_log
|
let $partitioning=
|
||||||
eval SET @aux =
|
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2
|
||||||
'PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2
|
|
||||||
(PARTITION parta VALUES LESS THAN (0),
|
(PARTITION parta VALUES LESS THAN (0),
|
||||||
PARTITION partb VALUES LESS THAN ($max_row_div4),
|
PARTITION partb VALUES LESS THAN ($max_row_div4),
|
||||||
PARTITION partc VALUES LESS THAN ($max_row_div2),
|
PARTITION partc VALUES LESS THAN ($max_row_div2),
|
||||||
PARTITION partd VALUES LESS THAN $MAX_VALUE)';
|
PARTITION partd VALUES LESS THAN $MAX_VALUE);
|
||||||
let $partitioning= `SELECT @aux`;
|
if ($with_directories)
|
||||||
--enable_query_log
|
{
|
||||||
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -137,8 +227,7 @@ DROP TABLE t1;
|
|||||||
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
|
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
--disable_query_log
|
let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2)
|
||||||
eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2)
|
|
||||||
(PARTITION part1 VALUES LESS THAN (0)
|
(PARTITION part1 VALUES LESS THAN (0)
|
||||||
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
||||||
PARTITION part2 VALUES LESS THAN ($max_row_div4)
|
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)
|
PARTITION part3 VALUES LESS THAN ($max_row_div2)
|
||||||
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
||||||
PARTITION part4 VALUES LESS THAN $MAX_VALUE
|
PARTITION part4 VALUES LESS THAN $MAX_VALUE
|
||||||
(SUBPARTITION subpart41, SUBPARTITION subpart42))';
|
(SUBPARTITION subpart41, SUBPARTITION subpart42));
|
||||||
let $partitioning= `SELECT @aux`;
|
if ($with_directories)
|
||||||
--enable_query_log
|
{
|
||||||
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -171,7 +275,45 @@ let $partitioning= PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_
|
|||||||
(SUBPARTITION sp31, SUBPARTITION sp32),
|
(SUBPARTITION sp31, SUBPARTITION sp32),
|
||||||
PARTITION part4 VALUES IN (NULL)
|
PARTITION part4 VALUES IN (NULL)
|
||||||
(SUBPARTITION sp41, SUBPARTITION sp42));
|
(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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
@ -184,16 +326,29 @@ DROP TABLE t1;
|
|||||||
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
|
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
|
||||||
if ($with_partitioning)
|
if ($with_partitioning)
|
||||||
{
|
{
|
||||||
--disable_query_log
|
let $partitioning=
|
||||||
eval SET @aux =
|
PARTITION BY LIST(ABS(MOD(f_int1,2)))
|
||||||
'PARTITION BY LIST(ABS(MOD(f_int1,2)))
|
|
||||||
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS $sub_part_no
|
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS $sub_part_no
|
||||||
(PARTITION part1 VALUES IN (0),
|
(PARTITION part1 VALUES IN (0),
|
||||||
PARTITION part2 VALUES IN (1),
|
PARTITION part2 VALUES IN (1),
|
||||||
PARTITION part3 VALUES IN (NULL))';
|
PARTITION part3 VALUES IN (NULL));
|
||||||
let $partitioning= `SELECT @aux`;
|
if ($with_directories)
|
||||||
--enable_query_log
|
{
|
||||||
|
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 (
|
eval CREATE TABLE t1 (
|
||||||
$column_list
|
$column_list
|
||||||
$unique
|
$unique
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -51,6 +51,15 @@ SET @@session.sql_mode= '';
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# 1.1 The partitioning function contains one column.
|
# 1.1 The partitioning function contains one column.
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
PARTITION BY HASH(f_int1) PARTITIONS 2;
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -500,6 +509,15 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
PARTITION BY KEY(f_int1) PARTITIONS 5;
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -955,6 +973,23 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
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));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -1416,6 +1451,21 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
PARTITION BY RANGE(f_int1)
|
||||||
|
(PARTITION parta VALUES LESS THAN (0),
|
||||||
|
PARTITION partb VALUES LESS THAN (5),
|
||||||
|
PARTITION partc VALUES LESS THAN (10),
|
||||||
|
PARTITION partd VALUES LESS THAN (10 + 5),
|
||||||
|
PARTITION parte VALUES LESS THAN (20),
|
||||||
|
PARTITION partf VALUES LESS THAN (2147483646));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -1871,6 +1921,19 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
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 (5),
|
||||||
|
PARTITION partc VALUES LESS THAN (10),
|
||||||
|
PARTITION partd VALUES LESS THAN (2147483646));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -2332,6 +2395,23 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
|
||||||
|
(PARTITION part1 VALUES LESS THAN (0)
|
||||||
|
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
||||||
|
PARTITION part2 VALUES LESS THAN (5)
|
||||||
|
(SUBPARTITION subpart21, SUBPARTITION subpart22),
|
||||||
|
PARTITION part3 VALUES LESS THAN (10)
|
||||||
|
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
||||||
|
PARTITION part4 VALUES LESS THAN (2147483646)
|
||||||
|
(SUBPARTITION subpart41, SUBPARTITION subpart42));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -2791,6 +2871,27 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
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));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -3252,6 +3353,19 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
|
||||||
|
)
|
||||||
|
PARTITION BY LIST(ABS(MOD(f_int1,2)))
|
||||||
|
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
|
||||||
|
(PARTITION part1 VALUES IN (0),
|
||||||
|
PARTITION part2 VALUES IN (1),
|
||||||
|
PARTITION part3 VALUES IN (NULL));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -7495,6 +7609,15 @@ DROP TABLE t1;
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
|
# 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
PARTITION BY HASH(f_int1) PARTITIONS 2;
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -7997,6 +8120,15 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
PARTITION BY KEY(f_int1) PARTITIONS 5;
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -8505,6 +8637,23 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
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));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -9019,6 +9168,21 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
PARTITION BY RANGE(f_int1)
|
||||||
|
(PARTITION parta VALUES LESS THAN (0),
|
||||||
|
PARTITION partb VALUES LESS THAN (5),
|
||||||
|
PARTITION partc VALUES LESS THAN (10),
|
||||||
|
PARTITION partd VALUES LESS THAN (10 + 5),
|
||||||
|
PARTITION parte VALUES LESS THAN (20),
|
||||||
|
PARTITION partf VALUES LESS THAN (2147483646));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -9527,6 +9691,19 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
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 (5),
|
||||||
|
PARTITION partc VALUES LESS THAN (10),
|
||||||
|
PARTITION partd VALUES LESS THAN (2147483646));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -10041,6 +10218,23 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
|
||||||
|
(PARTITION part1 VALUES LESS THAN (0)
|
||||||
|
(SUBPARTITION subpart11, SUBPARTITION subpart12),
|
||||||
|
PARTITION part2 VALUES LESS THAN (5)
|
||||||
|
(SUBPARTITION subpart21, SUBPARTITION subpart22),
|
||||||
|
PARTITION part3 VALUES LESS THAN (10)
|
||||||
|
(SUBPARTITION subpart31, SUBPARTITION subpart32),
|
||||||
|
PARTITION part4 VALUES LESS THAN (2147483646)
|
||||||
|
(SUBPARTITION subpart41, SUBPARTITION subpart42));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -10553,6 +10747,27 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
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));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
@ -11067,6 +11282,19 @@ TRUNCATE t1;
|
|||||||
# check layout success: 1
|
# check layout success: 1
|
||||||
# End usability test (inc/partition_check.inc)
|
# End usability test (inc/partition_check.inc)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
f_int1 INTEGER,
|
||||||
|
f_int2 INTEGER,
|
||||||
|
f_char1 CHAR(20),
|
||||||
|
f_char2 CHAR(20),
|
||||||
|
f_charbig VARCHAR(1000)
|
||||||
|
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
|
||||||
|
)
|
||||||
|
PARTITION BY LIST(ABS(MOD(f_int1,2)))
|
||||||
|
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
|
||||||
|
(PARTITION part1 VALUES IN (0),
|
||||||
|
PARTITION part2 VALUES IN (1),
|
||||||
|
PARTITION part3 VALUES IN (NULL));
|
||||||
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
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;
|
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
|
||||||
# Start usability test (inc/partition_check.inc)
|
# Start usability test (inc/partition_check.inc)
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -18,5 +18,3 @@ partition_value_ndb : cannot create t1
|
|||||||
rpl_ndb_dd_partitions : cannot create t1
|
rpl_ndb_dd_partitions : cannot create t1
|
||||||
partition_alter4_myisam : Bug#20129 / WL#4176
|
partition_alter4_myisam : Bug#20129 / WL#4176
|
||||||
partition_alter4_innodb : Bug#20129 / WL#4176
|
partition_alter4_innodb : Bug#20129 / WL#4176
|
||||||
partition_basic_symlink_innodb : Bug#35306 Make pushbuild green
|
|
||||||
partition_basic_symlink_myisam : Bug#35306 Make pushbuild green
|
|
||||||
|
@ -51,8 +51,8 @@ let $more_pk_ui_tests= 0;
|
|||||||
let $engine= 'InnoDB';
|
let $engine= 'InnoDB';
|
||||||
|
|
||||||
##### Execute the test of "table" files
|
##### Execute the test of "table" files
|
||||||
# InnoDB has no files per PK, UI, ...
|
# InnoDB has no files per PK, UI, ... But only .frm file
|
||||||
let $do_file_tests= 0;
|
let $do_file_tests= 1;
|
||||||
|
|
||||||
##### Execute PRIMARY KEY tests #####
|
##### Execute PRIMARY KEY tests #####
|
||||||
# AFAIK InnoDB clusters the table around PRIMARY KEYs.
|
# AFAIK InnoDB clusters the table around PRIMARY KEYs.
|
||||||
|
@ -48,9 +48,6 @@ let $more_pk_ui_tests= 0;
|
|||||||
|
|
||||||
##### Storage engine to be tested
|
##### Storage engine to be tested
|
||||||
let $engine= 'MyISAM';
|
let $engine= 'MyISAM';
|
||||||
# The server uses in case of MyISAM symlinking (if available) and the expected
|
|
||||||
# results fit to symlinking support.
|
|
||||||
--source include/have_symlink.inc
|
|
||||||
|
|
||||||
##### Execute the test of "table" files
|
##### Execute the test of "table" files
|
||||||
# MyISAM has files per PK, UI, ...
|
# MyISAM has files per PK, UI, ...
|
||||||
|
@ -11,8 +11,87 @@
|
|||||||
# Change Author: mattiasj #
|
# Change Author: mattiasj #
|
||||||
# Change Date: 2008-02-05 #
|
# Change Date: 2008-02-05 #
|
||||||
# Change: copied it from partition_basic_innodb.test and kept DATA DIR #
|
# Change: copied it from partition_basic_innodb.test and kept DATA DIR #
|
||||||
|
# Change Author: mattiasj #
|
||||||
|
# Change Date: 2008-03-16 #
|
||||||
|
# Change: Replaced all test with alter -> myisam, since innodb does not support#
|
||||||
|
# DATA/INDEX DIRECTORY #
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
# NOTE: Until InnoDB supports DATA/INDEX DIR, test that a partitioned table
|
||||||
|
# remembers the DATA/INDEX DIR and it is used if altered to MyISAM
|
||||||
|
#
|
||||||
|
--echo # Will not run partition_basic_symlink on InnoDB, since it is the same
|
||||||
|
--echo # as partition_basic, since InnoDB does not support DATA/INDEX DIR
|
||||||
|
--echo # Will only verify that the DATA/INDEX DIR is stored and used if
|
||||||
|
--echo # ALTER to MyISAM.
|
||||||
|
--source include/have_innodb.inc
|
||||||
|
# The server must support partitioning.
|
||||||
|
--source include/have_partition.inc
|
||||||
|
# The server must support symlink for DATA/INDEX DIRECTORY.
|
||||||
|
--source include/have_symlink.inc
|
||||||
|
# windows does not support symlink for DATA/INDEX DIRECTORY.
|
||||||
|
--source include/not_windows.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
--enable_warnings
|
||||||
|
--mkdir $MYSQLTEST_VARDIR/mysql-test-data-dir
|
||||||
|
--mkdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval CREATE TABLE t1 (c1 INT)
|
||||||
|
ENGINE = InnoDB
|
||||||
|
PARTITION BY HASH (c1)
|
||||||
|
(PARTITION p0
|
||||||
|
DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
|
||||||
|
INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir',
|
||||||
|
PARTITION p1
|
||||||
|
DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
|
||||||
|
INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir'
|
||||||
|
);
|
||||||
|
--echo # Verifying .frm and .par files
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
|
||||||
|
--echo # Verifying that there are no MyISAM files
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p0.MYD
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p0.MYI
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
|
||||||
|
--error 1
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
|
||||||
|
FLUSH TABLES;
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
ALTER TABLE t1 ENGINE = MyISAM;
|
||||||
|
--echo # Verifying .frm, .par and MyISAM files (.MYD, MYI)
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p0.MYD
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p0.MYI
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
|
||||||
|
--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
|
||||||
|
FLUSH TABLES;
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
--rmdir $MYSQLTEST_VARDIR/mysql-test-data-dir
|
||||||
|
--rmdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
|
||||||
|
--exit
|
||||||
|
# here is the old test, which is tested by partition_basic_innodb
|
||||||
|
|
||||||
#
|
#
|
||||||
# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
|
# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
|
||||||
# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
|
# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
|
||||||
|
Loading…
x
Reference in New Issue
Block a user