Commit 231c0eb7 authored by Weijun Huang's avatar Weijun Huang Committed by Daniel Black

MDEV-23000: Ensure we get a warning from THD::drop_temporary_table() in case of disk errors

parent 1e58b8af
......@@ -5050,7 +5050,7 @@ class THD: public THD_count, /* this must be first */
bool use_temporary_table(TABLE *table, TABLE **out_table);
void close_temporary_table(TABLE *table);
bool log_events_and_free_tmp_shares();
void free_tmp_table_share(TMP_TABLE_SHARE *share, bool delete_table);
bool free_tmp_table_share(TMP_TABLE_SHARE *share, bool delete_table);
void free_temporary_table(TABLE *table);
bool lock_temporary_tables();
void unlock_temporary_tables();
......
......@@ -670,7 +670,7 @@ bool THD::drop_temporary_table(TABLE *table, bool *is_trans, bool delete_table)
temporary_tables->remove(share);
/* Free the TABLE_SHARE and/or delete the files. */
free_tmp_table_share(share, delete_table);
result= free_tmp_table_share(share, delete_table);
end:
if (locked)
......@@ -1455,20 +1455,21 @@ bool THD::log_events_and_free_tmp_shares()
@param share [IN] TABLE_SHARE to free
@param delete_table [IN] Whether to delete the table files?
@return void
@return false Success
true Error
*/
void THD::free_tmp_table_share(TMP_TABLE_SHARE *share, bool delete_table)
bool THD::free_tmp_table_share(TMP_TABLE_SHARE *share, bool delete_table)
{
bool error= false;
DBUG_ENTER("THD::free_tmp_table_share");
if (delete_table)
{
rm_temporary_table(share->db_type(), share->path.str);
error= rm_temporary_table(share->db_type(), share->path.str);
}
free_table_share(share);
my_free(share);
DBUG_VOID_RETURN;
DBUG_RETURN(error);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment