mirror of
https://github.com/MariaDB/server.git
synced 2025-11-28 17:36:30 +03:00
Bug happens when partially indexed CHAR or VARCHAR field in converted from utf8mb3 to utf8mb4. Fixing by relaxing assertions. For some time dict_index_t and dict_table_t are becoming not synchronized. Namely, dict_index_t has a new prefix_len which is a multiple of a user-provided length and charset->mbmaxlen. But the table still have and old mbmaxlen and assertion fails. This happens only during utf8mb3 -> utf8mb4 conversions and the magic number 4 comes from utf8mb_4_. At the end of ALTER TABLE (innobase_rename_or_enlarge_columns_cache()) dict_index_t and dict_table_t became synchronized again and will stay so at all times. For, example, they will be synchronized on table load and newly added assertion proves that.
2079 lines
84 KiB
Plaintext
2079 lines
84 KiB
Plaintext
set names utf8;
|
|
create table no_rebuild (
|
|
a char(150) charset utf8mb3 collate utf8mb3_general_ci
|
|
) engine=innodb;
|
|
create table rebuild (
|
|
a varchar(150) charset ascii
|
|
) engine=innodb;
|
|
set @id = (select table_id from information_schema.innodb_sys_tables
|
|
where name = 'test/no_rebuild');
|
|
select name, prtype, len from information_schema.innodb_sys_columns
|
|
where table_id = @id;
|
|
name prtype len
|
|
a 2162942 450
|
|
select c.prtype, c.len from information_schema.innodb_sys_columns as c inner join information_schema.innodb_sys_tables t on c.table_id = t.table_id
|
|
where t.name = 'test/rebuild' and c.name = 'a';
|
|
prtype len
|
|
720911 150
|
|
alter table no_rebuild
|
|
change a a char(150) charset utf8mb3 collate utf8mb3_spanish_ci,
|
|
algorithm=inplace;
|
|
alter table rebuild
|
|
change a a varchar(150) charset latin1 not null default 'asdf',
|
|
algorithm=inplace;
|
|
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table rebuild
|
|
change a a varchar(150) charset latin1 not null default 'asdf',
|
|
algorithm=copy;
|
|
select name, prtype, len from information_schema.innodb_sys_columns
|
|
where table_id = @id;
|
|
name prtype len
|
|
a 13041918 450
|
|
select c.prtype, c.len from information_schema.innodb_sys_columns as c inner join information_schema.innodb_sys_tables t on c.table_id = t.table_id
|
|
where t.name = 'test/rebuild' and c.name = 'a';
|
|
prtype len
|
|
524559 150
|
|
drop table no_rebuild, rebuild;
|
|
create table supported_types (
|
|
id int primary key auto_increment,
|
|
a varchar(150) charset ascii,
|
|
b text(150) charset ascii,
|
|
c text charset ascii,
|
|
d tinytext charset ascii,
|
|
e mediumtext charset ascii,
|
|
f longtext charset ascii
|
|
) engine=innodb;
|
|
alter table supported_types
|
|
convert to charset ascii collate ascii_bin,
|
|
algorithm=instant;
|
|
drop table supported_types;
|
|
create table various_cases (
|
|
a char(150) charset ascii,
|
|
b varchar(150) as (a) virtual,
|
|
c char(150) as (a) persistent
|
|
) engine=innodb;
|
|
alter table various_cases
|
|
change a a char(150) charset ascii collate ascii_bin,
|
|
algorithm=inplace;
|
|
alter table various_cases
|
|
change a a varchar(222),
|
|
algorithm=inplace;
|
|
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table various_cases
|
|
change b b varchar(150) as (a) virtual,
|
|
algorithm=inplace;
|
|
alter table various_cases
|
|
change c c char(150) as (a) persistent,
|
|
algorithm=inplace;
|
|
ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
|
|
alter table various_cases
|
|
modify a char(150) charset utf8mb4,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table various_cases;
|
|
create table all_texts (
|
|
a tinytext charset ascii,
|
|
b text charset ascii,
|
|
c mediumtext charset ascii,
|
|
d longtext charset ascii,
|
|
footer int
|
|
) engine=innodb;
|
|
alter table all_texts
|
|
convert to charset ascii collate ascii_bin,
|
|
algorithm=instant;
|
|
drop table all_texts;
|
|
create table all_binaries (
|
|
a tinyblob,
|
|
b blob,
|
|
c mediumblob,
|
|
d longblob,
|
|
e varbinary(150),
|
|
f binary(150)
|
|
) engine=innodb;
|
|
alter table all_binaries modify a tinytext, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_binaries modify b text, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_binaries modify c mediumtext, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_binaries modify d longtext, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_binaries modify e varchar(150), algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_binaries modify f char(150), algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table all_binaries;
|
|
create table all_strings (
|
|
a tinytext,
|
|
b text,
|
|
c mediumtext,
|
|
d longtext,
|
|
e varchar(150),
|
|
f char(150)
|
|
) engine=innodb;
|
|
alter table all_strings modify a tinyblob, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify b blob, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify c mediumblob, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify d longblob, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify e varbinary(150), algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify f binary(150), algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify a tinytext charset binary, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify b text charset binary, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify c mediumtext charset binary, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify d longtext charset binary, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify e varchar(150) charset binary, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table all_strings modify f char(150) charset binary, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table all_strings;
|
|
create table key_part_change (
|
|
a char(150) charset ascii,
|
|
b char(150) charset ascii,
|
|
c char(150) charset ascii,
|
|
unique key ab (a,b)
|
|
) engine=innodb;
|
|
alter table key_part_change
|
|
modify a char(150) charset utf8mb4,
|
|
drop index ab,
|
|
add unique key ab(a,c),
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table key_part_change;
|
|
create table key_part_change_and_rename (
|
|
a char(100) charset ascii,
|
|
b char(100) charset ascii,
|
|
unique key ab (a,b)
|
|
) engine=innodb;
|
|
alter table key_part_change_and_rename
|
|
change a b char(100) charset utf8mb4,
|
|
change b a char(100) charset utf8mb4,
|
|
drop index ab,
|
|
add unique key ab(a,b),
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table key_part_change_and_rename;
|
|
create table enum_and_set (
|
|
a enum('one', 'two') charset utf8mb3,
|
|
b set('three', 'four') charset utf8mb3
|
|
) engine=innodb;
|
|
alter table enum_and_set
|
|
modify a enum('one', 'two') charset utf8mb4,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table enum_and_set
|
|
modify b enum('three', 'four') charset utf8mb4,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table enum_and_set;
|
|
create table compressed (
|
|
a varchar(255) compressed charset utf8mb3
|
|
) engine=innodb;
|
|
insert into compressed values ('AAA'), ('bbb'), ('CCC');
|
|
alter table compressed
|
|
modify a varchar(255) compressed charset utf8mb4,
|
|
algorithm=instant;
|
|
select * from compressed;
|
|
a
|
|
AAA
|
|
bbb
|
|
CCC
|
|
check table compresed;
|
|
Table Op Msg_type Msg_text
|
|
test.compresed check Error Table 'test.compresed' doesn't exist
|
|
test.compresed check status Operation failed
|
|
drop table compressed;
|
|
create table key_part_bug (
|
|
id int primary key auto_increment,
|
|
a varchar(150) charset utf8mb3 unique key
|
|
) engine=innodb;
|
|
alter table key_part_bug
|
|
modify a varchar(150) charset utf8mb4,
|
|
algorithm=instant;
|
|
drop table key_part_bug;
|
|
create table latin1_swedish_special_case (
|
|
copy1 varchar(150) charset ascii collate ascii_general_ci,
|
|
copy2 char(150) charset ascii collate ascii_general_ci,
|
|
instant1 varchar(150) charset ascii collate ascii_general_ci,
|
|
instant2 char(150) charset ascii collate ascii_general_ci
|
|
) engine=innodb;
|
|
select c.name, c.prtype, c.mtype, c.len from information_schema.innodb_sys_columns as c inner join information_schema.innodb_sys_tables t on c.table_id = t.table_id
|
|
where t.name = 'test/latin1_swedish_special_case';
|
|
name prtype mtype len
|
|
copy1 720911 12 150
|
|
copy2 721150 13 150
|
|
instant1 720911 12 150
|
|
instant2 721150 13 150
|
|
alter table latin1_swedish_special_case
|
|
modify copy1 varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
modify copy2 char(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=copy;
|
|
alter table latin1_swedish_special_case
|
|
modify instant1 varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
modify instant2 char(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table latin1_swedish_special_case
|
|
modify instant1 varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
modify instant2 char(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=copy;
|
|
select c.name, c.prtype, c.mtype, c.len from information_schema.innodb_sys_columns as c inner join information_schema.innodb_sys_tables t on c.table_id = t.table_id
|
|
where t.name = 'test/latin1_swedish_special_case';
|
|
name prtype mtype len
|
|
copy1 524303 1 150
|
|
copy2 524542 2 150
|
|
instant1 524303 1 150
|
|
instant2 524542 2 150
|
|
alter table latin1_swedish_special_case
|
|
modify copy1 varchar(150) charset latin1 collate latin1_general_ci,
|
|
modify copy2 char(150) charset latin1 collate latin1_general_ci,
|
|
algorithm=copy;
|
|
alter table latin1_swedish_special_case
|
|
modify instant1 varchar(150) charset latin1 collate latin1_general_ci,
|
|
modify instant2 char(150) charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
select c.name, c.prtype, c.mtype, c.len from information_schema.innodb_sys_columns as c inner join information_schema.innodb_sys_tables t on c.table_id = t.table_id
|
|
where t.name = 'test/latin1_swedish_special_case';
|
|
name prtype mtype len
|
|
copy1 3145743 12 150
|
|
copy2 3145982 13 150
|
|
instant1 3145743 12 150
|
|
instant2 3145982 13 150
|
|
drop table latin1_swedish_special_case;
|
|
create table regression (a varchar(100) charset utf8mb3 primary key, b int) engine=innodb;
|
|
alter table regression convert to character set utf8mb4;
|
|
drop table regression;
|
|
create table boundary_255 (
|
|
a varchar(50) charset ascii,
|
|
b varchar(200) charset ascii,
|
|
c varchar(300) charset ascii
|
|
) engine=innodb;
|
|
alter table boundary_255
|
|
modify a varchar(50) charset utf8mb3,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table boundary_255
|
|
modify a varchar(50) charset utf8mb3,
|
|
algorithm=copy;
|
|
alter table boundary_255
|
|
modify b varchar(200) charset utf8mb3,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table boundary_255
|
|
modify c varchar(300) charset utf8mb3,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table boundary_255;
|
|
create table boundary_255 (
|
|
a varchar(70) charset utf8mb3
|
|
) engine=innodb;
|
|
alter table boundary_255
|
|
modify a varchar(70) charset utf8mb4,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table boundary_255;
|
|
create table t (
|
|
a char(10) collate utf8mb3_general_ci,
|
|
b char(70) collate utf8mb3_general_ci,
|
|
c char(100) collate utf8mb3_general_ci,
|
|
aa char(10) collate utf8mb3_general_ci unique,
|
|
bb char(70) collate utf8mb3_general_ci unique,
|
|
cc char(100) collate utf8mb3_general_ci unique,
|
|
d char(10) collate utf8mb3_general_ci,
|
|
dd char(10) collate utf8mb3_general_ci unique
|
|
) engine=innodb;
|
|
insert into t values
|
|
(repeat('a', 10), repeat('a', 70), repeat('a', 100),
|
|
repeat('a', 10), repeat('a', 70), repeat('a', 100),
|
|
repeat('a', 10), repeat('a', 10)
|
|
);
|
|
alter table t modify a char(10) collate utf8mb4_general_ci, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify b char(70) collate utf8mb4_general_ci, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify c char(100) collate utf8mb4_general_ci, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify aa char(10) collate utf8mb4_general_ci, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify bb char(70) collate utf8mb4_general_ci, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify cc char(100) collate utf8mb4_general_ci, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify d char(10) collate utf8mb4_spanish_ci, algorithm=instant;
|
|
alter table t modify dd char(10) collate utf8mb4_spanish_ci, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
select * from t;
|
|
a b c aa bb cc d dd
|
|
aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaa
|
|
drop table t;
|
|
create table fully_compatible (
|
|
id int auto_increment unique key,
|
|
from_charset char(255),
|
|
from_collate char(255),
|
|
to_charset char(255),
|
|
to_collate char(255)
|
|
);
|
|
insert into fully_compatible (from_charset, from_collate, to_charset, to_collate) values
|
|
('utf8mb3', 'utf8mb3_general_ci', 'utf8mb4', 'utf8mb4_general_ci'),
|
|
('utf8mb3', 'utf8mb3_bin', 'utf8mb4', 'utf8mb4_bin'),
|
|
('utf8mb3', 'utf8mb3_unicode_ci', 'utf8mb4', 'utf8mb4_unicode_ci'),
|
|
('utf8mb3', 'utf8mb3_icelandic_ci', 'utf8mb4', 'utf8mb4_icelandic_ci'),
|
|
('utf8mb3', 'utf8mb3_latvian_ci', 'utf8mb4', 'utf8mb4_latvian_ci'),
|
|
('utf8mb3', 'utf8mb3_romanian_ci', 'utf8mb4', 'utf8mb4_romanian_ci'),
|
|
('utf8mb3', 'utf8mb3_slovenian_ci', 'utf8mb4', 'utf8mb4_slovenian_ci'),
|
|
('utf8mb3', 'utf8mb3_polish_ci', 'utf8mb4', 'utf8mb4_polish_ci'),
|
|
('utf8mb3', 'utf8mb3_estonian_ci', 'utf8mb4', 'utf8mb4_estonian_ci'),
|
|
('utf8mb3', 'utf8mb3_spanish_ci', 'utf8mb4', 'utf8mb4_spanish_ci'),
|
|
('utf8mb3', 'utf8mb3_swedish_ci', 'utf8mb4', 'utf8mb4_swedish_ci'),
|
|
('utf8mb3', 'utf8mb3_turkish_ci', 'utf8mb4', 'utf8mb4_turkish_ci'),
|
|
('utf8mb3', 'utf8mb3_czech_ci', 'utf8mb4', 'utf8mb4_czech_ci'),
|
|
('utf8mb3', 'utf8mb3_danish_ci', 'utf8mb4', 'utf8mb4_danish_ci'),
|
|
('utf8mb3', 'utf8mb3_lithuanian_ci', 'utf8mb4', 'utf8mb4_lithuanian_ci'),
|
|
('utf8mb3', 'utf8mb3_slovak_ci', 'utf8mb4', 'utf8mb4_slovak_ci'),
|
|
('utf8mb3', 'utf8mb3_spanish2_ci', 'utf8mb4', 'utf8mb4_spanish2_ci'),
|
|
('utf8mb3', 'utf8mb3_roman_ci', 'utf8mb4', 'utf8mb4_roman_ci'),
|
|
('utf8mb3', 'utf8mb3_persian_ci', 'utf8mb4', 'utf8mb4_persian_ci'),
|
|
('utf8mb3', 'utf8mb3_esperanto_ci', 'utf8mb4', 'utf8mb4_esperanto_ci'),
|
|
('utf8mb3', 'utf8mb3_hungarian_ci', 'utf8mb4', 'utf8mb4_hungarian_ci'),
|
|
('utf8mb3', 'utf8mb3_sinhala_ci', 'utf8mb4', 'utf8mb4_sinhala_ci'),
|
|
('utf8mb3', 'utf8mb3_german2_ci', 'utf8mb4', 'utf8mb4_german2_ci'),
|
|
('utf8mb3', 'utf8mb3_croatian_mysql561_ci', 'utf8mb4', 'utf8mb4_croatian_mysql561_ci'),
|
|
('utf8mb3', 'utf8mb3_unicode_520_ci', 'utf8mb4', 'utf8mb4_unicode_520_ci'),
|
|
('utf8mb3', 'utf8mb3_vietnamese_ci', 'utf8mb4', 'utf8mb4_vietnamese_ci'),
|
|
('utf8mb3', 'utf8mb3_croatian_ci', 'utf8mb4', 'utf8mb4_croatian_ci'),
|
|
('utf8mb3', 'utf8mb3_myanmar_ci', 'utf8mb4', 'utf8mb4_myanmar_ci'),
|
|
('utf8mb3', 'utf8mb3_thai_520_w2', 'utf8mb4', 'utf8mb4_thai_520_w2'),
|
|
('utf8mb3', 'utf8mb3_general_nopad_ci', 'utf8mb4', 'utf8mb4_general_nopad_ci'),
|
|
('utf8mb3', 'utf8mb3_nopad_bin', 'utf8mb4', 'utf8mb4_nopad_bin'),
|
|
('utf8mb3', 'utf8mb3_unicode_nopad_ci', 'utf8mb4', 'utf8mb4_unicode_nopad_ci'),
|
|
('utf8mb3', 'utf8mb3_unicode_520_nopad_ci', 'utf8mb4', 'utf8mb4_unicode_520_nopad_ci')
|
|
;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_general_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_general_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_general_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_general_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_bin,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_bin primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_bin,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_bin,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_icelandic_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_icelandic_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_icelandic_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_icelandic_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_latvian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_latvian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_latvian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_latvian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_romanian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_romanian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_romanian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_romanian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_slovenian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_slovenian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_slovenian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_slovenian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_polish_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_polish_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_polish_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_polish_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_estonian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_estonian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_estonian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_estonian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_spanish_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_spanish_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_spanish_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_spanish_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_swedish_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_swedish_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_swedish_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_turkish_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_turkish_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_turkish_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_turkish_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_czech_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_czech_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_czech_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_czech_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_danish_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_danish_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_danish_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_lithuanian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_lithuanian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_slovak_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_slovak_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_slovak_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_slovak_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_spanish2_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_spanish2_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_spanish2_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_spanish2_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_roman_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_roman_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_roman_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_roman_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_persian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_persian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_esperanto_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_esperanto_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_esperanto_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_esperanto_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_hungarian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_hungarian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_hungarian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_hungarian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_sinhala_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_sinhala_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_sinhala_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_sinhala_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_german2_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_german2_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_croatian_mysql561_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_croatian_mysql561_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_croatian_mysql561_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_croatian_mysql561_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_unicode_520_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_unicode_520_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_vietnamese_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_vietnamese_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_croatian_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_croatian_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_croatian_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_croatian_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_myanmar_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_myanmar_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_myanmar_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_myanmar_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_thai_520_w2,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_thai_520_w2 primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_general_nopad_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_general_nopad_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_general_nopad_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_general_nopad_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_nopad_bin,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_nopad_bin primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_nopad_bin,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_nopad_bin,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_unicode_nopad_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_unicode_nopad_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_nopad_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_nopad_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_unicode_520_nopad_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_unicode_520_nopad_ci primary key
|
|
) engine=innodb;
|
|
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_nopad_ci,
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_nopad_ci,
|
|
algorithm=instant;
|
|
check table tmp;
|
|
Table Op Msg_type Msg_text
|
|
test.tmp check status OK
|
|
drop table tmp;
|
|
drop table fully_compatible;
|
|
create table compatible_without_index (
|
|
id int auto_increment unique key,
|
|
from_charset char(255),
|
|
from_collate char(255),
|
|
to_charset char(255),
|
|
to_collate char(255)
|
|
);
|
|
insert into compatible_without_index (from_charset, from_collate, to_charset, to_collate) values
|
|
('utf8mb3', 'utf8mb3_general_ci', 'utf8mb4', 'utf8mb4_vietnamese_ci'),
|
|
('utf8mb3', 'utf8mb3_bin', 'utf8mb4', 'utf8mb4_vietnamese_ci'),
|
|
('utf8mb3', 'utf8mb3_general_nopad_ci', 'utf8mb4', 'utf8mb4_vietnamese_ci'),
|
|
('utf8mb3', 'utf8mb3_nopad_bin', 'utf8mb4', 'utf8mb4_vietnamese_ci'),
|
|
('ascii', 'ascii_general_ci', 'ascii', 'ascii_bin'),
|
|
('utf8mb3', 'utf8mb3_roman_ci', 'utf8mb3', 'utf8mb3_lithuanian_ci'),
|
|
('utf8mb4', 'utf8mb4_thai_520_w2', 'utf8mb4', 'utf8mb4_persian_ci'),
|
|
('utf8mb3', 'utf8mb3_myanmar_ci', 'utf8mb4', 'utf8mb4_german2_ci'),
|
|
('utf8mb3', 'utf8mb3_general_ci', 'utf8mb3', 'utf8mb3_unicode_ci'),
|
|
('latin1', 'latin1_general_cs', 'latin1', 'latin1_general_ci'),
|
|
('utf16', 'utf16_general_ci', 'utf16', 'utf16_german2_ci')
|
|
;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_general_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_general_ci unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_general_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_bin,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_bin unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_bin primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_general_nopad_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_general_nopad_ci unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_general_nopad_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_nopad_bin,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_nopad_bin unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_nopad_bin primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset ascii collate ascii_general_ci,
|
|
b varchar(50) charset ascii collate ascii_general_ci unique key,
|
|
c varchar(50) charset ascii collate ascii_general_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset ascii collate ascii_bin,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset ascii collate ascii_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset ascii collate ascii_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_roman_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_roman_ci unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_roman_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2,
|
|
b varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2 unique key,
|
|
c varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2 primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_myanmar_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_myanmar_ci unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_myanmar_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf8mb3 collate utf8mb3_general_ci,
|
|
b varchar(50) charset utf8mb3 collate utf8mb3_general_ci unique key,
|
|
c varchar(50) charset utf8mb3 collate utf8mb3_general_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset latin1 collate latin1_general_cs,
|
|
b varchar(50) charset latin1 collate latin1_general_cs unique key,
|
|
c varchar(50) charset latin1 collate latin1_general_cs primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(50) charset utf16 collate utf16_general_ci,
|
|
b varchar(50) charset utf16 collate utf16_general_ci unique key,
|
|
c varchar(50) charset utf16 collate utf16_general_ci primary key
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(50) charset utf16 collate utf16_german2_ci,
|
|
algorithm=instant;
|
|
alter table tmp
|
|
modify b varchar(50) charset utf16 collate utf16_german2_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table tmp
|
|
modify c varchar(50) charset utf16 collate utf16_german2_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
drop table compatible_without_index;
|
|
create table fully_incompatible (
|
|
id int auto_increment unique key,
|
|
from_charset char(255),
|
|
from_collate char(255),
|
|
to_charset char(255),
|
|
to_collate char(255)
|
|
);
|
|
insert into fully_incompatible (from_charset, from_collate, to_charset, to_collate) values
|
|
('ascii', 'ascii_general_ci', 'utf8mb3', 'utf8mb3_general_ci'),
|
|
('ascii', 'ascii_general_ci', 'utf8mb4', 'utf8mb4_general_ci'),
|
|
('ascii', 'ascii_general_ci', 'latin1', 'latin1_general_ci'),
|
|
('ascii', 'ascii_bin', 'latin1', 'latin1_bin'),
|
|
('ascii', 'ascii_nopad_bin', 'latin1', 'latin1_nopad_bin'),
|
|
('ascii', 'ascii_general_ci', 'latin2', 'latin2_general_ci'),
|
|
('ascii', 'ascii_general_ci', 'latin7', 'latin7_general_ci'),
|
|
('ascii', 'ascii_bin', 'koi8u', 'koi8u_bin'),
|
|
('ascii', 'ascii_bin', 'ujis', 'ujis_bin'),
|
|
('ascii', 'ascii_bin', 'big5', 'big5_bin'),
|
|
('ascii', 'ascii_bin', 'gbk', 'gbk_bin'),
|
|
('ascii', 'ascii_general_ci', 'utf8mb3', 'utf8mb3_swedish_ci'),
|
|
('ascii', 'ascii_bin', 'latin1', 'latin1_swedish_ci'),
|
|
('ascii', 'ascii_general_nopad_ci', 'latin1', 'latin1_swedish_ci'),
|
|
('ascii', 'ascii_nopad_bin', 'latin1', 'latin1_swedish_ci'),
|
|
('ascii', 'ascii_general_ci', 'koi8u', 'koi8u_bin'),
|
|
('ascii', 'ascii_general_nopad_ci', 'koi8u', 'koi8u_bin'),
|
|
('ascii', 'ascii_nopad_bin', 'koi8u', 'koi8u_bin'),
|
|
('ascii', 'ascii_general_ci', 'latin1', 'latin1_swedish_ci'),
|
|
('ascii', 'ascii_bin', 'utf8mb3', 'utf8mb3_swedish_ci'),
|
|
('ascii', 'ascii_general_nopad_ci', 'utf8mb3', 'utf8mb3_swedish_ci'),
|
|
('ascii', 'ascii_nopad_bin', 'utf8mb3', 'utf8mb3_swedish_ci'),
|
|
('ascii', 'ascii_general_ci', 'utf8mb4', 'utf8mb4_danish_ci'),
|
|
('ascii', 'ascii_bin', 'utf8mb4', 'utf8mb4_danish_ci'),
|
|
('ascii', 'ascii_general_nopad_ci', 'utf8mb4', 'utf8mb4_danish_ci'),
|
|
('ascii', 'ascii_nopad_bin', 'utf8mb4', 'utf8mb4_danish_ci'),
|
|
('ascii', 'ascii_general_ci', 'gbk', 'gbk_chinese_ci'),
|
|
('ascii', 'ascii_general_ci', 'gbk', 'gbk_chinese_nopad_ci'),
|
|
('ascii', 'ascii_general_ci', 'ujis', 'ujis_japanese_ci'),
|
|
('ascii', 'ascii_general_ci', 'big5', 'big5_chinese_ci'),
|
|
('ascii', 'ascii_general_ci', 'latin2', 'latin2_croatian_ci'),
|
|
('ascii', 'ascii_general_ci', 'latin7', 'latin7_estonian_cs'),
|
|
('ucs2', 'ucs2_general_ci', 'utf16', 'utf16_general_ci'),
|
|
('ucs2', 'ucs2_unicode_ci', 'utf16', 'utf16_unicode_ci'),
|
|
('ucs2', 'ucs2_icelandic_ci', 'utf16', 'utf16_icelandic_ci'),
|
|
('ucs2', 'ucs2_latvian_ci', 'utf16', 'utf16_latvian_ci'),
|
|
('ucs2', 'ucs2_romanian_ci', 'utf16', 'utf16_romanian_ci'),
|
|
('ucs2', 'ucs2_slovenian_ci', 'utf16', 'utf16_slovenian_ci'),
|
|
('ucs2', 'ucs2_polish_ci', 'utf16', 'utf16_polish_ci'),
|
|
('ucs2', 'ucs2_estonian_ci', 'utf16', 'utf16_estonian_ci'),
|
|
('ucs2', 'ucs2_spanish_ci', 'utf16', 'utf16_spanish_ci'),
|
|
('ucs2', 'ucs2_general_ci', 'utf16', 'utf16_general_ci'),
|
|
('ucs2', 'ucs2_myanmar_ci', 'utf16', 'utf16_thai_520_w2'),
|
|
('ucs2', 'ucs2_general_ci', 'utf16', 'utf16_unicode_nopad_ci'),
|
|
('ucs2', 'ucs2_general_mysql500_ci', 'utf16', 'utf16_spanish2_ci'),
|
|
('utf8mb4', 'utf8mb4_general_ci', 'utf8mb3', 'utf8mb3_general_ci'),
|
|
('utf8mb4', 'utf8mb4_general_ci', 'ascii', 'ascii_general_ci'),
|
|
('utf8mb3', 'utf8mb3_general_ci', 'ascii', 'ascii_general_ci'),
|
|
('utf8mb3', 'utf8mb3_general_ci', 'latin1', 'latin1_general_ci'),
|
|
('utf16', 'utf16_general_ci', 'utf32', 'utf32_general_ci'),
|
|
('latin1', 'latin1_general_ci', 'ascii', 'ascii_general_ci'),
|
|
('ascii', 'ascii_general_ci', 'swe7', 'swe7_swedish_ci'),
|
|
('eucjpms', 'eucjpms_japanese_nopad_ci', 'geostd8', 'geostd8_general_ci'),
|
|
('latin1', 'latin1_general_ci', 'utf16', 'utf16_general_ci')
|
|
;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb3 collate utf8mb3_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb3 collate utf8mb3_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb4 collate utf8mb4_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb4 collate utf8mb4_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_nopad_bin,
|
|
b text(150) charset ascii collate ascii_nopad_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_nopad_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_nopad_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin2 collate latin2_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin2 collate latin2_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin7 collate latin7_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin7 collate latin7_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset ujis collate ujis_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset ujis collate ujis_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset big5 collate big5_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset big5 collate big5_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset gbk collate gbk_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset gbk collate gbk_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_nopad_ci,
|
|
b text(150) charset ascii collate ascii_general_nopad_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_nopad_bin,
|
|
b text(150) charset ascii collate ascii_nopad_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_nopad_ci,
|
|
b text(150) charset ascii collate ascii_general_nopad_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_nopad_bin,
|
|
b text(150) charset ascii collate ascii_nopad_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset koi8u collate koi8u_bin,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_nopad_ci,
|
|
b text(150) charset ascii collate ascii_general_nopad_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_nopad_bin,
|
|
b text(150) charset ascii collate ascii_nopad_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb3 collate utf8mb3_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_bin,
|
|
b text(150) charset ascii collate ascii_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_nopad_ci,
|
|
b text(150) charset ascii collate ascii_general_nopad_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_nopad_bin,
|
|
b text(150) charset ascii collate ascii_nopad_bin,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb4 collate utf8mb4_danish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset gbk collate gbk_chinese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset gbk collate gbk_chinese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset gbk collate gbk_chinese_nopad_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset gbk collate gbk_chinese_nopad_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset ujis collate ujis_japanese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset ujis collate ujis_japanese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset big5 collate big5_chinese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset big5 collate big5_chinese_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin2 collate latin2_croatian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin2 collate latin2_croatian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin7 collate latin7_estonian_cs,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin7 collate latin7_estonian_cs,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_general_ci,
|
|
b text(150) charset ucs2 collate ucs2_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_unicode_ci,
|
|
b text(150) charset ucs2 collate ucs2_unicode_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_unicode_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_unicode_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_icelandic_ci,
|
|
b text(150) charset ucs2 collate ucs2_icelandic_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_icelandic_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_icelandic_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_latvian_ci,
|
|
b text(150) charset ucs2 collate ucs2_latvian_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_latvian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_latvian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_romanian_ci,
|
|
b text(150) charset ucs2 collate ucs2_romanian_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_romanian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_romanian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_slovenian_ci,
|
|
b text(150) charset ucs2 collate ucs2_slovenian_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_slovenian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_slovenian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_polish_ci,
|
|
b text(150) charset ucs2 collate ucs2_polish_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_polish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_polish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_estonian_ci,
|
|
b text(150) charset ucs2 collate ucs2_estonian_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_estonian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_estonian_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_spanish_ci,
|
|
b text(150) charset ucs2 collate ucs2_spanish_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_spanish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_spanish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_general_ci,
|
|
b text(150) charset ucs2 collate ucs2_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_myanmar_ci,
|
|
b text(150) charset ucs2 collate ucs2_myanmar_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_thai_520_w2,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_thai_520_w2,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_general_ci,
|
|
b text(150) charset ucs2 collate ucs2_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_unicode_nopad_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_unicode_nopad_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ucs2 collate ucs2_general_mysql500_ci,
|
|
b text(150) charset ucs2 collate ucs2_general_mysql500_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_spanish2_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_spanish2_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset utf8mb4 collate utf8mb4_general_ci,
|
|
b text(150) charset utf8mb4 collate utf8mb4_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf8mb3 collate utf8mb3_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf8mb3 collate utf8mb3_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset utf8mb4 collate utf8mb4_general_ci,
|
|
b text(150) charset utf8mb4 collate utf8mb4_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset ascii collate ascii_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset ascii collate ascii_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset utf8mb3 collate utf8mb3_general_ci,
|
|
b text(150) charset utf8mb3 collate utf8mb3_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset ascii collate ascii_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset ascii collate ascii_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset utf8mb3 collate utf8mb3_general_ci,
|
|
b text(150) charset utf8mb3 collate utf8mb3_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset latin1 collate latin1_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset utf16 collate utf16_general_ci,
|
|
b text(150) charset utf16 collate utf16_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf32 collate utf32_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf32 collate utf32_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset latin1 collate latin1_general_ci,
|
|
b text(150) charset latin1 collate latin1_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset ascii collate ascii_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset ascii collate ascii_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset ascii collate ascii_general_ci,
|
|
b text(150) charset ascii collate ascii_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset swe7 collate swe7_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset swe7 collate swe7_swedish_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset eucjpms collate eucjpms_japanese_nopad_ci,
|
|
b text(150) charset eucjpms collate eucjpms_japanese_nopad_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset geostd8 collate geostd8_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset geostd8 collate geostd8_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
create table tmp (
|
|
a varchar(150) charset latin1 collate latin1_general_ci,
|
|
b text(150) charset latin1 collate latin1_general_ci,
|
|
unique key b_idx (b(150))
|
|
) engine=innodb;
|
|
alter table tmp
|
|
change a a varchar(150) charset utf16 collate utf16_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table tmp
|
|
modify b text charset utf16 collate utf16_general_ci,
|
|
algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
drop table tmp;
|
|
drop table fully_incompatible;
|
|
#
|
|
# MDEV-19284 INSTANT ALTER with ucs2-to-utf16 conversion produces bad data
|
|
#
|
|
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET ucs2, PRIMARY KEY(a)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES ('a'),(0xD800);
|
|
ALTER TABLE t1 ALGORITHM=COPY, MODIFY a VARCHAR(10) CHARACTER SET utf16;
|
|
ERROR 22007: Incorrect string value: '\xD8\x00' for column `test`.`t1`.`a` at row 2
|
|
ALTER TABLE t1 ALGORITHM=INSTANT, MODIFY a VARCHAR(10) CHARACTER SET utf16;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
ALTER IGNORE TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET utf16;
|
|
affected rows: 2
|
|
info: Records: 2 Duplicates: 0 Warnings: 1
|
|
Warnings:
|
|
Warning 1366 Incorrect string value: '\xD8\x00' for column `test`.`t1`.`a` at row 2
|
|
SELECT HEX(a) FROM t1;
|
|
HEX(a)
|
|
003F
|
|
0061
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-19285 INSTANT ALTER from ascii_general_ci to latin1_general_ci produces currupt data
|
|
#
|
|
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET ascii COLLATE ascii_general_ci, PRIMARY KEY(a)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES ('a'),(0xC0),('b');
|
|
ALTER TABLE t1 ALGORITHM=COPY, MODIFY a VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_general_ci;
|
|
ERROR 22007: Incorrect string value: '\xC0' for column `test`.`t1`.`a` at row 3
|
|
ALTER TABLE t1 ALGORITHM=INSTANT, MODIFY a VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_general_ci;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
ALTER IGNORE TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_general_ci;
|
|
affected rows: 3
|
|
info: Records: 3 Duplicates: 0 Warnings: 1
|
|
Warnings:
|
|
Warning 1366 Incorrect string value: '\xC0' for column `test`.`t1`.`a` at row 3
|
|
SELECT HEX(a) FROM t1;
|
|
HEX(a)
|
|
3F
|
|
61
|
|
62
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-19524 Server crashes in Bitmap<64u>::is_clear_all / Field_longstr::csinfo_change_allows_instant_alter
|
|
#
|
|
CREATE TABLE t1 (a VARCHAR(1), UNIQUE(a)) ENGINE=InnoDB;
|
|
ALTER TABLE t1 MODIFY a INT, ADD b INT, ADD UNIQUE (b), ALGORITHM=INSTANT;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-17301 Change of COLLATE unnecessarily requires ALGORITHM=COPY
|
|
#
|
|
create table t (
|
|
a char(10) collate latin1_general_ci primary key,
|
|
b char(10) collate latin1_general_ci,
|
|
c char(10) collate latin1_general_ci,
|
|
unique key b_key(b)
|
|
) engine=innodb;
|
|
insert into t values
|
|
('aaa', 'aaa', 'aaa'), ('ccc', 'ccc', 'ccc'), ('bbb', 'bbb', 'bbb');
|
|
alter table t modify a char(10) collate latin1_general_cs, algorithm=inplace;
|
|
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table t modify b char(10) collate latin1_general_cs, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table t modify b char(10) collate latin1_general_cs, algorithm=nocopy;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify c char(10) collate latin1_general_cs, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
drop table t;
|
|
create table t (
|
|
a varchar(10) collate latin1_general_ci primary key,
|
|
b varchar(10) collate latin1_general_ci,
|
|
c varchar(10) collate latin1_general_ci,
|
|
unique key b_key(b)
|
|
) engine=innodb;
|
|
insert into t values
|
|
('aaa', 'aaa', 'aaa'), ('ccc', 'ccc', 'ccc'), ('bbb', 'bbb', 'bbb');
|
|
alter table t modify a varchar(10) collate latin1_general_cs, algorithm=inplace;
|
|
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
|
|
alter table t modify b varchar(10) collate latin1_general_cs, algorithm=instant;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
|
|
alter table t modify b varchar(10) collate latin1_general_cs, algorithm=nocopy;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
alter table t modify c varchar(10) collate latin1_general_cs, algorithm=instant;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
drop table t;
|
|
#
|
|
# MDEV-20726: InnoDB: Assertion failure in file data0type.cc line 67
|
|
#
|
|
CREATE TABLE t (
|
|
id int(10) unsigned NOT NULL PRIMARY KEY,
|
|
a text CHARSET utf8mb3,
|
|
KEY a_idx(a(1))
|
|
) ENGINE=InnoDB;
|
|
INSERT INTO t VALUES (1, 'something in the air');
|
|
ALTER TABLE t MODIFY a text CHARSET utf8mb4;
|
|
DROP TABLE t;
|
|
#
|
|
# MDEV-22899: Assertion `field->col->is_binary() || field->prefix_len % field->col->mbmaxlen == 0' failed in dict_index_add_to_cache
|
|
#
|
|
CREATE TABLE t1 (
|
|
a text CHARACTER SET utf8 DEFAULT NULL,
|
|
KEY a_key (a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a text CHARACTER SET utf8 DEFAULT NULL,
|
|
b int,
|
|
KEY a_key (b, a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a char(200) CHARACTER SET utf8 DEFAULT NULL,
|
|
KEY a_key (a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a char(200) CHARACTER SET utf8 DEFAULT NULL,
|
|
b int,
|
|
KEY a_key (b, a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a varchar(200) CHARACTER SET utf8 DEFAULT NULL,
|
|
KEY a_key (a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a varchar(200) CHARACTER SET utf8 DEFAULT NULL,
|
|
b int,
|
|
KEY a_key (b, a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a varchar(2000) CHARACTER SET utf8 DEFAULT NULL,
|
|
KEY a_key (a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
a varchar(2000) CHARACTER SET utf8 DEFAULT NULL,
|
|
b int,
|
|
KEY a_key (b, a(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ();
|
|
ALTER TABLE t1 MODIFY a text DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-23245 Still getting assertion failure in file data0type.cc line 67
|
|
#
|
|
CREATE TABLE Foo
|
|
(
|
|
Bar char(2) CHARACTER SET utf8,
|
|
KEY Bar (Bar(1))
|
|
) ENGINE = InnoDB;
|
|
ALTER TABLE Foo MODIFY Bar char(2) CHARACTER SET utf8mb4;
|
|
INSERT INTO Foo VALUES ('a');
|
|
DROP TABLE Foo;
|
|
CREATE TABLE Foo
|
|
(
|
|
Bar varchar(2) CHARACTER SET utf8,
|
|
KEY Bar (Bar(1))
|
|
) ENGINE = InnoDB;
|
|
ALTER TABLE Foo MODIFY Bar varchar(2) CHARACTER SET utf8mb4;
|
|
INSERT INTO Foo VALUES ('a');
|
|
DROP TABLE Foo;
|
|
CREATE TABLE Foo
|
|
(
|
|
Bar text CHARACTER SET utf8,
|
|
KEY Bar (Bar(1))
|
|
) ENGINE = InnoDB;
|
|
ALTER TABLE Foo MODIFY Bar text CHARACTER SET utf8mb4;
|
|
INSERT INTO Foo VALUES ('a');
|
|
DROP TABLE Foo;
|
|
CREATE TABLE t1 (a VARCHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
|
|
PRIMARY KEY (a(1)))
|
|
ENGINE=InnoDB;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varchar(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`a`(1))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
ALTER TABLE t1 MODIFY a VARCHAR(2)
|
|
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
INSERT INTO t1 VALUES ('a');
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-22775 [HY000][1553] Changing name of primary key column with foreign key constraint fails.
|
|
#
|
|
create table t1 (id int primary key) engine=innodb default charset=utf8;
|
|
create table t2 (input_id int primary key, id int not null,
|
|
key a (id),
|
|
constraint a foreign key (id) references t1 (id)
|
|
)engine=innodb default charset=utf8;
|
|
alter table t1 change id id2 int;
|
|
drop table t2;
|
|
drop table t1;
|
|
#
|
|
# MDEV-25951 MariaDB crash after ALTER TABLE convert to utf8mb4
|
|
#
|
|
CREATE TABLE t1 (id INT PRIMARY KEY, a VARCHAR(32), KEY (a(7))) ENGINE=INNODB DEFAULT CHARSET=UTF8;
|
|
INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
|
|
ALTER TABLE t1
|
|
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
|
|
ADD UNIQUE INDEX test_key (a);
|
|
ERROR 23000: Duplicate entry 'a1' for key 'test_key'
|
|
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
|
|
CHECK TABLE t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
SELECT * FROM t1;
|
|
id a
|
|
1 a1
|
|
2 a1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (id INT PRIMARY KEY, a CHAR(32), KEY (a(7))) ENGINE=INNODB DEFAULT CHARSET=UTF8;
|
|
INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
|
|
ALTER TABLE t1
|
|
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
|
|
ADD UNIQUE INDEX test_key (a);
|
|
ERROR 23000: Duplicate entry 'a1' for key 'test_key'
|
|
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
|
|
CHECK TABLE t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
SELECT * FROM t1;
|
|
id a
|
|
1 a1
|
|
2 a1
|
|
DROP TABLE t1;
|