mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
don't do ALTER IGNORE TABLE online
because online means we'll apply events from the binlog, and ignore means that bad rows will be skipped. So a bad Write_row_log_event will be skipped and a following Update_row_log_event will fail to apply.
This commit is contained in:
@ -654,8 +654,9 @@ create table t1 (a char(9), b char(9) as (a) stored);
|
||||
insert into t1(a) values ('foobar');
|
||||
set debug_sync= 'now wait_for downgraded';
|
||||
connection con2;
|
||||
set sql_mode='';
|
||||
set debug_sync= 'alter_table_online_downgraded signal downgraded wait_for goforit';
|
||||
alter ignore table t1 drop b, add b char(3) as (a) stored, algorithm=copy, lock=none;
|
||||
alter table t1 drop b, add b char(3) as (a) stored, algorithm=copy, lock=none;
|
||||
connection default;
|
||||
update t1 set a = 'foobarqux';
|
||||
set debug_sync= 'now signal goforit';
|
||||
@ -663,6 +664,7 @@ connection con2;
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'b' at row 1
|
||||
Warning 1265 Data truncated for column 'b' at row 2
|
||||
set sql_mode=default;
|
||||
connection default;
|
||||
drop table t1;
|
||||
set debug_sync= reset;
|
||||
|
Reference in New Issue
Block a user