mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
SHOW EXPLAIN UPDATE/DELETE
- Introduce "Query Plan Footprints" (abbrev. QPFs) QPF is a part of query plan that is 1. sufficient to produce EXPLAIN output, 2. can be used to produce EXPLAIN output even after its subquery/union was executed and deleted 3. is cheap to save so that we can always save query plans - This patch doesn't fully address #2, we make/save strings for a number of EXPLAIN's columns. This will be fixed.
This commit is contained in:
@ -4811,7 +4811,15 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables)
|
||||
if (!(result= new select_send()))
|
||||
return 1; /* purecov: inspected */
|
||||
thd->send_explain_fields(result);
|
||||
thd->lex->query_plan_footprint= new QPF_query;
|
||||
res= mysql_explain_union(thd, &thd->lex->unit, result);
|
||||
|
||||
thd->lex->query_plan_footprint->print_explain(result, thd->lex->describe);
|
||||
|
||||
//psergey-todo: here, produce the EXPLAIN output.
|
||||
// mysql_explain_union() itself is only responsible for calling
|
||||
// optimize() for all parts of the query.
|
||||
|
||||
/*
|
||||
The code which prints the extended description is not robust
|
||||
against malformed queries, so skip it if we have an error.
|
||||
|
Reference in New Issue
Block a user