summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2011-05-16 15:07:04 +0300
committerMichael Widenius <monty@askmonty.org>2011-05-16 15:07:04 +0300
commit8543621fa0f4a3c4102ac8f799888ef79e2e1dcf (patch)
tree29e8f301ef929cfe1c00eec9dee265aa0acaa350 /sql/sql_update.cc
parentf458e198c0bea67c6a3787738108bbfb139639bd (diff)
parentbcee6652c6052cabd67f8d30c14e162235749d38 (diff)
downloadmariadb-git-8543621fa0f4a3c4102ac8f799888ef79e2e1dcf.tar.gz
Merge with 5.3 main
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 6ec95989f38..c7764274bde 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);