Loading mysql-test/r/partition.result +11 −0 Original line number Diff line number Diff line Loading @@ -289,3 +289,14 @@ select * from t1 where f1 = 2; f1 f2 f3 2 2 2 drop table t1; 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; f1 f2 10 1 drop table t1; mysql-test/t/partition.test +12 −0 Original line number Diff line number Diff line Loading @@ -368,3 +368,15 @@ 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; sql/sql_partition.cc +4 −1 Original line number Diff line number Diff line Loading @@ -6065,7 +6065,10 @@ static uint32 get_next_partition_via_walking(PARTITION_ITERATOR *part_iter) field->store(part_iter->field_vals.start, FALSE); part_iter->field_vals.start++; longlong dummy; if (!part_iter->part_info->get_partition_id(part_iter->part_info, if (is_sub_partitioned(part_iter->part_info) && !part_iter->part_info->get_part_partition_id(part_iter->part_info, &part_id, &dummy) || !part_iter->part_info->get_partition_id(part_iter->part_info, &part_id, &dummy)) return part_id; } Loading Loading
mysql-test/r/partition.result +11 −0 Original line number Diff line number Diff line Loading @@ -289,3 +289,14 @@ select * from t1 where f1 = 2; f1 f2 f3 2 2 2 drop table t1; 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; f1 f2 10 1 drop table t1;
mysql-test/t/partition.test +12 −0 Original line number Diff line number Diff line Loading @@ -368,3 +368,15 @@ 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;
sql/sql_partition.cc +4 −1 Original line number Diff line number Diff line Loading @@ -6065,7 +6065,10 @@ static uint32 get_next_partition_via_walking(PARTITION_ITERATOR *part_iter) field->store(part_iter->field_vals.start, FALSE); part_iter->field_vals.start++; longlong dummy; if (!part_iter->part_info->get_partition_id(part_iter->part_info, if (is_sub_partitioned(part_iter->part_info) && !part_iter->part_info->get_part_partition_id(part_iter->part_info, &part_id, &dummy) || !part_iter->part_info->get_partition_id(part_iter->part_info, &part_id, &dummy)) return part_id; } Loading