List:Commits« Previous MessageNext Message »
From:Mikael Ronstrom Date:December 2 2009 11:49am
Subject:bzr push into mysql-5.5-trunk-bugfixing branch (mikael:2909 to 2910)
Bug#49180
View as plain text  
 2910 Mikael Ronstrom	2009-12-02
      BUG#49180, fixed MAXVALUE problem

    modified:
      mysql-test/r/partition_column.result
      mysql-test/t/partition_column.test
      sql/partition_info.cc
 2909 Alexey Botchkov	2009-11-25
      Bug#48878      "Embedded" tests fail due to an unknown variable "shared-memory-base-name"
          the 'shared-memory-base-name' was added to the [client] section of the my.cnf file.
          That option isn't supported by the mysqltest_embedded.
      
      per-file comments:
        mysql-test/lib/My/ConfigFactory.pm

    modified:
      mysql-test/lib/My/ConfigFactory.pm
=== modified file 'mysql-test/r/partition_column.result'
--- a/mysql-test/r/partition_column.result	2009-11-10 08:34:26 +0000
+++ b/mysql-test/r/partition_column.result	2009-12-02 07:14:22 +0000
@@ -1,4 +1,14 @@
 drop table if exists t1;
+create table t1 (a int, b int)
+partition by range columns (a,b)
+( partition p0 values less than (maxvalue, 10),
+partition p1 values less than (maxvalue, maxvalue));
+ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
+create table t1 (a int, b int, c int)
+partition by range columns (a,b,c)
+( partition p0 values less than (1, maxvalue, 10),
+partition p1 values less than (1, maxvalue, maxvalue));
+ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
 create table t1 (a varchar(1) character set latin1 collate latin1_general_ci)
 partition by range columns(a)
 ( partition p0 values less than ('a'),
@@ -89,7 +99,7 @@ subpartition by hash (to_seconds(d))
 subpartitions 4
 ( partition p0 values less than (1, '0', MAXVALUE, '1900-01-01'),
 partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'),
-partition p2 values less than (1, 'a', MAXVALUE, MAXVALUE),
+partition p2 values less than (1, 'b', MAXVALUE, MAXVALUE),
 partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE));
 select partition_method, partition_expression, partition_description
 from information_schema.partitions where table_name = "t1";
@@ -102,10 +112,10 @@ RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,'19
 RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,'1999-01-01'
 RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,'1999-01-01'
 RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,'1999-01-01'
-RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,MAXVALUE
-RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,MAXVALUE
-RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,MAXVALUE
-RANGE COLUMNS	a,b,c,d	1,'a',MAXVALUE,MAXVALUE
+RANGE COLUMNS	a,b,c,d	1,'b',MAXVALUE,MAXVALUE
+RANGE COLUMNS	a,b,c,d	1,'b',MAXVALUE,MAXVALUE
+RANGE COLUMNS	a,b,c,d	1,'b',MAXVALUE,MAXVALUE
+RANGE COLUMNS	a,b,c,d	1,'b',MAXVALUE,MAXVALUE
 RANGE COLUMNS	a,b,c,d	1,MAXVALUE,MAXVALUE,MAXVALUE
 RANGE COLUMNS	a,b,c,d	1,MAXVALUE,MAXVALUE,MAXVALUE
 RANGE COLUMNS	a,b,c,d	1,MAXVALUE,MAXVALUE,MAXVALUE
@@ -123,7 +133,7 @@ SUBPARTITION BY HASH (to_seconds(d))
 SUBPARTITIONS 4
 (PARTITION p0 VALUES LESS THAN (1,'0',MAXVALUE,'1900-01-01') ENGINE = MyISAM,
  PARTITION p1 VALUES LESS THAN (1,'a',MAXVALUE,'1999-01-01') ENGINE = MyISAM,
- PARTITION p2 VALUES LESS THAN (1,'a',MAXVALUE,MAXVALUE) ENGINE = MyISAM,
+ PARTITION p2 VALUES LESS THAN (1,'b',MAXVALUE,MAXVALUE) ENGINE = MyISAM,
  PARTITION p3 VALUES LESS THAN (1,MAXVALUE,MAXVALUE,MAXVALUE) ENGINE = MyISAM) */
 drop table t1;
 create table t1 (a int, b int)

=== modified file 'mysql-test/t/partition_column.test'
--- a/mysql-test/t/partition_column.test	2009-11-06 10:49:27 +0000
+++ b/mysql-test/t/partition_column.test	2009-12-02 07:14:22 +0000
@@ -9,6 +9,21 @@ drop table if exists t1;
 --enable_warnings
 
 #
+# BUG#49180, Possible to define empty intervals for column list partitioning
+#
+--error ER_RANGE_NOT_INCREASING_ERROR
+create table t1 (a int, b int)
+partition by range columns (a,b)
+( partition p0 values less than (maxvalue, 10),
+  partition p1 values less than (maxvalue, maxvalue));
+
+--error ER_RANGE_NOT_INCREASING_ERROR
+create table t1 (a int, b int, c int)
+partition by range columns (a,b,c)
+( partition p0 values less than (1, maxvalue, 10),
+  partition p1 values less than (1, maxvalue, maxvalue));
+
+#
 # BUG#48161, Delivering too few records using collate syntax with partitions
 #
 # Test case from BUG#48447 with some extension
@@ -78,7 +93,7 @@ subpartition by hash (to_seconds(d))
 subpartitions 4
 ( partition p0 values less than (1, '0', MAXVALUE, '1900-01-01'),
   partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'),
-  partition p2 values less than (1, 'a', MAXVALUE, MAXVALUE),
+  partition p2 values less than (1, 'b', MAXVALUE, MAXVALUE),
   partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE));
 select partition_method, partition_expression, partition_description
   from information_schema.partitions where table_name = "t1";

=== modified file 'sql/partition_info.cc'
--- a/sql/partition_info.cc	2009-11-10 09:32:29 +0000
+++ b/sql/partition_info.cc	2009-12-02 07:14:22 +0000
@@ -801,7 +801,7 @@ int partition_info::compare_column_value
     if (first->max_value || second->max_value)
     {
       if (first->max_value && second->max_value)
-        continue;
+        return 0;
       if (second->max_value)
         return -1;
       else


Attachment: [text/bzr-bundle] bzr/mikael@mysql.com-20091202071422-rhuis17u073xowse.bundle
Thread
bzr push into mysql-5.5-trunk-bugfixing branch (mikael:2909 to 2910)Bug#49180Mikael Ronstrom2 Dec