mariadb/mysql-test/suite/parts/inc/partition_time.inc
tsmith@ramayana.hindu.god 220cd12f0b Fixes for the following bugs:
Bug #30316: Some "parts" tests fail because the server uses "--secure-file-priv"
Bug #30341: Test suite "parts" needs to be adapted to the new rules disallowing many functio
Bug #30408: Suite "parts" needs bug numbers updated
Bug #30411: Suite "parts" needs bug numbers updated: ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
Bug #30576: part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir
Bug #30581: partition_value tests use disallowed CAST() function

Included are some general fixes to allow the "parts" test suite to be run
successfully.  This includes disabling a few tests or parts of tests,
cleaning up the test cases and their results, etc.  Basically, these tests
have not been run for some time, and had suffered some bit rot.

The bugs were fixed as a single changeset, because in some ways they depend
on each other.  I couldn't be sure I'd updated all the error codes (for
bugs 30408 and 30411) without also adapting to the new allowed functions
rules (bug 30341), and vice versa.
2007-08-27 14:08:32 -06:00

86 lines
2.5 KiB
PHP

--disable_query_log
# DATA DIRECTORY
eval SET @data_dir = 'DATA DIRECTORY =
''/tmp''';
let $data_directory = `select @data_dir`;
#INDEX DIRECTORY
eval SET @indx_dir = 'INDEX DIRECTORY =
''/tmp''';
let $index_directory = `select @indx_dir`;
--enable_query_log
eval create table t1 (a time not null, primary key(a)) engine=$engine
partition by key (a) (
partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
show create table t1;
insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59');
select * from t1;
select * from t1 where a=030303;
delete from t1 where a=030303;
select * from t1;
drop table t1;
eval create table t2 (a time not null, primary key(a)) engine=$engine
partition by key (a) partitions 12;
show create table t2;
insert into t2 values ('0:1:1'), ('10:11:12'), ('13:14:15'), ('14:15:16');
select * from t2;
select * from t2 where a='13:14:15';
delete from t2 where a='13:14:15';
select * from t2;
delete from t2;
let $count=59;
--echo $count inserts;
#--disable_query_log
while ($count)
{
eval insert into t2 values (000100+$count);
dec $count;
}
select count(*) from t2;
select * from t2;
drop table t2;
eval create table t3 (a time not null, primary key(a)) engine=$engine
partition by range (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (16),
partition quarter2 values less than (31),
partition quarter3 values less than (46),
partition quarter4 values less than (61)
);
show create table t3;
let $count=59;
--echo $count inserts;
while ($count)
{
eval insert into t3 values (100000+$count);
dec $count;
}
select count(*) from t3;
select * from t3;
drop table t3;
eval create table t4 (a time not null, primary key(a)) engine=$engine
partition by list (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
partition quarter2 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
partition quarter3 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
partition quarter4 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
);
show create table t4;
let $count=59;
--echo $count inserts;
while ($count)
{
eval insert into t4 values (100000+$count);
dec $count;
}
select count(*) from t4;
select * from t4;
drop table t4;