mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
ha_start_consistent_snapshot() did not check for errors
This commit is contained in:
@ -2212,7 +2212,8 @@ static my_bool snapshot_handlerton(THD *thd, plugin_ref plugin,
|
||||
if (hton->state == SHOW_OPTION_YES &&
|
||||
hton->start_consistent_snapshot)
|
||||
{
|
||||
hton->start_consistent_snapshot(hton, thd);
|
||||
if (hton->start_consistent_snapshot(hton, thd))
|
||||
return TRUE;
|
||||
*((bool *)arg)= false;
|
||||
}
|
||||
return FALSE;
|
||||
@ -2220,7 +2221,7 @@ static my_bool snapshot_handlerton(THD *thd, plugin_ref plugin,
|
||||
|
||||
int ha_start_consistent_snapshot(THD *thd)
|
||||
{
|
||||
bool warn= true;
|
||||
bool err, warn= true;
|
||||
|
||||
/*
|
||||
Holding the LOCK_commit_ordered mutex ensures that we get the same
|
||||
@ -2230,9 +2231,15 @@ int ha_start_consistent_snapshot(THD *thd)
|
||||
have a consistent binlog position.
|
||||
*/
|
||||
mysql_mutex_lock(&LOCK_commit_ordered);
|
||||
plugin_foreach(thd, snapshot_handlerton, MYSQL_STORAGE_ENGINE_PLUGIN, &warn);
|
||||
err= plugin_foreach(thd, snapshot_handlerton, MYSQL_STORAGE_ENGINE_PLUGIN, &warn);
|
||||
mysql_mutex_unlock(&LOCK_commit_ordered);
|
||||
|
||||
if (err)
|
||||
{
|
||||
ha_rollback_trans(thd, true);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
Same idea as when one wants to CREATE TABLE in one engine which does not
|
||||
exist:
|
||||
|
Reference in New Issue
Block a user