Commit b8af3bd4 authored by Igor Babaev's avatar Igor Babaev

Merge 5.3->5.5

parents a784d62d 996f6194
......@@ -2126,6 +2126,19 @@ select z from (select count(*) as z from t1) v group by 1;
z
4
drop table t1;
CREATE TABLE t1 (i1 int, INDEX(i1));
INSERT INTO t1 VALUES (9),(8);
CREATE TABLE t2 (i2 int);
INSERT INTO t2 VALUES (8),(4);
CREATE TABLE t3 (i3 int, INDEX(i3));
INSERT INTO t3 VALUES (9),(8);
SELECT MAX(t3.i3) FROM t3, t2, t1 WHERE t1.i1 = t2.i2 AND ( 0 OR t3.i3 = t2.i2 );
MAX(t3.i3)
8
SELECT MAX(t3.i3) FROM t3, t2, t1 WHERE t1.i1 = t2.i2 AND t3.i3 = t2.i2;
MAX(t3.i3)
8
DROP TABLE t1,t2,t3;
# end of 5.3 tests
#
# Bug#52123 Assertion failed: aggregator == aggr->Aggrtype(),
......
......@@ -1403,6 +1403,26 @@ select z from (select count(*) as z from t1) v;
select z from (select count(*) as z from t1) v group by 1;
drop table t1;
#
# Bug mdev-5015: Degenerate OR condition in an aggregated join
#
CREATE TABLE t1 (i1 int, INDEX(i1));
INSERT INTO t1 VALUES (9),(8);
CREATE TABLE t2 (i2 int);
INSERT INTO t2 VALUES (8),(4);
CREATE TABLE t3 (i3 int, INDEX(i3));
INSERT INTO t3 VALUES (9),(8);
SELECT MAX(t3.i3) FROM t3, t2, t1 WHERE t1.i1 = t2.i2 AND ( 0 OR t3.i3 = t2.i2 );
SELECT MAX(t3.i3) FROM t3, t2, t1 WHERE t1.i1 = t2.i2 AND t3.i3 = t2.i2;
DROP TABLE t1,t2,t3;
--echo # end of 5.3 tests
--echo #
......
......@@ -13875,6 +13875,7 @@ internal_remove_eq_conds(THD *thd, COND *cond, Item::cond_result *cond_value)
if (!(cond= internal_remove_eq_conds(thd, cond, cond_value)))
return cond;
}
should_fix_fields= 1;
}
if (should_fix_fields)
cond->update_used_tables();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment