diff options
author | unknown <sergefp@mysql.com> | 2007-11-28 03:02:05 +0300 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2007-11-28 03:02:05 +0300 |
commit | b5c0cf454dd20f3512d74984c7fc1b77c2e7b737 (patch) | |
tree | 5822e26e327c6300861ba8b4fe657c0e043723c7 /mysql-test/r/partition.result | |
parent | 9d503cea20bc5f2e1569f16b0114d34dfd875d66 (diff) | |
download | mariadb-git-b5c0cf454dd20f3512d74984c7fc1b77c2e7b737.tar.gz |
BUG#32772: partition crash 1: enum column
The bug was that for ordered index scans, ha_partition::index_init() did
not put index columns into table->read_set if the underlying storage
engine did not have HA_PARTIAL_COLUMN_READ flag.
This was causing assertion failure when handle_ordered_index_scan() tried
to sort the records according to index order.
Fixed by making ha_partition::index_init() put index columns into table->read_set
for all ordered scans.
mysql-test/r/partition.result:
BUG#32772: partition crash 1: enum column
- Testcase
mysql-test/t/partition.test:
BUG#32772: partition crash 1: enum column
- Testcase
sql/ha_partition.cc:
BUG#32772: partition crash 1: enum column
- Make ha_partition::index_init() include index columns in the read_set
whenever an ordered scan is initialized, no matter if
HA_PARTIAL_COLUMN_READ is set or not.
Diffstat (limited to 'mysql-test/r/partition.result')
-rw-r--r-- | mysql-test/r/partition.result | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index d646226daf8..be7d7bb158e 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -1290,4 +1290,17 @@ create table t1 partition by key(s1) partitions 3; insert into t1 values (null,null); drop table t1; +create table t1 ( +c0 int, +c1 bigint, +c2 set('sweet'), +key (c2,c1,c0), +key(c0) +) engine=myisam partition by hash (month(c0)) partitions 5; +insert ignore into t1 set c0 = -6502262, c1 = 3992917, c2 = 35019; +insert ignore into t1 set c0 = 241221, c1 = -6862346, c2 = 56644; +select c1 from t1 group by (select c0 from t1 limit 1); +c1 +-6862346 +drop table t1; End of 5.1 tests |