Add test case for renaming a column and only applying inserts
This catches a bug in `sql.BuildDMLInsertQuery` where we we are fetching the insert values using the renamed column's name, and end up fetching the value of the wrong column. The test in `localtests/rename` did not catch this because binlog update events were "correcting" the error, as they follow a different code path that does not contain the bug.
This commit is contained in:
parent
671fc71067
commit
25b5474cfa
22
localtests/rename-inserts-only/create.sql
Normal file
22
localtests/rename-inserts-only/create.sql
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
drop table if exists gh_ost_test;
|
||||||
|
create table gh_ost_test (
|
||||||
|
id int auto_increment,
|
||||||
|
c1 int not null,
|
||||||
|
c2 int not null,
|
||||||
|
primary key (id)
|
||||||
|
) auto_increment=1;
|
||||||
|
|
||||||
|
drop event if exists gh_ost_test;
|
||||||
|
delimiter ;;
|
||||||
|
create event gh_ost_test
|
||||||
|
on schedule every 1 second
|
||||||
|
starts current_timestamp
|
||||||
|
ends current_timestamp + interval 60 second
|
||||||
|
on completion not preserve
|
||||||
|
enable
|
||||||
|
do
|
||||||
|
begin
|
||||||
|
insert into gh_ost_test values (null, 11, 23);
|
||||||
|
insert into gh_ost_test values (null, 13, 23);
|
||||||
|
insert into gh_ost_test values (null, rand(), rand());
|
||||||
|
end ;;
|
1
localtests/rename-inserts-only/extra_args
Normal file
1
localtests/rename-inserts-only/extra_args
Normal file
@ -0,0 +1 @@
|
|||||||
|
--alter="change column c2 c3 int not null" --approve-renamed-columns
|
Loading…
Reference in New Issue
Block a user