Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
N/A
-
None
Description
When online alter is applied on top of intermediate DML changes, it converts data truncation errors and such into warnings, even if strict mode is enabled.
--source include/have_debug_sync.inc
|
|
create table t (a int); |
insert into t values (1),(2),(3); |
--send
|
set debug_sync= 'now wait_for downgraded'; |
|
--connect (con_alter,localhost,root,,test)
|
|
set sql_mode='STRICT_TRANS_TABLES,STRICT_ALL_TABLES'; |
set debug_sync= 'alter_table_online_downgraded signal downgraded wait_for goforit'; |
--send
|
alter table t modify a int not null, algorithm=copy, lock=none; |
|
--connection default
|
--reap
|
insert into t values (null),(null); |
set debug_sync= 'now signal goforit'; |
|
--connection con_alter
|
--reap
|
show create table t; |
select * from t; |
|
# Cleanup
|
drop table t; |
set debug_sync= reset; |
bb-10.10-MDEV-16329 cb1f08bd1 |
connection default; |
insert into t values (null),(null); |
set debug_sync= 'now signal goforit'; |
connection con_alter; |
Warnings:
|
Warning 1265 Data truncated for column 'a' at row 4 |
Warning 1265 Data truncated for column 'a' at row 4 |
show create table t; |
Table Create Table |
t CREATE TABLE `t` ( |
`a` int(11) NOT NULL |
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
select * from t; |
a
|
1
|
2
|
3
|
0
|
0
|
Reproducible the same way with at least InnoDB and MyISAM.
Attachments
Issue Links
- is caused by
-
MDEV-16329 Engine-independent online ALTER TABLE
- Closed
- relates to
-
MDEV-28808 Test MDEV-16329 (ALTER ONLINE TABLE) - Core server part
- Closed