Wrong result with views and ranges in maria-5.3
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
Critical
|
Igor Babaev |
Bug Description
Views and ranges are altogether broken in maria-5.3. Not repeatable with maria-5.1, 5.2 , mysql-5.1 and 5.5.
Test case:
CREATE TABLE t1 ( f1 varchar(10), KEY (f1)) ;
INSERT IGNORE INTO t1 VALUES ('DD'),
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t1;
--let $query = SELECT * FROM v1 WHERE f1 > 'i' OR f1 AND f1 IN ( 'VV' )
--eval $query
--eval EXPLAIN EXTENDED $query
SHOW WARNINGS;
returns a column of VV VV VV , while such values are nowhere to be found in the underlying table.
EXPLAIN EXTENDED reports:
select 'VV' AS `f1` from `test`.`t1` where (('VV' > 'i') or ((`test`.`t1`.`f1` = 'VV') and 'VV'))
which means the VV has been propagated all the way to the select list
explain:
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 range f1 f1 13 NULL 5 100.00 Using where; Using index
bzr version-info:
revision-id: <email address hidden>
date: 2011-02-23 14:46:16 +0200
build-date: 2011-02-25 14:17:06 +0200
revno: 2919
branch-nick: maria-5.3
Changed in maria: | |
importance: | Undecided → Critical |
milestone: | none → 5.3 |
Changed in maria: | |
status: | New → Confirmed |
assignee: | nobody → Igor Babaev (igorb-seattle) |
Changed in maria: | |
status: | In Progress → Fix Committed |
Changed in maria: | |
status: | Fix Committed → Fix Released |
This bug relates to bug #717577, though not a duplicate.
Both bugs will be fixed with the same patch containing test cases for both of them.