WL#10418: Change memcached tests to run with new default charset

Affects: Server-8.0   —   Status: Complete   —   Priority: Medium

WL#9125 added a new utf8mb4 collation, utf8mb4_800_ci_ai, which implemented the latest UCA (Unicode Collation Algorithm), UCA8.0.0. MySQL will use utf8mb4 as the new default character set. Most of the existing test cases assume the default character set is latin1 and default collation is latin1_swedish_ci. These tests either need to be recorded again or modified accordingly to run with the new default value, or made to run with latin1 if they cannot run with utf8mb4.

User Documentation

Work was done for test suite. No user documentation required.

9 tests will get a preamble like this to run with latin1

########################################
##### WL#7554 Force schema `test` to character set latin1
##### This test should be migrated to utf8mb4
--disable_query_log
let $testdbcsNN=`select default_character_set_name from
information_schema.schemata where schema_name='test'`;
drop schema test;
create schema test character set latin1;
use test;
--enable_query_log
########################################

and a postamble like this:

########################################
##### WL#7554 set schema `test` back to what it was
--disable_query_log
drop schema test;
--eval create schema test character set $testdbcsNN;
--enable_query_log
########################################

NN is a unique number that will make tests used recursively work correct.

The list of following tests fail due to result content mismatch in the charset value, which is expected. The result file needs to be updated, after verifying the charset value.

S.No Test name Reason of failure Details
1 memcached.memc224_index_2 Result content mismatch Result recorded
2 memcached.memc225_index_3 Result content mismatch Result recorded
3 memcached.memc229_mdl_2 Result content mismatch Result recorded
4 memcached.memc250_container Result content mismatch Result recorded
5 memcached.memc251_w_batch_6 Result content mismatch Result recorded
6 memcached.memc266_w_batch_4 Result content mismatch Result recorded
7 memcached.memc267_w_batch_5 Result content mismatch Result recorded
8 memcached.memc268_w_batch_7 Result content mismatch Result recorded
9 memcached.memc274_5_tables_uml Result content mismatch Result recorded
10 memcached.memc239_sep_3 Result content mismatch Result recorded
11 memcached.memc286_sdi_create Index column size too large Table created with latin1
12 memcached.memc287_sdi_corruption Result content mismatch Result recorded
13 memcached.memc216_5_utf8 Result content mismatch Result recorded

The remaining tests fail due to other reasons and need to be analyzed further:

S.No Test name Reason of failure Details
1 memcached.rpl_memc271_2 Result content mismatch Fixed with --record