set @sql_mode_saved = @@session.sql_mode; show variables like 'sql_mode'; #set sql mode in no-strict mode set sql_mode = ''; --disable_warnings #for text with different collation create table t1(id int, c1 text)engine=xengine charset=utf8mb4, collate=utf8mb4_0900_ai_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; create table t1(id int, c1 text)engine=xengine charset=utf8mb4, collate=utf8mb4_general_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; create table t1(id int, c1 text)engine=xengine charset=utf8, collate=utf8_general_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; create table t1(id int, c1 text)engine=xengine charset=gbk, collate=gbk_chinese_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; #for blob with different collation drop table t1; create table t1(id int, c1 blob)engine=xengine charset=utf8mb4, collate=utf8mb4_0900_ai_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; create table t1(id int, c1 blob)engine=xengine charset=utf8mb4, collate=utf8mb4_general_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; create table t1(id int, c1 blob)engine=xengine charset=utf8, collate=utf8_general_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; create table t1(id int, c1 blob)engine=xengine charset=gbk, collate=gbk_chinese_ci; insert into t1 values(1, '1111'),(2, NULL); alter table t1 add primary key(c1(4)); alter table t1 add index(id); select * from t1; delete from t1 where id=2; select * from t1; drop table t1; set sql_mode = @sql_mode_saved; --enable_warnings --source suite/xengine/include/check_xengine_log_error.inc