Commit c6ac9185 authored by unknown's avatar unknown
Browse files

bug #24502 (reorganize partition closes connection)

when REORGANIZE creates new partition, no_subparts for that partition
isn't set right (call handler::set_partitions_defaults always returns 1)
Normally the number of subpartitions should be inherited from the
table.


mysql-test/r/partition.result:
  result fixed
mysql-test/t/partition.test:
  testcase
sql/sql_partition.cc:
  no_subparts is set for newly created partitions
parent 92791f80
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1128,4 +1128,14 @@ a
18446744073709551613
18446744073709551614
drop table t1;
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;
End of 5.1 tests
+16 −0
Original line number Diff line number Diff line
@@ -1354,4 +1354,20 @@ 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;

--echo End of 5.1 tests
+1 −0
Original line number Diff line number Diff line
@@ -4739,6 +4739,7 @@ state of p1.
      }
      alt_part_info->part_type= tab_part_info->part_type;
      alt_part_info->subpart_type= tab_part_info->subpart_type;
      alt_part_info->no_subparts= tab_part_info->no_subparts;
      DBUG_ASSERT(!alt_part_info->use_default_partitions);
      if (alt_part_info->set_up_defaults_for_partitioning(table->file,
                                                          ULL(0),