3910 Roy Lyseng 2012-05-22
Bug#14048292: Segfault in Item_field::result_type on 2nd execution of prep stmt
3909 Roy Lyseng 2012-05-21
Bug#14058892: Extra rows returned when variable is used in subquery in
ON clause of RIGHT JOIN.
The fix for bug#13980954 simplified the way table bits were assigned
for the tables involved in a join operation. Unfortunately, it missed
that RAND_TABLE_BIT had to be set for the last inner table of an outer
join operation, otherwise non-deterministic functions in the join
condition would be missed.
This fix adds back this bit.
Notice that there is a proposed refactoring of pushdown_on_conditions()
that will significantly reduce the size of this function.
Added test case for bug#14058892.
Added test case results for bug#14058892.
In pushdown_on_conditions(), add RAND_TABLE_BIT for last inner table
of an outer join.
=== modified file 'sql/sql_optimizer.cc'
--- a/sql/sql_optimizer.cc 2012-05-21 09:14:15 +0000
+++ b/sql/sql_optimizer.cc 2012-05-22 13:07:27 +0000
@@ -6831,8 +6831,8 @@ bool JOIN::flatten_subqueries()
Some precaution is needed when dealing with PS/SP:
fix_prepare_info_in_table_list() sets prep_join_cond, but only for
tables, not for join nest objects. This is instead populated in
- simplify_joins(), which is called after this function. The case
- where *tree is NULL is handled by this procedure.
+ record_join_nest_info(), which is called after this function.
+ The case where *tree is NULL is handled by this procedure.
No bundle (reason: useless for push emails).
|• bzr push into mysql-trunk branch (roy.lyseng:3909 to 3910) Bug#14048292||Roy Lyseng||22 May|