-- Contains regression tests for following bugs:
-- Bug 2586.
-- Bug 2587.
drop table if exists qatablevarchar8000;
create table qatablevarchar8000 (idx int, col varchar(8000)) ENGINE=INFINIDB;
insert into qatablevarchar8000 values (1, NULL);
insert into qatablevarchar8000 values (2, null);
insert into qatablevarchar8000 values (3, 'a');
insert into qatablevarchar8000 values (4, 'z');
insert into qatablevarchar8000 values (5, 'aa');
insert into qatablevarchar8000 values (6, 'aaa');
insert into qatablevarchar8000 values (7, 'aaaa');
insert into qatablevarchar8000 values (8, 'aaaaa');
insert into qatablevarchar8000 values (9, 'aaaaaa');
insert into qatablevarchar8000 values (10, 'aaaaaaa');
insert into qatablevarchar8000 values (11, 'aaaaaaaa');
insert into qatablevarchar8000 values (12, 'aaaaaaaaa');
insert into qatablevarchar8000 values (13, repeat('qrstuvwxyz',800));
select * from qatablevarchar8000 where col =
'qrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyzqrstuvwxyz';
select idx, length(col) from qatablevarchar8000 order by 1;
update qatablevarchar8000 set col='xxx' where col like 'qrs%';
-- select idx, col from qatablevarchar8000 order by 1;
select idx from qatablevarchar8000 where col like 'xxx%';

update qatablevarchar8000 set col = 'abcdefghij' where col like 'xxx%';

select idx, length(col) from qatablevarchar8000 order by 1;
drop table qatablevarchar8000;
