summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authorunknown <timour@askmonty.org>2011-03-30 10:10:59 +0300
committerunknown <timour@askmonty.org>2011-03-30 10:10:59 +0300
commit952556b3452d4a6893a678da88809b22e7f7a466 (patch)
tree938de6db815840eb2038bdded942ab684e4673d0 /sql/sql_update.cc
parent9762b236d47e74f2f065c89a747c1a8d3444ed18 (diff)
parent0737fb479f082c424881e79e4c358670176ebca2 (diff)
downloadmariadb-git-952556b3452d4a6893a678da88809b22e7f7a466.tar.gz
MWL#89
Merge 5.3 with 5.3-mwl89.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r--sql/sql_update.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 0a4d3a4ba80..7e40e3516f6 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -307,6 +307,10 @@ int mysql_update(THD *thd,
DBUG_RETURN(1); /* purecov: inspected */
}
+ /* Apply the IN=>EXISTS transformation to all subqueries and optimize them. */
+ if (select_lex->optimize_unflattened_subqueries())
+ DBUG_RETURN(TRUE);
+
if (select_lex->inner_refs_list.elements &&
fix_inner_refs(thd, all_fields, select_lex, select_lex->ref_pointer_array))
DBUG_RETURN(1);