fix plugin locking/unlocking when assisted discovery fails
This commit is contained in:
parent
faf4d99d22
commit
337c1b3ee8
@ -4420,6 +4420,16 @@ bool mysql_create_table_no_lock(THD *thd,
|
||||
goto err;
|
||||
|
||||
ha_err= hton->discover_table_structure(hton, thd, &share, create_info);
|
||||
|
||||
/*
|
||||
if discovery failed, the plugin will be auto-unlocked, as it
|
||||
was locked on the THD, see above.
|
||||
if discovery succeeded, the plugin was replaced by a globally
|
||||
locked plugin, that will be unlocked by free_table_share()
|
||||
*/
|
||||
if (ha_err)
|
||||
share.db_plugin= 0; // will be auto-freed, locked above on the THD
|
||||
|
||||
free_table_share(&share);
|
||||
|
||||
if (ha_err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user