diff options
author | unknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se> | 2006-06-06 11:54:21 -0400 |
---|---|---|
committer | unknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se> | 2006-06-06 11:54:21 -0400 |
commit | 5239cba4b58071ea1aa16ff823305f0498078e0a (patch) | |
tree | 602f83504772f8c58798bb84a51dc17f150373b4 /mysql-test | |
parent | e05d2d06cb4adfe27dc4c0c4cb8f445332e9ab80 (diff) | |
download | mariadb-git-5239cba4b58071ea1aa16ff823305f0498078e0a.tar.gz |
BUG#16002: More review fixes
mysql-test/r/partition_range.result:
Changed test cases
mysql-test/t/partition_range.test:
Changed test cases
sql/partition_info.cc:
Changes to resue signed integer code for unsigned integer partition functions
Basic idea is to store value - 0x8000000000000000 in list_array and range_int_array
and also perform this subtraction before applying get_partition_id_range and so
forth.
sql/sql_partition.cc:
Changes to resue signed integer code for unsigned integer partition functions
Basic idea is to store value - 0x8000000000000000 in list_array and range_int_array
and also perform this subtraction before applying get_partition_id_range and so
forth.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/partition_range.result | 17 | ||||
-rw-r--r-- | mysql-test/t/partition_range.test | 10 |
2 files changed, 25 insertions, 2 deletions
diff --git a/mysql-test/r/partition_range.result b/mysql-test/r/partition_range.result index 4d071c0edc1..4a3ed6b6164 100644 --- a/mysql-test/r/partition_range.result +++ b/mysql-test/r/partition_range.result @@ -365,13 +365,28 @@ COUNT(*) DROP TABLE t1; create table t1 (a bigint unsigned) partition by range (a) +(partition p0 values less than (10), +partition p1 values less than (0)); +ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition +create table t1 (a bigint unsigned) +partition by range (a) (partition p0 values less than (0), partition p1 values less than (10)); -ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` bigint(20) unsigned DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) +drop table t1; create table t1 (a bigint unsigned) partition by range (a) (partition p0 values less than (2), partition p1 values less than (10)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` bigint(20) unsigned DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (2) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) insert into t1 values (0xFFFFFFFFFFFFFFFF); ERROR HY000: Table has no partition for value 18446744073709551615 drop table t1; diff --git a/mysql-test/t/partition_range.test b/mysql-test/t/partition_range.test index 239c6cc8144..ebe249eb072 100644 --- a/mysql-test/t/partition_range.test +++ b/mysql-test/t/partition_range.test @@ -394,14 +394,22 @@ DROP TABLE t1; --error ER_RANGE_NOT_INCREASING_ERROR create table t1 (a bigint unsigned) partition by range (a) +(partition p0 values less than (10), + partition p1 values less than (0)); + +create table t1 (a bigint unsigned) +partition by range (a) (partition p0 values less than (0), partition p1 values less than (10)); +show create table t1; +drop table t1; create table t1 (a bigint unsigned) partition by range (a) (partition p0 values less than (2), partition p1 values less than (10)); +show create table t1; --error ER_NO_PARTITION_FOR_GIVEN_VALUE insert into t1 values (0xFFFFFFFFFFFFFFFF); - drop table t1; + |