Valgrind warnings found after bug#32943 and after merge from -main
into -engines tree. hander::table_share was not updated after changing table->s. sql/ha_partition.cc: Valgrind warning after merge -main -> -engines, after bug#32943 change_table_ptr can happen in a middle of alter table rename/drop/... partition the newly created partitions must get the updated table_share too. sql/sql_base.cc: Bug#32943 was missing a call to change_table_ptr, this was found by valgrind after a merge from -main to -engines.
This commit is contained in:
parent
d3a0f85227
commit
1bb10ccfb1
@ -1646,6 +1646,15 @@ void ha_partition::change_table_ptr(TABLE *table_arg, TABLE_SHARE *share)
|
||||
{
|
||||
(*file_array)->change_table_ptr(table_arg, share);
|
||||
} while (*(++file_array));
|
||||
if (m_added_file && m_added_file[0])
|
||||
{
|
||||
/* if in middle of a drop/rename etc */
|
||||
file_array= m_added_file;
|
||||
do
|
||||
{
|
||||
(*file_array)->change_table_ptr(table_arg, share);
|
||||
} while (*(++file_array));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -747,6 +747,7 @@ void close_handle_and_leave_table_as_lock(TABLE *table)
|
||||
table->db_stat= 0; // Mark file closed
|
||||
release_table_share(table->s, RELEASE_NORMAL);
|
||||
table->s= share;
|
||||
table->file->change_table_ptr(table, table->s);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user