diff options
author | unknown <sergefp@mysql.com> | 2006-03-31 15:17:15 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2006-03-31 15:17:15 +0400 |
commit | 457510903fd4f4c98ca09c81d53c6a810084a8e0 (patch) | |
tree | 605c6048b6806d57e2dfffe278315fd0ed0da3b7 /mysql-test/t/partition_pruning.test | |
parent | b002c11756aa59273b548c442dd69c8f41a9e9e2 (diff) | |
download | mariadb-git-457510903fd4f4c98ca09c81d53c6a810084a8e0.tar.gz |
Fix for BUG#18025: Wrong query results because of bugs in partition pruning:
- Fix typo bug in SEL_ARG::is_singlepoint()
- In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types
mysql-test/r/partition_pruning.result:
Testcase for BUG#18025
mysql-test/t/partition_pruning.test:
Testcase for BUG#18025
sql/opt_range.cc:
BUG#18025: Fix a typo bug in SEL_ARG::is_singlepoint()
sql/sql_partition.cc:
BUG#18025: In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types.
Diffstat (limited to 'mysql-test/t/partition_pruning.test')
-rw-r--r-- | mysql-test/t/partition_pruning.test | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mysql-test/t/partition_pruning.test b/mysql-test/t/partition_pruning.test index 30f4f37ee04..25320e9f80d 100644 --- a/mysql-test/t/partition_pruning.test +++ b/mysql-test/t/partition_pruning.test @@ -447,5 +447,37 @@ show status like 'Handler_read_next'; drop table t1, t2; +# BUG#18025 +# part1: mediumint columns +create table t1 ( f_int1 mediumint, f_int2 integer) +partition by list(mod(f_int1,4)) ( + partition p_3 values in (-3), + partition p_2 values in (-2), + partition p_1 values in (-1), + partition p0 values in (0), + partition p1 values in (1), + partition p2 values in (2), + partition p3 values in (3) +); + +insert into t1 values (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), + (4, 4), (3, 3), (2, 2), (1, 1); +select * from t1 where f_int1 between 5 and 15 order by f_int1; + +drop table t1; + +# part2: bug in pruning code +create table t1 (a char(10)) partition by list(length(a)) ( + partition p1 values in (1), + partition p2 values in (2), + partition p3 values in (3), + partition p4 values in (4), + partition p5 values in (5) +); +insert into t1 values ('a'),('bb'),('ccc'),('dddd'),('eeEee'); +select * from t1 where a>='a' and a <= 'dddd'; +explain partitions select * from t1 where a>='a' and a <= 'dddd'; +drop table t1; + # No tests for NULLs in RANGE(monotonic_expr()) - they depend on BUG#15447 # being fixed. |