1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

MDEV-33751 Assertion `thd' failed in int temp_file_size_cb_func(tmp_file_tracking*, int)

Changes:
- Fixed that MyISAM and Aria parallel repair works with tmp file limit.
  This required to add current_thd to all parallel workers and add
  protection in my_malloc_size_cb_func() and temp_file_size_cb_func() to
  be able to handle shared THD's.  I removed the old code in MyISAM to
  set current_thd() as only worked when using with virtal indexed
  columns and I wanted to keep the Aria and MyISAM code identical.

Other things:
- Improved error messages from Aria parallel repair and
  create_internal_tmp_table_from_heap().
This commit is contained in:
Monty
2024-04-20 14:02:05 +03:00
committed by Sergei Golubchik
parent 865ef0f567
commit d2304554ac
16 changed files with 147 additions and 34 deletions

View File

@@ -22797,7 +22797,7 @@ create_internal_tmp_table_from_heap(THD *thd, TABLE *table,
if (unlikely(thd->check_killed()))
goto err_killed;
}
if (!new_table.no_rows && new_table.file->ha_end_bulk_insert())
if (!new_table.no_rows && (write_err= new_table.file->ha_end_bulk_insert()))
goto err;
/* copy row that filled HEAP table */
if (unlikely((write_err=new_table.file->ha_write_tmp_row(table->record[0]))))