1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fixed LP bug #800518.

The function simple_pred did not take into account that a multiple equality
could include ref items (more exactly items of the class Item_direct_view_ref).
It caused crashes for queries over derived tables or views if the
min/max optimization could be applied to these queries.
This commit is contained in:
Igor Babaev
2011-06-23 14:48:45 -07:00
parent 1f6b32bc37
commit 3cf0d6f446
3 changed files with 39 additions and 4 deletions

View File

@ -425,3 +425,19 @@ SELECT * FROM (SELECT DISTINCT * FROM t2) t, t1 WHERE t1.a = t.a;
a a
3 3
DROP TABLE t1,t2;
#
# LP bug #800518: crash with a query over a derived table
# when a min/max optimization is applied
#
CREATE TABLE t1 (a int, b int, c varchar(10), INDEX idx(a,b)) ;
INSERT INTO t1 VALUES
(100, 3, 'xxx'), (200, 7, 'yyyyyyy'), (100, 1, 't'),
(200, 4, 'aaaa'), (100, 3, 'eee'), (100, 5, 'zzzzz');
EXPLAIN
SELECT MAX(b) FROM (SELECT * FROM t1) AS t WHERE a = 100;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
SELECT MAX(b) FROM (SELECT * FROM t1) AS t WHERE a = 100;
MAX(b)
5
DROP TABLE t1;