Commit f8b27ebb authored by unknown's avatar unknown
Browse files

Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work


sql/sql_partition.cc:
  Auto merged
parents 0c8d763e 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
@@ -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;
  }