summaryrefslogtreecommitdiff
path: root/sql/sql_delete.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2013-10-01 17:49:03 +0400
committerSergey Petrunya <psergey@askmonty.org>2013-10-01 17:49:03 +0400
commit6519ca51dd8815dc1f2d88708e540bd4032cb45e (patch)
treed032f4a1bf5596172cfedbc41ca6ec7afdbe330c /sql/sql_delete.cc
parente8eeb2e7f90dfa7d54a0146322cfba32731e4b34 (diff)
downloadmariadb-git-6519ca51dd8815dc1f2d88708e540bd4032cb45e.tar.gz
EXPLAIN UPDATE/DELETE
- Make EXPLAIN UPDATE/DELETE work inside SPs - Return correct error code from mysql_delete() - EXPLAIN <multi-DELETE> will create a multi_delete object (as it affects the optimization). select_result will be only used for producing EXPLAIN output.
Diffstat (limited to 'sql/sql_delete.cc')
-rw-r--r--sql/sql_delete.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc
index 93de4fccf5e..25fe56d2e71 100644
--- a/sql/sql_delete.cc
+++ b/sql/sql_delete.cc
@@ -183,7 +183,6 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
bool const_cond_result;
ha_rows deleted= 0;
bool reverse= FALSE;
- bool err= true;
ORDER *order= (ORDER *) ((order_list && order_list->elements) ?
order_list->first : NULL);
SELECT_LEX *select_lex= &thd->lex->select_lex;
@@ -659,7 +658,7 @@ exit_without_my_ok:
List<Item> dummy; /* note: looked in 5.6 and they too use a dummy list like this */
result2->prepare(dummy, &thd->lex->unit);
thd->send_explain_fields(result2);
- int err2= thd->lex->query_plan_footprint->print_explain(result2, 0 /* explain flags*/);
+ int err2= thd->lex->query_plan_footprint->print_explain(result2, thd->lex->describe);
if (err2)
result2->abort_result_set();
@@ -669,7 +668,7 @@ exit_without_my_ok:
delete select;
free_underlaid_joins(thd, select_lex);
//table->set_keyread(false);
- DBUG_RETURN((err || thd->is_error() || thd->killed) ? 1 : 0);
+ DBUG_RETURN((err2 || thd->is_error() || thd->killed) ? 1 : 0);
}