WL#7122: FIX CTYPE_* TEST SO AS TO RUN WITH DEFAULT ENGINE INNODB
Status: Complete
ctype_* tests are failing when run with default engine innodb. Following are
tests which can be fixed easily as they have result difference and/or warning
which are expected ( and can be suppressed, by adding commands)
ctype_big5
ctype_gb2312
ctype_gbk
ctype_utf8mb4_heap
ctype_utf8mb4_myisam
ctype_tis620
ctype_ujis
example :
*****difference in default engine value for show create table.
-) ENGINE=MyISAM DEFAULT CHARSET=big5
+) ENGINE=InnoDB DEFAULT CHARSET=big5
*****warning which can be suppressed by setting appropriate innodb variable.
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires
innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
Some inc files are changed for it
include/ctype_regex.inc
include/ctype_like_escape.inc
include/ctype_common.inc
Due to change in include file , some dependent test may need slight modification
in result
adjusted.(ctype_uca.result,ctype_ucs.result,ctype_utf16le.result,ctype_utf16.r
esult,ctype_utf16_uca.result,ctype_utf32.result,ctype_utf32_uca.result,ctype_u
tf8mb4.result,ctype_utf8.result,func_regexp.result)
Run command to see above test failure:
-------------
./mtr --mem --suite=main --mysqld=--default-storage-engine=innodb
*****difference in default engine value for show create table.
-) ENGINE=MyISAM DEFAULT CHARSET=big5
+) ENGINE=InnoDB DEFAULT CHARSET=big5
*****warning which can be suppressed by setting appropriate innodb variable.
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires
innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
Above can be worked by
-------------
Use following for engine difference :
--disable_query_log
let $default_engine = `select @@SESSION.default_storage_engine`;
--enable_query_log
--replace_result $default_engine default_engine
for warning :
--disable_query_log
let $format = `select @@innodb_file_format`;
set global innodb_file_format=`Barracuda`;
--enable_query_log
Copyright (c) 2000, 2025, Oracle Corporation and/or its affiliates. All rights reserved.