Add test case for altering a column's charset

This catches a bug in `sql.BuildDMLInsertQuery` where we are using the target
column's Charset to drive the value conversion.  In the case where we are
altering the charset, the Charset used for conversion will be different than
the original column's charset, resulting in an erroneous conversion.
This commit is contained in:
Paulo Bittencourt 2016-09-13 13:58:52 -04:00
parent eac6a726de
commit 671fc71067
2 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,23 @@
drop table if exists gh_ost_test;
create table gh_ost_test (
id int auto_increment,
t varchar(128) charset latin1 collate latin1_swedish_ci,
tutf8 varchar(128) charset utf8,
tutf8mb4 varchar(128) charset utf8mb4,
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, md5(rand()), md5(rand()), md5(rand()));
insert into gh_ost_test values (null, 'átesting', 'átesting', 'átesting');
insert into gh_ost_test values (null, 'testátest', 'testátest', '🍻😀');
end ;;

View File

@ -0,0 +1 @@
--alter='MODIFY `t` varchar(128) CHARACTER SET utf8mb4 NOT NULL'