mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-25292 Disable atomic replace for slave-generated or-replace
Also fixes wrong rollback of ddl_log_state_rm in case of non-atomic replace. There is no backup to remove in that case.
This commit is contained in:
@ -4398,6 +4398,8 @@ bool HA_CREATE_INFO::finalize_atomic_replace(THD *thd, TABLE_LIST *orig_table)
|
||||
char path[FN_REFLEN + 1];
|
||||
cpath.str= path;
|
||||
|
||||
DBUG_ASSERT(is_atomic_replace());
|
||||
|
||||
debug_crash_here("ddl_log_create_before_install_new");
|
||||
if (old_hton)
|
||||
{
|
||||
@ -4498,7 +4500,10 @@ void HA_CREATE_INFO::finalize_ddl(THD *thd, bool roll_back)
|
||||
debug_crash_here("ddl_log_create_log_complete");
|
||||
ddl_log_complete(ddl_log_state_create);
|
||||
debug_crash_here("ddl_log_create_log_complete2");
|
||||
(void) ddl_log_revert(thd, ddl_log_state_rm);
|
||||
if (is_atomic_replace())
|
||||
(void) ddl_log_revert(thd, ddl_log_state_rm);
|
||||
else
|
||||
ddl_log_complete(ddl_log_state_rm);
|
||||
debug_crash_here("ddl_log_create_log_complete3");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user