summaryrefslogtreecommitdiff
path: root/sql/sql_union.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2013-06-27 01:00:22 +0400
committerSergey Petrunya <psergey@askmonty.org>2013-06-27 01:00:22 +0400
commit99a8bfe68cdd6411ed24b3fa465d5dd4b70be6dc (patch)
treeff39d52783dd1e666e33ecfa0fd6a83739e0fe77 /sql/sql_union.cc
parent79392b9383921cb1d48ca0defb8715f7385af0e8 (diff)
downloadmariadb-git-99a8bfe68cdd6411ed24b3fa465d5dd4b70be6dc.tar.gz
[SHOW] EXPLAIN UPDATE/DELETE, code re-structuring
- Update view.result (old EXPLAIN didn't match the execution) - Put in a stub code to work around the SELECT ... UNION SELECT ... ORDER BY (subuqery) problem
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r--sql/sql_union.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc
index eb4454ecab3..b77b0669b50 100644
--- a/sql/sql_union.cc
+++ b/sql/sql_union.cc
@@ -626,6 +626,9 @@ bool st_select_lex_unit::exec()
saved_error= optimize();
+
+ save_union_qpf(thd->lex->query_plan_footprint);
+
if (uncacheable || !item || !item->assigned() || describe)
{
for (SELECT_LEX *sl= select_cursor; sl; sl= sl->next_select())
@@ -772,6 +775,9 @@ bool st_select_lex_unit::exec()
*/
if (!fake_select_lex->ref_pointer_array)
fake_select_lex->n_child_sum_items+= global_parameters->n_sum_items;
+
+
+ save_union_qpf_part2(thd->lex->query_plan_footprint);
saved_error= mysql_select(thd, &fake_select_lex->ref_pointer_array,
&result_table_list,