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:
Paulo Bittencourt 2016-09-14 10:59:52 -04:00
parent 671fc71067
commit 25b5474cfa
2 changed files with 23 additions and 0 deletions

View 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 ;;

View File

@ -0,0 +1 @@
--alter="change column c2 c3 int not null" --approve-renamed-columns