mirror of
https://github.com/MariaDB/server.git
synced 2025-04-23 07:05:53 +03:00
Reverted the MySQL fix for bug 51242 that was rejected once for mariadb-5.1.48
and mistakingly pulled in back for maria-5.1.50.
This commit is contained in:
parent
01672cc026
commit
f0c6576b85
@ -470,9 +470,10 @@ WHERE table2.f1 = 2
|
|||||||
GROUP BY table1.f1, table2.f2
|
GROUP BY table1.f1, table2.f2
|
||||||
HAVING (table2.f2 = 8 AND table1.f1 >= 6);
|
HAVING (table2.f2 = 8 AND table1.f1 >= 6);
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible HAVING noticed after reading const tables
|
1 SIMPLE table2 const PRIMARY PRIMARY 4 const 1 100.00 Using filesort
|
||||||
|
1 SIMPLE table1 ALL NULL NULL NULL NULL 4 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select `test`.`table1`.`f1` AS `f1`,'7' AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where ((`test`.`table1`.`f3` = '9')) group by `test`.`table1`.`f1`,'7' having 0
|
Note 1003 select `test`.`table1`.`f1` AS `f1`,'7' AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where ((`test`.`table1`.`f3` = '9')) group by `test`.`table1`.`f1`,'7' having (('7' = 8) and (`test`.`table1`.`f1` >= 6))
|
||||||
EXPLAIN EXTENDED
|
EXPLAIN EXTENDED
|
||||||
SELECT table1.f1, table2.f2
|
SELECT table1.f1, table2.f2
|
||||||
FROM t1 AS table1
|
FROM t1 AS table1
|
||||||
@ -481,9 +482,10 @@ WHERE table2.f1 = 2
|
|||||||
GROUP BY table1.f1, table2.f2
|
GROUP BY table1.f1, table2.f2
|
||||||
HAVING (table2.f2 = 8);
|
HAVING (table2.f2 = 8);
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible HAVING noticed after reading const tables
|
1 SIMPLE table2 const PRIMARY PRIMARY 4 const 1 100.00 Using filesort
|
||||||
|
1 SIMPLE table1 ALL NULL NULL NULL NULL 4 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select `test`.`table1`.`f1` AS `f1`,'7' AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where ((`test`.`table1`.`f3` = '9')) group by `test`.`table1`.`f1`,'7' having 0
|
Note 1003 select `test`.`table1`.`f1` AS `f1`,'7' AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where ((`test`.`table1`.`f3` = '9')) group by `test`.`table1`.`f1`,'7' having ('7' = 8)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# Bug#52336 Segfault / crash in 5.1 copy_fields (param=0x9872980) at sql_select.cc:15355
|
# Bug#52336 Segfault / crash in 5.1 copy_fields (param=0x9872980) at sql_select.cc:15355
|
||||||
|
@ -1129,29 +1129,6 @@ JOIN::optimize()
|
|||||||
conds=new Item_int((longlong) 0,1); // Always false
|
conds=new Item_int((longlong) 0,1); // Always false
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
It's necessary to check const part of HAVING cond as there is a
|
|
||||||
chance that some cond parts may become const items after
|
|
||||||
make_join_statistics() (for example when Item is a reference to
|
|
||||||
cost table field from outer join).
|
|
||||||
|
|
||||||
This check is performed only for those conditions which do not use
|
|
||||||
aggregate functions. In such case temporary table may not be used
|
|
||||||
and const condition elements may be lost during further having
|
|
||||||
condition transformation in JOIN::exec.
|
|
||||||
*/
|
|
||||||
if (having && const_table_map && !having->with_sum_func)
|
|
||||||
{
|
|
||||||
having->update_used_tables();
|
|
||||||
having= remove_eq_conds(thd, having, &having_value);
|
|
||||||
if (having_value == Item::COND_FALSE)
|
|
||||||
{
|
|
||||||
having= new Item_int((longlong) 0,1);
|
|
||||||
zero_result_cause= "Impossible HAVING noticed after reading const tables";
|
|
||||||
DBUG_RETURN(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (make_join_select(this, select, conds))
|
if (make_join_select(this, select, conds))
|
||||||
{
|
{
|
||||||
zero_result_cause=
|
zero_result_cause=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user