diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2013-10-01 17:49:03 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2013-10-01 17:49:03 +0400 |
commit | 6519ca51dd8815dc1f2d88708e540bd4032cb45e (patch) | |
tree | d032f4a1bf5596172cfedbc41ca6ec7afdbe330c /sql/sql_delete.cc | |
parent | e8eeb2e7f90dfa7d54a0146322cfba32731e4b34 (diff) | |
download | mariadb-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.cc | 5 |
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); } |