mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
MDEV-4161 Assertion `status_var.memory_used == 0' fails in virtual THD::~THD()
init join->top_join_tab_count to be in sync with join->join_tab=stat, otherwise a query can be killed in-between and join_tab's won't be deleted (JOIN::cleanup won't call JOIN_TAB::cleanup)
This commit is contained in:
@@ -3682,6 +3682,7 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
join->join_tab=stat;
|
||||
join->top_join_tab_count= table_count;
|
||||
join->map2table=stat_ref;
|
||||
join->table= table_vector;
|
||||
join->const_tables=const_count;
|
||||
@@ -3729,6 +3730,8 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
|
||||
if (join->choose_subquery_plan(all_table_map & ~join->const_table_map))
|
||||
goto error;
|
||||
|
||||
DEBUG_SYNC(join->thd, "inside_make_join_statistics");
|
||||
|
||||
/* Generate an execution plan from the found optimal join order. */
|
||||
DBUG_RETURN(join->thd->killed || get_best_combination(join));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user