1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

unpack_row: set the correct fields in has_value_set for online alter

This commit is contained in:
Nikita Malyavin
2023-04-23 18:31:57 +03:00
committed by Sergei Golubchik
parent ecb9db4c3d
commit af82d56a51
3 changed files with 66 additions and 1 deletions

View File

@ -1312,6 +1312,40 @@ insert into t select repeat('a',130000);
set debug_sync= "now signal end";
connection default;
drop table t;
#
# Test that correct fields are marked as explicit:
# Drop a, reorder b, add new column with default.
#
create table t (a int primary key, b int) engine=innodb;
insert into t values (1, 1), (2, 2), (3, 3);
set debug_sync= "alter_table_copy_end signal copy wait_for goon";
alter table t drop primary key, drop a,
change b c bigint,
add x longblob default 123456;
connection con1;
set debug_sync= "now wait_for copy";
update t set b = 5 where a = 1;
update t set b = NULL where a = 1;
select * from t;
a b
1 NULL
2 2
3 3
update t set a = 100 where a = 1;
update t set b = -10 where a = 100;
select * from t;
a b
2 2
3 3
100 -10
set debug_sync= "now signal goon";
connection default;
select * from t;
c x
-10 123456
2 123456
3 123456
drop table t;
set debug_sync= reset;
disconnect con1;
disconnect con2;