Commit acc44fb1 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/mydev/mysql-5.1

into  mysql.com:/home/mydev/mysql-5.1-bug8841

parents b5f6acac aa796cab
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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;
+12 −0
Original line number Diff line number Diff line
@@ -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;
+4 −1
Original line number Diff line number Diff line
@@ -6009,7 +6009,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;
  }