diff options
author | unknown <iggy@recycle.(none)> | 2007-04-24 13:51:59 -0400 |
---|---|---|
committer | unknown <iggy@recycle.(none)> | 2007-04-24 13:51:59 -0400 |
commit | ab5e11c24f27f30fb842909ef1e805fc068a58dc (patch) | |
tree | 2e893d9887eed4d5bbd29ea300e6b8dbf080b21f /mysql-test/include | |
parent | f667dd85b51093f999b75a032d27a362d2533a26 (diff) | |
download | mariadb-git-ab5e11c24f27f30fb842909ef1e805fc068a58dc.tar.gz |
Cset exclude: iggy@alf.|ChangeSet|20070330021852|19466
BitKeeper/deleted/.del-partition_not_windows.test:
Exclude
BitKeeper/deleted/.del-partition_windows.result:
Exclude
BitKeeper/deleted/.del-partition_windows.test:
Exclude
mysql-test/include/partition.inc:
Exclude
sql/sql_table.cc:
Exclude
Diffstat (limited to 'mysql-test/include')
-rw-r--r-- | mysql-test/include/partition.inc | 1402 |
1 files changed, 0 insertions, 1402 deletions
diff --git a/mysql-test/include/partition.inc b/mysql-test/include/partition.inc index 5d005388858..e69de29bb2d 100644 --- a/mysql-test/include/partition.inc +++ b/mysql-test/include/partition.inc @@ -1,1402 +0,0 @@ -#--disable_abort_on_error -# -# Simple test for the partition storage engine -# Taken fromm the select test -# --- source include/have_partition.inc - -# -# This test is disabled on Windows due to BUG#19107 -# -#-- source include/not_windows.inc - ---disable_warnings -drop table if exists t1; ---enable_warnings - -# -# Bug 15890: Strange number of partitions accepted -# --- error 1064 -create table t1 (a int) -partition by key(a) -partitions 0.2+e1; --- error 1064 -create table t1 (a int) -partition by key(a) -partitions -1; --- error 1064 -create table t1 (a int) -partition by key(a) -partitions 1.5; --- error 1064 -create table t1 (a int) -partition by key(a) -partitions 1e+300; - -# -# Bug 21350: Data Directory problems -# --- error 1103 -create table t1 (a int) -partition by key (a) -(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); - -# -# Insert a test that manages to create the first partition and fails with -# the second, ensure that we clean up afterwards in a proper manner. -# ---error 1103 -create table t1 (a int) -partition by key (a) -(partition p0, - partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); - -# -# Bug 19309 Partitions: Crash if double procedural alter -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - -create procedure pz() -alter table t1 engine = myisam; - -call pz(); -call pz(); -drop procedure pz; -drop table t1; - -# -# Bug 19307: CSV engine crashes -# ---error ER_PARTITION_MERGE_ERROR -create table t1 (a int) -engine = csv -partition by list (a) -(partition p0 values in (null)); - -# -# BUG 16002: Handle unsigned integer functions properly -# ---error 1064 -create table t1 (a bigint) -partition by range (a) -(partition p0 values less than (0xFFFFFFFFFFFFFFFF), - partition p1 values less than (10)); ---error 1064 -create table t1 (a bigint) -partition by list (a) -(partition p0 values in (0xFFFFFFFFFFFFFFFF), - partition p1 values in (10)); - -create table t1 (a bigint unsigned) -partition by range (a) -(partition p0 values less than (100), - partition p1 values less than MAXVALUE); -insert into t1 values (1); -drop table t1; - -create table t1 (a bigint unsigned) -partition by hash (a); -insert into t1 values (0xFFFFFFFFFFFFFFFD); -insert into t1 values (0xFFFFFFFFFFFFFFFE); -select * from t1 where (a + 1) < 10; -select * from t1 where (a + 1) > 10; -drop table t1; - -# -# Bug 19307: CSV engine crashes -# ---error ER_PARTITION_MERGE_ERROR -create table t1 (a int) -engine = csv -partition by list (a) -(partition p0 values in (null)); - -# -# Added test case -# -create table t1 (a int) -partition by key(a) -(partition p0 engine = MEMORY); -drop table t1; - -# -# BUG 19067 ALTER TABLE .. ADD PARTITION for subpartitioned table crashes -# -create table t1 (a int) -partition by range (a) -subpartition by key (a) -(partition p0 values less than (1)); -alter table t1 add partition (partition p1 values less than (2)); -show create table t1; -alter table t1 reorganize partition p1 into (partition p1 values less than (3)); -show create table t1; -drop table t1; - -# -# Partition by key no partition defined => OK -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a); - -# -# Bug 13323: Select count(*) on empty table returns 2 -# -select count(*) from t1; - -# -# Test SHOW CREATE TABLE -# -show create table t1; - -drop table t1; -# -# Partition by key no partition, list of fields -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a, b); - -drop table t1; -# -# Partition by key specified 3 partitions and defined 3 => ok -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1, partition x2, partition x3); - -drop table t1; -# -# Partition by key specifying nodegroup -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1 nodegroup 0, - partition x2 nodegroup 1, - partition x3 nodegroup 2); - -drop table t1; -# -# Partition by key specifying engine -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1 engine myisam, - partition x2 engine myisam, - partition x3 engine myisam); - -drop table t1; -# -# Partition by key specifying tablespace -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1 tablespace ts1, - partition x2 tablespace ts2, - partition x3 tablespace ts3); - -CREATE TABLE t2 LIKE t1; - -drop table t2; -drop table t1; - -# -# Partition by key list, basic -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by list (a) -partitions 3 -(partition x1 values in (1,2,9,4) tablespace ts1, - partition x2 values in (3, 11, 5, 7) tablespace ts2, - partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); - -drop table t1; -# -# Partition by key list, list function -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by list (b*a) -partitions 3 -(partition x1 values in (1,2,9,4) tablespace ts1, - partition x2 values in (3, 11, 5, 7) tablespace ts2, - partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); - -drop table t1; - -# -# Partition by key list, list function, no spec of #partitions -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by list (b*a) -(partition x1 values in (1) tablespace ts1, - partition x2 values in (3, 11, 5, 7) tablespace ts2, - partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); - -drop table t1; - -# -# Bug 13154: Insert crashes due to bad calculation of partition id -# for PARTITION BY KEY and SUBPARTITION BY KEY -# -CREATE TABLE t1 ( -a int not null) -partition by key(a); - -LOCK TABLES t1 WRITE; -insert into t1 values (1); -insert into t1 values (2); -insert into t1 values (3); -insert into t1 values (4); -UNLOCK TABLES; - -drop table t1; - -# -# Bug #13644 DROP PARTITION NULL's DATE column -# -CREATE TABLE t1 (a int, name VARCHAR(50), purchased DATE) -PARTITION BY RANGE (a) -(PARTITION p0 VALUES LESS THAN (3), - PARTITION p1 VALUES LESS THAN (7), - PARTITION p2 VALUES LESS THAN (9), - PARTITION p3 VALUES LESS THAN (11)); -INSERT INTO t1 VALUES -(1, 'desk organiser', '2003-10-15'), -(2, 'CD player', '1993-11-05'), -(3, 'TV set', '1996-03-10'), -(4, 'bookcase', '1982-01-10'), -(5, 'exercise bike', '2004-05-09'), -(6, 'sofa', '1987-06-05'), -(7, 'popcorn maker', '2001-11-22'), -(8, 'acquarium', '1992-08-04'), -(9, 'study desk', '1984-09-16'), -(10, 'lava lamp', '1998-12-25'); - -SELECT * from t1 ORDER BY a; -ALTER TABLE t1 DROP PARTITION p0; -SELECT * from t1 ORDER BY a; - -drop table t1; - -# -# Bug #13442; Truncate Partitioned table doesn't work -# - -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION p0 VALUES IN (1,2,3), PARTITION p1 VALUES IN (4,5,6)); - -insert into t1 values (1),(2),(3),(4),(5),(6); -select * from t1; -truncate t1; -select * from t1; -truncate t1; -select * from t1; -drop table t1; - -# -# Bug #13445 Partition by KEY method crashes server -# -CREATE TABLE t1 (a int, b int, primary key(a,b)) -PARTITION BY KEY(b,a) PARTITIONS 4; - -insert into t1 values (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6); -select * from t1 where a = 4; - -drop table t1; - -# -# Bug #13438: Engine clause in PARTITION clause causes crash -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -PARTITIONS 1 -(PARTITION x1 VALUES IN (1) ENGINE=MEMORY); - -show create table t1; -drop table t1; - -# -# Bug #13440: REPLACE causes crash in partitioned table -# -CREATE TABLE t1 (a int, unique(a)) -PARTITION BY LIST (a) -(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); - ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -REPLACE t1 SET a = 4; -drop table t1; - -# -# Bug #14365: Crash if value too small in list partitioned table -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION x1 VALUES IN (2), PARTITION x2 VALUES IN (3)); - -insert into t1 values (2), (3); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (4); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (1); -drop table t1; - -# -# Bug 14327: PARTITIONS clause gets lost in SHOW CREATE TABLE -# -CREATE TABLE t1 (a int) -PARTITION BY HASH(a) -PARTITIONS 5; - -SHOW CREATE TABLE t1; - -drop table t1; - -# -# Bug #13446: Update to value outside of list values doesn't give error -# -CREATE TABLE t1 (a int) -PARTITION BY RANGE (a) -(PARTITION x1 VALUES LESS THAN (2)); - -insert into t1 values (1); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -update t1 set a = 5; - -drop table t1; - -# -# Bug #13441: Analyze on partitioned table didn't work -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); - -analyze table t1; - -drop table t1; - -# -# BUG 14524 -# -CREATE TABLE `t1` ( - `id` int(11) default NULL -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; -SELECT * FROM t1; - -drop table t1; - -# -# BUG 14524 -# -CREATE TABLE `t1` ( - `id` int(11) default NULL -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; -SELECT * FROM t1; - -drop table t1; - -# -# BUG 15221 (Cannot reorganize with the same name) -# -create table t1 -(a int) -partition by range (a) - ( partition p0 values less than(10), - partition p1 values less than (20), - partition p2 values less than (25)); - -alter table t1 reorganize partition p2 into (partition p2 values less than (30)); -show create table t1; -drop table t1; - -CREATE TABLE t1 (a int, b int) -PARTITION BY RANGE (a) -(PARTITION x0 VALUES LESS THAN (2), - PARTITION x1 VALUES LESS THAN (4), - PARTITION x2 VALUES LESS THAN (6), - PARTITION x3 VALUES LESS THAN (8), - PARTITION x4 VALUES LESS THAN (10), - PARTITION x5 VALUES LESS THAN (12), - PARTITION x6 VALUES LESS THAN (14), - PARTITION x7 VALUES LESS THAN (16), - PARTITION x8 VALUES LESS THAN (18), - PARTITION x9 VALUES LESS THAN (20)); - -ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO -(PARTITION x1 VALUES LESS THAN (6)); -show create table t1; -drop table t1; - -# Testcase for BUG#15819 -create table t1 (a int not null, b int not null) partition by LIST (a+b) ( - partition p0 values in (12), - partition p1 values in (14) -); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (10,1); - -drop table t1; - -# -# Bug#16901 Partitions: crash, SELECT, column of part. -# function=first column of primary key -# -create table t1 (f1 integer,f2 integer, f3 varchar(10), primary key(f1,f2)) -partition by range(f1) subpartition by hash(f2) subpartitions 2 -(partition p1 values less than (0), - partition p2 values less than (2), - partition p3 values less than (2147483647)); - -insert into t1 values(10,10,'10'); -insert into t1 values(2,2,'2'); -select * from t1 where f1 = 2; -drop table t1; - -# -# Bug #16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX -# -create table t1 (f1 integer,f2 integer, unique index(f1)) -partition by range(f1 div 2) -subpartition by hash(f1) subpartitions 2 -(partition partb values less than (2), -partition parte values less than (4), -partition partf values less than (10000)); -insert into t1 values(10,1); -select * from t1 where f1 = 10; -drop table t1; - -# -# Bug #16775: Wrong engine type stored for subpartition -# -set session storage_engine= 'memory'; -create table t1 (f_int1 int(11) default null) engine = memory - partition by range (f_int1) subpartition by hash (f_int1) - (partition part1 values less than (1000) - (subpartition subpart11 engine = memory)); -drop table t1; -set session storage_engine='myisam'; - -# -# Bug #16782: Crash using REPLACE on table with primary key -# -create table t1 (f_int1 integer, f_int2 integer, primary key (f_int1)) - partition by hash(f_int1) partitions 2; -insert into t1 values (1,1),(2,2); -replace into t1 values (1,1),(2,2); -drop table t1; - -# -# Bug #17169: Partitions: out of memory if add partition and unique -# -create table t1 (s1 int, unique (s1)) partition by list (s1) (partition x1 VALUES in (10), partition x2 values in (20)); -alter table t1 add partition (partition x3 values in (30)); -drop table t1; - -# -# Bug #17754 Change to explicit removal of partitioning scheme -# Also added a number of tests to ensure that proper engine is -# choosen in all kinds of scenarios. -# - -create table t1 (a int) -partition by key(a) -partitions 2 -(partition p0 engine=myisam, partition p1 engine=myisam); -show create table t1; - -alter table t1; -show create table t1; - -alter table t1 engine=myisam; -show create table t1; - -alter table t1 engine=heap; -show create table t1; - -alter table t1 remove partitioning; -show create table t1; - -drop table t1; - -create table t1 (a int) -engine=myisam -partition by key(a) -partitions 2 -(partition p0 engine=myisam, partition p1 engine=myisam); -show create table t1; - -alter table t1 add column b int remove partitioning; -show create table t1; - -alter table t1 -engine=myisam -partition by key(a) -(partition p0 engine=myisam, partition p1); -show create table t1; - -alter table t1 -engine=heap -partition by key(a) -(partition p0, partition p1 engine=heap); -show create table t1; - -alter table t1 engine=myisam, add column c int remove partitioning; -show create table t1; - -alter table t1 -engine=heap -partition by key (a) -(partition p0, partition p1); -show create table t1; - -alter table t1 -partition by key (a) -(partition p0, partition p1); -show create table t1; - -alter table t1 -engine=heap -partition by key (a) -(partition p0, partition p1); -show create table t1; - ---error ER_MIX_HANDLER_ERROR -alter table t1 -partition by key(a) -(partition p0, partition p1 engine=heap); - ---error ER_MIX_HANDLER_ERROR -alter table t1 -partition by key(a) -(partition p0 engine=heap, partition p1); - ---error ER_MIX_HANDLER_ERROR -alter table t1 -engine=heap -partition by key (a) -(partition p0 engine=heap, partition p1 engine=myisam); - ---error ER_MIX_HANDLER_ERROR -alter table t1 -partition by key (a) -(partition p0 engine=heap, partition p1 engine=myisam); - -drop table t1; - -# Bug #17432: Partition functions containing NULL values should return -# LONGLONG_MIN -# -CREATE TABLE t1 ( - f_int1 INTEGER, f_int2 INTEGER, - f_char1 CHAR(10), f_char2 CHAR(10), 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 parte VALUES LESS THAN (10), - PARTITION partf VALUES LESS THAN (2147483647)); -INSERT INTO t1 SET f_int1 = NULL , f_int2 = -20, f_char1 = CAST(-20 AS CHAR), - f_char2 = CAST(-20 AS CHAR), f_charbig = '#NULL#'; -SELECT * FROM t1 WHERE f_int1 IS NULL; -SELECT * FROM t1; -drop table t1; - -# -# Bug 17430: Crash when SELECT * from t1 where field IS NULL -# - -CREATE TABLE t1 ( - f_int1 INTEGER, f_int2 INTEGER, - f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) ) - PARTITION BY LIST(MOD(f_int1,2)) - SUBPARTITION BY KEY(f_int1) - (PARTITION part1 VALUES IN (-1) (SUBPARTITION sp1, SUBPARTITION sp2), - PARTITION part2 VALUES IN (0) (SUBPARTITION sp3, SUBPARTITION sp5), - PARTITION part3 VALUES IN (1) (SUBPARTITION sp4, SUBPARTITION sp6)); - -INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; -INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; - -SELECT * FROM t1 WHERE f_int1 IS NULL; -drop table t1; - -# -# Bug#14363 Partitions: failure if create in stored procedure -# -delimiter //; - -create procedure p () -begin -create table t1 (s1 mediumint,s2 mediumint) -partition by list (s2) -(partition p1 values in (0), - partition p2 values in (1)); -end// - -call p()// -drop procedure p// -drop table t1; - -create procedure p () -begin -create table t1 (a int not null,b int not null,c int not null,primary key (a,b)) -partition by range (a) -subpartition by hash (a+b) -(partition x1 values less than (1) - (subpartition x11, - subpartition x12), - partition x2 values less than (5) - (subpartition x21, - subpartition x22)); -end// - -call p()// -drop procedure p// -drop table t1// -delimiter ;// - -# -# Bug #15447 Partitions: NULL is treated as zero -# - -# NULL for RANGE partition -create table t1 (a int,b int,c int,key(a,b)) -partition by range (a) -partitions 3 -(partition x1 values less than (0) tablespace ts1, - partition x2 values less than (10) tablespace ts2, - partition x3 values less than maxvalue tablespace ts3); - -insert into t1 values (NULL, 1, 1); -insert into t1 values (0, 1, 1); -insert into t1 values (12, 1, 1); - -select partition_name, partition_description, table_rows -from information_schema.partitions where table_schema ='test'; -drop table t1; - -# NULL for LIST partition ---error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11,12), - partition x234 values in (1 ,NULL, NULL)); - ---error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11, NULL), - partition x234 values in (1 ,NULL)); - -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11, 12), - partition x234 values in (5, 1)); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (NULL,1,1); -drop table t1; - -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11, 12), - partition x234 values in (NULL, 1)); - -insert into t1 values (11,1,6); -insert into t1 values (NULL,1,1); - -select partition_name, partition_description, table_rows -from information_schema.partitions where table_schema ='test'; -drop table t1; - -# -# BUG 17947 Crash with REBUILD PARTITION -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - ---error 1064 -alter table t1 rebuild partition; - -drop table t1; - -# -# BUG 15253 Insert that should fail doesn't -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (5)); - ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (0); - -drop table t1; - -# -# BUG #16370 Subpartitions names not shown in SHOW CREATE TABLE output -# -create table t1 (a int) -partition by range (a) subpartition by hash (a) -(partition p0 values less than (100)); - -show create table t1; -alter table t1 add partition (partition p1 values less than (200) -(subpartition subpart21)); - -show create table t1; - -drop table t1; - -create table t1 (a int) -partition by key (a); - -show create table t1; -alter table t1 add partition (partition p1); -show create table t1; - -drop table t1; - -# -# BUG 15407 Crash with subpartition -# ---error 1064 -create table t1 (a int, b int) -partition by range (a) -subpartition by hash(a) -(partition p0 values less than (0) (subpartition sp0), - partition p1 values less than (1)); - ---error 1064 -create table t1 (a int, b int) -partition by range (a) -subpartition by hash(a) -(partition p0 values less than (0), - partition p1 values less than (1) (subpartition sp0)); - -# -# BUG 15961 No error when subpartition defined without subpartition by clause -# ---error ER_SUBPARTITION_ERROR -create table t1 (a int) -partition by hash (a) -(partition p0 (subpartition sp0)); - -# -# Bug 17127 -# -create table t1 (a int) -partition by range (a) -(partition p0 values less than (1)); - ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values in (2)); ---error ER_PARTITION_REQUIRES_VALUES_ERROR -alter table t1 add partition (partition p1); - -drop table t1; - -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values less than (2)); ---error ER_PARTITION_REQUIRES_VALUES_ERROR -alter table t1 add partition (partition p1); - -drop table t1; - -create table t1 (a int) -partition by hash (a) -(partition p0); - ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values less than (2)); ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values in (2)); - -drop table t1; - -# -# BUG 17947 Crash with REBUILD PARTITION -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - ---error 1064 -alter table t1 rebuild partition; - -drop table t1; - -# -# Bug #14526: Partitions: indexed searches fail -# -create table t2 (s1 int not null auto_increment, primary key (s1)) partition by list (s1) (partition p1 values in (1),partition p2 values in (2),partition p3 values in (3),partition p4 values in (4)); -insert into t2 values (null),(null),(null); -select * from t2; -select * from t2 where s1 < 2; -update t2 set s1 = s1 + 1 order by s1 desc; -select * from t2 where s1 < 3; -select * from t2 where s1 = 2; -drop table t2; - -# -# Bug #17497: Partitions: crash if add partition on temporary table -# ---error ER_PARTITION_NO_TEMPORARY -create temporary table t1 (a int) partition by hash(a); - -# -# Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten -# metadata,crash -# -create table t1 (a int, b int) partition by list (a) - (partition p1 values in (1), partition p2 values in (2)); ---error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF -alter table t1 add primary key (b); -show create table t1; -drop table t1; - -############################################ -# -# Author: Mikael Ronstrom -# Date: 2006-03-01 -# Purpose -# Bug 17772: Crash at ALTER TABLE with rename -# and add column + comment on -# partitioned table -# -############################################ -create table t1 (a int unsigned not null auto_increment primary key) -partition by key(a); -alter table t1 rename t2, add c char(10), comment "no comment"; -show create table t2; - -drop table t2; - -# -# Bug#15336 Partitions: crash if create table as select -# -create table t1 (f1 int) partition by hash (f1) as select 1; -drop table t1; - -# -# bug #14350 Partitions: crash if prepared statement -# -prepare stmt1 from 'create table t1 (s1 int) partition by hash (s1)'; -execute stmt1; ---error 1050 -execute stmt1; -drop table t1; - -# -# bug 17290 SP with delete, create and rollback to save point causes MySQLD core -# -delimiter |; -eval CREATE PROCEDURE test.p1(IN i INT) -BEGIN - DECLARE CONTINUE HANDLER FOR sqlexception BEGIN END; - DROP TABLE IF EXISTS t1; - CREATE TABLE t1 (num INT,PRIMARY KEY(num)); - START TRANSACTION; - INSERT INTO t1 VALUES(i); - savepoint t1_save; - INSERT INTO t1 VALUES (14); - ROLLBACK to savepoint t1_save; - COMMIT; -END| -delimiter ;| -CALL test.p1(12); -CALL test.p1(13); -drop table t1; -drop procedure test.p1; - -# -# Bug 13520: Problem with delimiters in COMMENT DATA DIRECTORY .. -# -CREATE TABLE t1 (a int not null) -partition by key(a) -(partition p0 COMMENT='first partition'); -drop table t1; - -# -# Bug 13433: Problem with delimited identifiers -# -CREATE TABLE t1 (`a b` int not null) -partition by key(`a b`); -drop table t1; - -CREATE TABLE t1 (`a b` int not null) -partition by hash(`a b`); -drop table t1; - -# -# Bug#18053 Partitions: crash if null -# Bug#18070 Partitions: wrong result on WHERE ... IS NULL -# -create table t1 (f1 integer) partition by range(f1) -(partition p1 values less than (0), partition p2 values less than (10)); -insert into t1 set f1 = null; -select * from t1 where f1 is null; -explain partitions select * from t1 where f1 is null; -drop table t1; - -create table t1 (f1 integer) partition by list(f1) -(partition p1 values in (1), partition p2 values in (null)); -insert into t1 set f1 = null; -insert into t1 set f1 = 1; -select * from t1 where f1 is null or f1 = 1; -drop table t1; - -create table t1 (f1 smallint) -partition by list (f1) (partition p0 values in (null)); -insert into t1 values (null); -select * from t1 where f1 is null; -select * from t1 where f1 < 1; -select * from t1 where f1 <= NULL; -select * from t1 where f1 < NULL; -select * from t1 where f1 >= NULL; -select * from t1 where f1 > NULL; -select * from t1 where f1 > 1; -drop table t1; - -create table t1 (f1 smallint) -partition by range (f1) (partition p0 values less than (0)); -insert into t1 values (null); -select * from t1 where f1 is null; -drop table t1; - -create table t1 (f1 integer) partition by list(f1) -( - partition p1 values in (1), - partition p2 values in (NULL), - partition p3 values in (2), - partition p4 values in (3), - partition p5 values in (4) -); - -insert into t1 values (1),(2),(3),(4),(null); -select * from t1 where f1 < 3; -explain partitions select * from t1 where f1 < 3; -select * from t1 where f1 is null; -explain partitions select * from t1 where f1 is null; -drop table t1; - -create table t1 (f1 int) partition by list(f1 div 2) -( - partition p1 values in (1), - partition p2 values in (NULL), - partition p3 values in (2), - partition p4 values in (3), - partition p5 values in (4) -); - -insert into t1 values (2),(4),(6),(8),(null); -select * from t1 where f1 < 3; -explain partitions select * from t1 where f1 < 3; -select * from t1 where f1 is null; -explain partitions select * from t1 where f1 is null; -drop table t1; - -create table t1 (a int) partition by LIST(a) ( - partition pn values in (NULL), - partition p0 values in (0), - partition p1 values in (1), - partition p2 values in (2) -); -insert into t1 values (NULL),(0),(1),(2); -select * from t1 where a is null or a < 2; -explain partitions select * from t1 where a is null or a < 2; -select * from t1 where a is null or a < 0 or a > 1; -explain partitions select * from t1 where a is null or a < 0 or a > 1; -drop table t1; - -# -#Bug# 17631 SHOW TABLE STATUS reports wrong engine -# -CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20)) -ENGINE=MyISAM DEFAULT CHARSET=latin1 -PARTITION BY RANGE(id) -(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, -PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, -PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); ---replace_column 6 0 7 0 8 0 9 0 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -DROP TABLE t1; - -# -#BUG 16002 Erroneus handling of unsigned partition functions -# ---error ER_PARTITION_CONST_DOMAIN_ERROR -create table t1 (a bigint unsigned) -partition by list (a) -(partition p0 values in (0-1)); - -create table t1 (a bigint unsigned) -partition by range (a) -(partition p0 values less than (10)); - ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (0xFFFFFFFFFFFFFFFF); - -drop table t1; - -# -#BUG 18750 Problems with partition names -# -create table t1 (a int) -partition by list (a) -(partition `s1 s2` values in (0)); -drop table t1; - -create table t1 (a int) -partition by list (a) -(partition `7` values in (0)); -drop table t1; - ---error ER_WRONG_PARTITION_NAME -create table t1 (a int) -partition by list (a) -(partition `s1 s2 ` values in (0)); - ---error ER_WRONG_PARTITION_NAME -create table t1 (a int) -partition by list (a) -subpartition by hash (a) -(partition p1 values in (0) (subpartition `p1 p2 `)); - -# -# BUG 18752 SHOW CREATE TABLE doesn't show NULL value in SHOW CREATE TABLE -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION p0 VALUES IN (NULL)); -SHOW CREATE TABLE t1; -DROP TABLE t1; - ---error 1064 -CREATE TABLE t1 (a int) -PARTITION BY RANGE(a) -(PARTITION p0 VALUES LESS THAN (NULL)); - -# -# Bug#18753 Partitions: auto_increment fails -# -create table t1 (s1 int auto_increment primary key) -partition by list (s1) -(partition p1 values in (1), - partition p2 values in (2), - partition p3 values in (3)); -insert into t1 values (null); -insert into t1 values (null); -insert into t1 values (null); -select auto_increment from information_schema.tables where table_name='t1'; -select * from t1; -drop table t1; - -# -# BUG 19140 Partitions: Create index for partitioned table crashes -# -create table t1 (a int) engine=memory -partition by key(a); -insert into t1 values (1); -create index inx1 on t1(a); -drop table t1; - -# -# Bug 19695 Partitions: SHOW CREATE TABLE shows table options even when it -# shouldn't -# -create table t1 (a int) -PARTITION BY KEY (a) -(PARTITION p0); -set session sql_mode='no_table_options'; -show create table t1; -set session sql_mode=''; -drop table t1; - -# -# BUG 19304 Partitions: MERGE handler not allowed in partitioned tables -# ---error ER_PARTITION_MERGE_ERROR -create table t1 (a int) -partition by key (a) -(partition p0 engine = MERGE); - -# -# BUG 19062 Partition clause ignored if CREATE TABLE ... AS SELECT ...; -# -create table t1 (a varchar(1)) -partition by key (a) -as select 'a'; - -show create table t1; -drop table t1; - -# -# BUG 19501 Partitions: SHOW TABLE STATUS shows wrong Data_free -# -CREATE TABLE t1 (a int) ENGINE = MYISAM PARTITION BY KEY(a); -INSERT into t1 values (1), (2); ---replace_column 9 0 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -DELETE from t1 where a = 1; ---replace_column 9 0 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -ALTER TABLE t1 OPTIMIZE PARTITION p0; ---replace_column 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -DROP TABLE t1; - -# -# BUG 19502: ENABLE/DISABLE Keys don't work for partitioned tables -# -CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a); -ALTER TABLE t1 DISABLE KEYS; -ALTER TABLE t1 ENABLE KEYS; -DROP TABLE t1; - -# -# Bug 17455 Partitions: Wrong message and error when using Repair/Optimize -# table on partitioned table -# -create table t1 (a int) -engine=MEMORY -partition by key (a); - -REPAIR TABLE t1; -OPTIMIZE TABLE t1; - -drop table t1; - -# -# Bug 17310 Partitions: Bugs with archived partitioned tables -# -create database db99; -use db99; -create table t1 (a int not null) -engine=archive -partition by list (a) -(partition p0 values in (1), partition p1 values in (2)); -insert into t1 values (1), (2); ---error 0, 1005 -create index inx on t1 (a); -alter table t1 add partition (partition p2 values in (3)); -alter table t1 drop partition p2; -use test; -drop database db99; - -# -#BUG 17138 Problem with stored procedure and analyze partition -# ---disable_warnings -drop procedure if exists mysqltest_1; ---enable_warnings - -create table t1 (a int) -partition by list (a) -(partition p0 values in (0)); - -insert into t1 values (0); -delimiter //; - -create procedure mysqltest_1 () -begin - begin - declare continue handler for sqlexception begin end; - update ignore t1 set a = 1 where a = 0; - end; - prepare stmt1 from 'alter table t1'; - execute stmt1; -end// - -call mysqltest_1()// -delimiter ;// -drop table t1; -drop procedure mysqltest_1; - -# -# Bug 20583 Partitions: Crash using index_last -# -create table t1 (a int, index(a)) -partition by hash(a); -insert into t1 values (1),(2); -select * from t1 ORDER BY a DESC; -drop table t1; - -# -# Bug 21388: Bigint fails to find record -# -create table t1 (a bigint unsigned not null, primary key(a)) -engine = myisam -partition by key (a) -partitions 10; - -show create table t1; -insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), -(18446744073709551613), (18446744073709551612); -select * from t1; -select * from t1 where a = 18446744073709551615; -delete from t1 where a = 18446744073709551615; -select * from t1; -drop table t1; - -# -# Bug 24502 reorganize partition closes connection -# -CREATE TABLE t1 ( - num int(11) NOT NULL, cs int(11) NOT NULL) -PARTITION BY RANGE (num) SUBPARTITION BY HASH ( -cs) SUBPARTITIONS 2 (PARTITION p_X VALUES LESS THAN MAXVALUE); - -ALTER TABLE t1 -REORGANIZE PARTITION p_X INTO ( - PARTITION p_100 VALUES LESS THAN (100), - PARTITION p_X VALUES LESS THAN MAXVALUE - ); - -drop table t1; - -# -# Bug #24186 (nested query across partitions returns fewer records) -# - -CREATE TABLE t2 ( - taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - id int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (id,taken), - KEY taken (taken) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO t2 VALUES -('2006-09-27 21:50:01',16421), -('2006-10-02 21:50:01',16421), -('2006-09-27 21:50:01',19092), -('2006-09-28 21:50:01',19092), -('2006-09-29 21:50:01',19092), -('2006-09-30 21:50:01',19092), -('2006-10-01 21:50:01',19092), -('2006-10-02 21:50:01',19092), -('2006-09-27 21:50:01',22589), -('2006-09-29 21:50:01',22589); - -CREATE TABLE t1 ( - id int(8) NOT NULL, - PRIMARY KEY (id) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO t1 VALUES -(16421), -(19092), -(22589); - -CREATE TABLE t4 ( - taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - id int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (id,taken), - KEY taken (taken) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -PARTITION BY RANGE (to_days(taken)) -( -PARTITION p01 VALUES LESS THAN (732920) , -PARTITION p02 VALUES LESS THAN (732950) , -PARTITION p03 VALUES LESS THAN MAXVALUE ) ; - -INSERT INTO t4 select * from t2; - -set @f_date='2006-09-28'; -set @t_date='2006-10-02'; - -SELECT t1.id AS MyISAM_part -FROM t1 -WHERE t1.id IN ( - SELECT distinct id - FROM t4 - WHERE taken BETWEEN @f_date AND date_add(@t_date, INTERVAL 1 DAY)) -ORDER BY t1.id -; - -drop table t1, t2, t4; - -CREATE TABLE t1 ( - taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - id int(11) NOT NULL DEFAULT '0', - status varchar(20) NOT NULL DEFAULT '', - PRIMARY KEY (id,taken) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -PARTITION BY RANGE (to_days(taken)) -( -PARTITION p15 VALUES LESS THAN (732950) , -PARTITION p16 VALUES LESS THAN MAXVALUE ) ; - - -INSERT INTO t1 VALUES -('2006-09-27 21:50:01',22589,'Open'), -('2006-09-29 21:50:01',22589,'Verified'); - -DROP TABLE IF EXISTS t2; -CREATE TABLE t2 ( - id int(8) NOT NULL, - severity tinyint(4) NOT NULL DEFAULT '0', - priority tinyint(4) NOT NULL DEFAULT '0', - status varchar(20) DEFAULT NULL, - alien tinyint(4) NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO t2 VALUES -(22589,1,1,'Need Feedback',0); - -SELECT t2.id FROM t2 WHERE t2.id IN (SELECT id FROM t1 WHERE status = 'Verified'); - -drop table t1, t2; - ---echo End of 5.1 tests |