• Sergei Petrunia's avatar
    Fix for MDEV-8321, MDEV-6223 · 12897947
    Sergei Petrunia authored
    EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This
    caused a collection of problems:
    - SELECT_DESCRIBE flag was not put into select_lex->options, which
      means it was not in JOIN::select_options either (except for the first
      member of the UNION).
    - This caused UNION members to be executed. They would attempt to write
      join output rows to the output.
    - (Actual cause of the crash) second join sibling would call
      result->send_eof() when finished execution. Then,
      Explain_query::print_explain would attempt to write to query output
      again, and cause an assertion due to non-empty query output.
    12897947
sql_union.cc 31.3 KB