mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Do not ignore sql_mode when replicating
Division by zero is a good example. sql_mode is basically ignored by replication, see Bug#56662. The behavior for ONLINE should remain the same as for non-ONLINE ALTER.
This commit is contained in:
committed by
Sergei Golubchik
parent
bdbd357362
commit
b0db7239b1
@ -772,6 +772,7 @@ set debug_sync= 'now signal goforit';
|
||||
--reap
|
||||
show create table t1;
|
||||
select * from t1;
|
||||
set sql_mode=default;
|
||||
--connection default
|
||||
drop table t1;
|
||||
set debug_sync= reset;
|
||||
@ -874,6 +875,33 @@ show create table t1;
|
||||
drop table t1;
|
||||
set debug_sync= reset;
|
||||
|
||||
--echo #
|
||||
--echo # Do not ignore sql_mode when replicating
|
||||
--echo #
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1);
|
||||
|
||||
--send set debug_sync= 'now wait_for downgraded'
|
||||
|
||||
--connection con2
|
||||
set sql_mode='STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO';
|
||||
set debug_sync= 'alter_table_online_downgraded signal downgraded wait_for goforit';
|
||||
--send alter table t1 add b int as (1/a) stored, algorithm=copy, lock=none
|
||||
|
||||
--connection default
|
||||
--reap
|
||||
update t1 set a= 0 where a=1;
|
||||
set debug_sync= 'now signal goforit';
|
||||
|
||||
--connection con2
|
||||
--error ER_DIVISION_BY_ZERO
|
||||
--reap
|
||||
|
||||
set sql_mode= default;
|
||||
--connection default
|
||||
drop table t1;
|
||||
set debug_sync= reset;
|
||||
|
||||
--echo #
|
||||
--echo # End of 11.2 tests
|
||||
--echo #
|
||||
|
Reference in New Issue
Block a user