mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
0a9e4c79d4
Bug#31610 Remove outdated and redundant tests: partition_02myisam partition_03ndb Bug#32405 testsuite parts: partition_char_myisam wrong content and cleanup of testsuite - remove/correct wrong comments - remove workarounds for fixed bugs - replace error numbers with error names - exclude subtests from execution which fail now because of new limitations for partitioning functions - remove code for the no more intended dual use fast test in regression tests/slow test in testsuite - analyze and fix problems with partition_char_innodb - fix problems caused by last change of error numbers - Introduce error name to error number mapping which makes maintenance after next error renumbering easier BitKeeper/deleted/.del-partition_03ndb.result: Rename: mysql-test/suite/ndb/r/partition_03ndb.result -> BitKeeper/deleted/.del-partition_03ndb.result BitKeeper/deleted/.del-partition_03ndb.test: Rename: mysql-test/suite/ndb/t/partition_03ndb.test -> BitKeeper/deleted/.del-partition_03ndb.test BitKeeper/deleted/.del-partition_1.inc: Rename: mysql-test/include/partition_1.inc -> BitKeeper/deleted/.del-partition_1.inc BitKeeper/deleted/.del-partition_02myisam.result: Rename: mysql-test/r/partition_02myisam.result -> BitKeeper/deleted/.del-partition_02myisam.result BitKeeper/deleted/.del-partition_02myisam.test: Rename: mysql-test/t/partition_02myisam.test -> BitKeeper/deleted/.del-partition_02myisam.test BitKeeper/deleted/.del-partition_char_myisam.result: Rename: mysql-test/suite/parts/r/partition_char_myisam.result -> BitKeeper/deleted/.del-partition_char_myisam.result mysql-test/suite/parts/inc/methods1.inc: Fixes + cleanup mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc: Fixes + cleanup mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc: Fixes + cleanup mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition.pre: Fixes + cleanup mysql-test/suite/parts/inc/partition_10.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_11.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_12.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_20.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter2.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter3.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter4.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter_1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter_11.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter_13.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_alter_41.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_basic.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_binary.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_bit.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_blob.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_char.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_check.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_check_drop.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_check_read.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_check_read1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_check_read2.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_cleanup.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_directory.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_engine.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_enum.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_layout.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_layout_check1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_layout_check2.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_methods1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_methods2.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_set.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_syntax.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_syntax_1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_syntax_2.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_text.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_trigg1.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_trigg2.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_trigg3.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_value.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_varbinary.inc: Fixes + cleanup mysql-test/suite/parts/inc/partition_varchar.inc: Fixes + cleanup mysql-test/suite/parts/r/partition_alter1_innodb.result: Updated result mysql-test/suite/parts/r/partition_alter1_myisam.result: Updated result mysql-test/suite/parts/r/partition_alter2_innodb.result: Updated result mysql-test/suite/parts/r/partition_alter2_myisam.result: Updated result mysql-test/suite/parts/r/partition_alter3_innodb.result: Updated result mysql-test/suite/parts/r/partition_alter3_myisam.result: Updated result mysql-test/suite/parts/r/partition_alter4_innodb.result: Updated result mysql-test/suite/parts/r/partition_alter4_myisam.result: Updated result mysql-test/suite/parts/r/partition_basic_innodb.result: Updated result mysql-test/suite/parts/r/partition_basic_myisam.result: Updated result mysql-test/suite/parts/r/partition_bit_myisam.result: Updated result mysql-test/suite/parts/r/partition_char_innodb.result: Updated result mysql-test/suite/parts/r/partition_datetime_myisam.result: Updated result mysql-test/suite/parts/r/partition_decimal_myisam.result: Updated result mysql-test/suite/parts/r/partition_engine_innodb.result: Updated result mysql-test/suite/parts/r/partition_engine_myisam.result: Updated result mysql-test/suite/parts/r/partition_float_innodb.result: Updated result mysql-test/suite/parts/r/partition_float_myisam.result: Updated result mysql-test/suite/parts/r/partition_int_myisam.result: Updated result mysql-test/suite/parts/r/partition_special_myisam.result: Updated result mysql-test/suite/parts/r/partition_syntax_innodb.result: Updated result mysql-test/suite/parts/r/partition_syntax_myisam.result: Updated result mysql-test/suite/parts/t/disabled.def: Fixes + cleanup mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/part_supported_sql_func_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/part_supported_sql_func_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/part_supported_sql_func_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter1_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter1_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter1_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter2_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter2_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter2_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter3_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter3_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter4_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_alter4_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_basic_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_basic_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_basic_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_bit_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_bit_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_bit_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_char_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_char_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_datetime_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_datetime_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_decimal_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_decimal_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_engine_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_engine_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_engine_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_float_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_float_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_int_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_int_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_int_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_special_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_special_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_syntax_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_syntax_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_syntax_ndb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_value_innodb.test: Fixes + cleanup mysql-test/suite/parts/t/partition_value_myisam.test: Fixes + cleanup mysql-test/suite/parts/t/partition_value_ndb.test: Fixes + cleanup mysql-test/suite/parts/r/partition_char_myisam.result: Updated result bk rm + new file is caused by bk complaining about filetype
169 lines
7.2 KiB
PHP
169 lines
7.2 KiB
PHP
################################################################################
|
|
# inc/partition_value.inc #
|
|
# #
|
|
# Purpose: #
|
|
# Tests around "exotic" values calculated by the partitioning function #
|
|
# #
|
|
#------------------------------------------------------------------------------#
|
|
# Original Author: mleich #
|
|
# Original Date: 2006-04-11 #
|
|
# Change Author: #
|
|
# Change Date: #
|
|
# Change: #
|
|
################################################################################
|
|
|
|
|
|
--echo
|
|
--echo This test relies on the CAST() function for partitioning, which
|
|
--echo is not allowed. Not deleting it yet, as it may have some useful
|
|
--echo bits in it. See Bug #30581, "partition_value tests use disallowed
|
|
--echo CAST() function"
|
|
--echo
|
|
|
|
--disable_parsing
|
|
|
|
--echo
|
|
--echo #========================================================================
|
|
--echo # Calculation of "exotic" results within the partition function
|
|
--echo # outside of SIGNED BIGINT value range, 0, NULL
|
|
--echo # column used in partitioning function has type CHAR
|
|
--echo #========================================================================
|
|
--echo # 1. HASH(<check value>)
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_warnings
|
|
#
|
|
eval CREATE TABLE t1 (
|
|
$column_list
|
|
)
|
|
PARTITION BY HASH(CAST(f_char1 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)) PARTITIONS 8;
|
|
let $my_val= 2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
let $my_val= -2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
let $my_val= 0;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
# let $my_val= NULL;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES(NULL,NULL,NULL,NULL,NULL);
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
|
|
DROP TABLE t1;
|
|
#
|
|
--echo # 2. RANGE(<check value>)
|
|
eval CREATE TABLE t1 (
|
|
$column_list
|
|
)
|
|
PARTITION BY RANGE(CAST(f_char1 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER))
|
|
(PARTITION p0 VALUES LESS THAN (0),
|
|
PARTITION p1 VALUES LESS THAN (1000000),
|
|
PARTITION p2 VALUES LESS THAN MAXVALUE);
|
|
let $my_val= 2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
let $my_val= -2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
let $my_val= 0;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
# let $my_val= NULL;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES(NULL,NULL,NULL,NULL,NULL);
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
|
|
DROP TABLE t1;
|
|
#
|
|
# The NDB handler only supports 32 bit integers in VALUES
|
|
# therefor we have to skip the next test for NDB.
|
|
if (`SELECT @@session.storage_engine NOT IN('ndbcluster')`)
|
|
{
|
|
--echo # 3. LIST(<check value>)
|
|
eval CREATE TABLE t1 (
|
|
$column_list
|
|
)
|
|
PARTITION BY LIST(CAST(f_char1 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER))
|
|
(PARTITION p0 VALUES IN (0),
|
|
PARTITION p1 VALUES IN (NULL),
|
|
PARTITION p2 VALUES IN (CAST( 2147483646 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)),
|
|
PARTITION p3 VALUES IN (CAST(-2147483646 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)));
|
|
let $my_val= 2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
let $my_val= -2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
let $my_val= 0;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '$my_val';
|
|
# let $my_val= NULL;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES(NULL,NULL,NULL,NULL,NULL);
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
|
|
DROP TABLE t1;
|
|
}
|
|
#
|
|
--echo # 4. Partition by RANGE(...) subpartition by HASH(<check value>)
|
|
eval CREATE TABLE t1 (
|
|
$column_list
|
|
)
|
|
PARTITION BY RANGE(CAST(f_char1 AS SIGNED INTEGER))
|
|
SUBPARTITION BY HASH(CAST(f_char2 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)) SUBPARTITIONS 4
|
|
(PARTITION p0 VALUES LESS THAN (0),
|
|
PARTITION p1 VALUES LESS THAN MAXVALUE);
|
|
let $my_val= 2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'1','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '$my_val';
|
|
let $my_val= -2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'-1','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '$my_val';
|
|
let $my_val= 0;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'$my_val','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '$my_val';
|
|
# let $my_val= NULL;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES(NULL,NULL,NULL,NULL,NULL);
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 IS NULL;
|
|
DROP TABLE t1;
|
|
#
|
|
--echo # 5. Partition by LIST(...) subpartition by HASH(<check value>)
|
|
eval CREATE TABLE t1 (
|
|
$column_list
|
|
)
|
|
PARTITION BY LIST(CAST(f_char1 AS SIGNED INTEGER))
|
|
SUBPARTITION BY HASH(CAST(f_char2 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)) SUBPARTITIONS 4
|
|
(PARTITION p0 VALUES IN (NULL),
|
|
PARTITION p1 VALUES IN (1));
|
|
let $my_val= 2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'1','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '$my_val';
|
|
let $my_val= -2147483646;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'1','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '$my_val';
|
|
let $my_val= 0;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES($my_val,$my_val,'1','$my_val','#$my_val#');
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '$my_val';
|
|
# let $my_val= NULL;
|
|
eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
|
|
VALUES(NULL,NULL,NULL,NULL,NULL);
|
|
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 IS NULL;
|
|
DROP TABLE t1;
|
|
#
|
|
|
|
--enable_parsing
|