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);
|
(*file_array)->change_table_ptr(table_arg, share);
|
||||||
} while (*(++file_array));
|
} 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
|
table->db_stat= 0; // Mark file closed
|
||||||
release_table_share(table->s, RELEASE_NORMAL);
|
release_table_share(table->s, RELEASE_NORMAL);
|
||||||
table->s= share;
|
table->s= share;
|
||||||
|
table->file->change_table_ptr(table, table->s);
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user