diff options
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index fe02e7b44e4..b2c1d1e3db5 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -26322,6 +26322,7 @@ int JOIN::save_explain_data_intern(Explain_query *output, elimination. (2) they are not merged derived tables (3) they are not hanging CTEs (they are needed for execution) + (4) this is not a derived subquery in a degenerate select. */ if (!(tmp_unit->item && tmp_unit->item->eliminated) && // (1) (!tmp_unit->derived || @@ -26329,7 +26330,8 @@ int JOIN::save_explain_data_intern(Explain_query *output, (!tmp_unit->with_element || (tmp_unit->derived && tmp_unit->derived->derived_result && - !tmp_unit->with_element->is_hanging_recursive()))) // (3) + !tmp_unit->with_element->is_hanging_recursive())) && // (3) + !(tmp_unit->derived && zero_result_cause)) // (4) { explain->add_child(tmp_unit->first_select()->select_number); } |