# # Start of 10.2 tests # # # MDEV-10877 xxx_unicode_nopad_ci collations # SET NAMES utf8; SET DEFAULT_STORAGE_ENGINE=MyISAM; # # Start of ctype_pad.inc # # # Unique indexes # CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_nopad_ci'; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(10) NOT NULL, PRIMARY KEY (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_nopad_ci INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM t1 ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; HEX(a) a 6162632020 abc 616263 abc 61202020 a 206120 a 2061 a # # UNION # CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf8_unicode_nopad_ci'; INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; HEX(a) a 2061 a 206120 a 6120 a 61202020 a 616263 abc 61626320 abc 6162632020 abc DROP TABLE t1; DROP TABLE t2; # # DISTINCT, COUNT, MAX # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_nopad_ci'; INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; HEX(a) a 2061 a 206120 a 61 a 612020 a 61202020 a SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; COUNT(DISTINCT a) 5 SELECT HEX(MAX(a)), MAX(a) FROM t1; HEX(MAX(a)) MAX(a) 61202020 a # # GROUP BY # CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf8_unicode_nopad_ci'; INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; HEX(a) cnt 6161 1 61612020 1 6162 2 DROP TABLE t2; # # Weights # SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(10))) 0E33020002000200020002000200020002000200 0E33020902090200020002000200020002000200 02090E3302000200020002000200020002000200 02090E3302090200020002000200020002000200 0E33020902090209020002000200020002000200 DROP TABLE t1; # # IF, CASE, LEAST # SELECT IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad'); IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') nopad SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')); HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) 61626320 SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')); HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) 6162632020 # # Collation mix # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_ci'; INSERT INTO t1 VALUES ('a'),('a '); SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_nopad_ci'; COUNT(*) 1 ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf8_unicode_nopad_ci'; SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 1 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_nopad_ci'; COUNT(*) 1 DROP TABLE t1; # # End of ctype_pad.inc # SET DEFAULT_STORAGE_ENGINE=HEAP; # # Start of ctype_pad.inc # # # Unique indexes # CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_nopad_ci'; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(10) NOT NULL, PRIMARY KEY (`a`) ) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_nopad_ci INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM t1 ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; HEX(a) a 6162632020 abc 616263 abc 61202020 a 206120 a 2061 a # # UNION # CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf8_unicode_nopad_ci'; INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; HEX(a) a 2061 a 206120 a 6120 a 61202020 a 616263 abc 61626320 abc 6162632020 abc DROP TABLE t1; DROP TABLE t2; # # DISTINCT, COUNT, MAX # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_nopad_ci'; INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; HEX(a) a 2061 a 206120 a 61 a 612020 a 61202020 a SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; COUNT(DISTINCT a) 5 SELECT HEX(MAX(a)), MAX(a) FROM t1; HEX(MAX(a)) MAX(a) 61202020 a # # GROUP BY # CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf8_unicode_nopad_ci'; INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; HEX(a) cnt 6161 1 61612020 1 6162 2 DROP TABLE t2; # # Weights # SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(10))) 0E33020002000200020002000200020002000200 0E33020902090200020002000200020002000200 02090E3302000200020002000200020002000200 02090E3302090200020002000200020002000200 0E33020902090209020002000200020002000200 DROP TABLE t1; # # IF, CASE, LEAST # SELECT IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad'); IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') nopad SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')); HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) 61626320 SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')); HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) 6162632020 # # Collation mix # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_ci'; INSERT INTO t1 VALUES ('a'),('a '); SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_nopad_ci'; COUNT(*) 1 ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf8_unicode_nopad_ci'; SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 1 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_nopad_ci'; COUNT(*) 1 DROP TABLE t1; # # End of ctype_pad.inc # SET DEFAULT_STORAGE_ENGINE=Default; SET DEFAULT_STORAGE_ENGINE=MyISAM; # # Start of ctype_pad.inc # # # Unique indexes # CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_520_nopad_ci'; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(10) NOT NULL, PRIMARY KEY (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_520_nopad_ci INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM t1 ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; HEX(a) a 6162632020 abc 616263 abc 61202020 a 206120 a 2061 a # # UNION # CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf8_unicode_520_nopad_ci'; INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; HEX(a) a 2061 a 206120 a 6120 a 61202020 a 616263 abc 61626320 abc 6162632020 abc DROP TABLE t1; DROP TABLE t2; # # DISTINCT, COUNT, MAX # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_520_nopad_ci'; INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; HEX(a) a 2061 a 206120 a 61 a 612020 a 61202020 a SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; COUNT(DISTINCT a) 5 SELECT HEX(MAX(a)), MAX(a) FROM t1; HEX(MAX(a)) MAX(a) 61202020 a # # GROUP BY # CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf8_unicode_520_nopad_ci'; INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; HEX(a) cnt 6161 1 61612020 1 6162 2 DROP TABLE t2; # # Weights # SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(10))) 120F020002000200020002000200020002000200 120F020A020A0200020002000200020002000200 020A120F02000200020002000200020002000200 020A120F020A0200020002000200020002000200 120F020A020A020A020002000200020002000200 DROP TABLE t1; # # IF, CASE, LEAST # SELECT IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad'); IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') nopad SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')); HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) 61626320 SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')); HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) 6162632020 # # Collation mix # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_520_ci'; INSERT INTO t1 VALUES ('a'),('a '); SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_nopad_ci'; COUNT(*) 1 ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf8_unicode_520_nopad_ci'; SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 1 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_nopad_ci'; COUNT(*) 1 DROP TABLE t1; # # End of ctype_pad.inc # SET DEFAULT_STORAGE_ENGINE=HEAP; # # Start of ctype_pad.inc # # # Unique indexes # CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_520_nopad_ci'; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(10) NOT NULL, PRIMARY KEY (`a`) ) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_520_nopad_ci INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM t1 ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; HEX(a) a 2061 a 206120 a 61202020 a 616263 abc 6162632020 abc SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; HEX(a) a 6162632020 abc 616263 abc 61202020 a 206120 a 2061 a # # UNION # CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf8_unicode_520_nopad_ci'; INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; HEX(a) a 2061 a 206120 a 6120 a 61202020 a 616263 abc 61626320 abc 6162632020 abc DROP TABLE t1; DROP TABLE t2; # # DISTINCT, COUNT, MAX # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_520_nopad_ci'; INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; HEX(a) a 2061 a 206120 a 61 a 612020 a 61202020 a SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; COUNT(DISTINCT a) 5 SELECT HEX(MAX(a)), MAX(a) FROM t1; HEX(MAX(a)) MAX(a) 61202020 a # # GROUP BY # CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf8_unicode_520_nopad_ci'; INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; HEX(a) cnt 6161 1 61612020 1 6162 2 DROP TABLE t2; # # Weights # SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(10))) 120F020002000200020002000200020002000200 120F020A020A0200020002000200020002000200 020A120F02000200020002000200020002000200 020A120F020A0200020002000200020002000200 120F020A020A020A020002000200020002000200 DROP TABLE t1; # # IF, CASE, LEAST # SELECT IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad'); IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') nopad SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END nopad SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')); HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) 61626320 SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')); HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) 6162632020 # # Collation mix # CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf8_unicode_520_ci'; INSERT INTO t1 VALUES ('a'),('a '); SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_nopad_ci'; COUNT(*) 1 ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf8_unicode_520_nopad_ci'; SELECT COUNT(*) FROM t1 WHERE a='a'; COUNT(*) 1 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_ci'; COUNT(*) 2 SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf8_unicode_520_nopad_ci'; COUNT(*) 1 DROP TABLE t1; # # End of ctype_pad.inc # SET DEFAULT_STORAGE_ENGINE=Default; SET NAMES utf8 COLLATE utf8_unicode_nopad_ci; # # MDEV-14350 Index use with collation utf8mb4_unicode_nopad_ci on LIKE pattern with wrong results # CREATE OR REPLACE TABLE t1 AS SELECT SPACE(50) AS a, SPACE (50) AS b; ALTER TABLE t1 ADD KEY(a), ADD KEY(b); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, `b` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, KEY `a` (`a`), KEY `b` (`b`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('111', '111'); INSERT INTO t1 VALUES ('222', '222'); INSERT INTO t1 VALUES ('333', '333'); INSERT INTO t1 VALUES ('444', '444'); SELECT * FROM t1 WHERE a LIKE '111%'; a b 111 111 SELECT * FROM t1 IGNORE INDEX (a) WHERE a LIKE '111%'; a b 111 111 DROP TABLE t1; # # End of 10.2 tests # # # Start of 10.3 tests # # # MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8 # SET NAMES utf8mb3 COLLATE utf8mb3_unicode_ci /*Unicode-4.0 folding*/; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A C8BA C8BA Ⱥ 23E C8BE C8BE Ⱦ 23F C8BF C8BF ȿ 240 C980 C980 ɀ 250 C990 C990 ɐ 251 C991 C991 ɑ 252 C992 C992 ɒ 26B C9AB C9AB ɫ 271 C9B1 C9B1 ɱ 27D C9BD C9BD ɽ 49 69 49 I 69 69 49 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B0AF E2B0AF Ⱟ 2C5F E2B19F E2B19F ⱟ A7C0 EA9F80 EA9F80 Ꟁ A7C1 EA9F81 EA9F81 ꟁ DROP TABLE case_folding; SET NAMES utf8mb3 COLLATE utf8mb3_turkish_ci /*Unicode-4.0 folding, with Turkish mapping for I */; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_turkish_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A C8BA C8BA Ⱥ 23E C8BE C8BE Ⱦ 23F C8BF C8BF ȿ 240 C980 C980 ɀ 250 C990 C990 ɐ 251 C991 C991 ɑ 252 C992 C992 ɒ 26B C9AB C9AB ɫ 271 C9B1 C9B1 ɱ 27D C9BD C9BD ɽ 49 C4B1 49 I 69 69 C4B0 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B0AF E2B0AF Ⱟ 2C5F E2B19F E2B19F ⱟ A7C0 EA9F80 EA9F80 Ꟁ A7C1 EA9F81 EA9F81 ꟁ DROP TABLE case_folding; SET NAMES utf8mb3 COLLATE utf8mb3_unicode_520_ci; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_520_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A E2B1A5 C8BA Ⱥ 23E E2B1A6 C8BE Ⱦ 23F C8BF E2B1BE ȿ 240 C980 E2B1BF ɀ 250 C990 E2B1AF ɐ 251 C991 E2B1AD ɑ 252 C992 E2B1B0 ɒ 26B C9AB E2B1A2 ɫ 271 C9B1 E2B1AE ɱ 27D C9BD E2B1A4 ɽ 49 69 49 I 69 69 49 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B0AF E2B0AF Ⱟ 2C5F E2B19F E2B19F ⱟ A7C0 EA9F80 EA9F80 Ꟁ A7C1 EA9F81 EA9F81 ꟁ DROP TABLE case_folding; SET NAMES utf8mb3 COLLATE utf8mb3_unicode_520_nopad_ci; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_520_nopad_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A E2B1A5 C8BA Ⱥ 23E E2B1A6 C8BE Ⱦ 23F C8BF E2B1BE ȿ 240 C980 E2B1BF ɀ 250 C990 E2B1AF ɐ 251 C991 E2B1AD ɑ 252 C992 E2B1B0 ɒ 26B C9AB E2B1A2 ɫ 271 C9B1 E2B1AE ɱ 27D C9BD E2B1A4 ɽ 49 69 49 I 69 69 49 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B0AF E2B0AF Ⱟ 2C5F E2B19F E2B19F ⱟ A7C0 EA9F80 EA9F80 Ꟁ A7C1 EA9F81 EA9F81 ꟁ DROP TABLE case_folding; SET NAMES utf8mb3 COLLATE utf8mb3_myanmar_ci; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_myanmar_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A E2B1A5 C8BA Ⱥ 23E E2B1A6 C8BE Ⱦ 23F C8BF E2B1BE ȿ 240 C980 E2B1BF ɀ 250 C990 E2B1AF ɐ 251 C991 E2B1AD ɑ 252 C992 E2B1B0 ɒ 26B C9AB E2B1A2 ɫ 271 C9B1 E2B1AE ɱ 27D C9BD E2B1A4 ɽ 49 69 49 I 69 69 49 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B0AF E2B0AF Ⱟ 2C5F E2B19F E2B19F ⱟ A7C0 EA9F80 EA9F80 Ꟁ A7C1 EA9F81 EA9F81 ꟁ DROP TABLE case_folding; SET NAMES utf8mb3 COLLATE utf8mb3_thai_520_w2; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A E2B1A5 C8BA Ⱥ 23E E2B1A6 C8BE Ⱦ 23F C8BF E2B1BE ȿ 240 C980 E2B1BF ɀ 250 C990 E2B1AF ɐ 251 C991 E2B1AD ɑ 252 C992 E2B1B0 ɒ 26B C9AB E2B1A2 ɫ 271 C9B1 E2B1AE ɱ 27D C9BD E2B1A4 ɽ 49 69 49 I 69 69 49 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B0AF E2B0AF Ⱟ 2C5F E2B19F E2B19F ⱟ A7C0 EA9F80 EA9F80 Ꟁ A7C1 EA9F81 EA9F81 ꟁ DROP TABLE case_folding; # # End of 10.3 tests # # # Start of 10.4 tests # SET DEFAULT_STORAGE_ENGINE=MyISAM; SET NAMES utf8mb3 COLLATE utf8mb3_unicode_nopad_ci; # # MDEV-30034 UNIQUE USING HASH accepts duplicate entries for tricky collations # EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a TEXT COLLATE ,' 'UNIQUE(a(3)))', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; ERROR 23000: Duplicate entry 'ß ' for key 'a' DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a TEXT COLLATE ,' 'UNIQUE(a(3)) USING HASH)', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) USING HASH ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; ERROR 23000: Duplicate entry 'ß ' for key 'a' DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a VARCHAR(2000) COLLATE ,' 'UNIQUE(a(3)))', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; ERROR 23000: Duplicate entry 'ß ' for key 'a' DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a VARCHAR(2000) COLLATE ,' 'UNIQUE(a(3)) USING HASH)', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) USING HASH ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; ERROR 23000: Duplicate entry 'ß ' for key 'a' DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a CHAR(20) COLLATE ,' 'UNIQUE(a(3)))', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a CHAR(20) COLLATE ,' 'UNIQUE(a(3)) USING HASH)', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) USING HASH ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; DROP TABLE t1; SET DEFAULT_STORAGE_ENGINE=HEAP; # # MDEV-30034 UNIQUE USING HASH accepts duplicate entries for tricky collations # EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a VARCHAR(2000) COLLATE ,' 'UNIQUE(a(3)))', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; ERROR 23000: Duplicate entry 'ß ' for key 'a' DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a VARCHAR(2000) COLLATE ,' 'UNIQUE(a(3)) USING HASH)', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) USING HASH ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; ERROR 23000: Duplicate entry 'ß ' for key 'a' DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a CHAR(20) COLLATE ,' 'UNIQUE(a(3)))', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; DROP TABLE t1; EXECUTE IMMEDIATE REPLACE( 'CREATE TABLE t1 ( ' ' a CHAR(20) COLLATE ,' 'UNIQUE(a(3)) USING HASH)', '', @@collation_connection); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(3)) USING HASH ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss '); INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/; DROP TABLE t1; SET DEFAULT_STORAGE_ENGINE=DEFAULT; SET default_storage_engine=MyISAM; # # MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB # SET NAMES utf8mb3; CREATE TABLE t1 (a CHAR(10) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a)); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; CREATE TABLE t1 (a CHAR(10) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a(2))); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(2)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; CREATE TABLE t1 (a CHAR(120) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a)); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; CREATE TABLE t1 (a CHAR(120) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a(100))); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(100)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; # # MDEV-30050 Inconsistent results of DISTINCT with NOPAD # CREATE TABLE t1 (c CHAR(100) COLLATE utf8mb3_unicode_nopad_ci); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c` char(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); SET big_tables=0; Warnings: Warning 1287 '@@big_tables' is deprecated and will be removed in a future release SELECT DISTINCT c FROM t1; c ss ß SET big_tables=1; Warnings: Warning 1287 '@@big_tables' is deprecated and will be removed in a future release SELECT DISTINCT c FROM t1; c ss ß DROP TABLE t1; SET big_tables=DEFAULT; Warnings: Warning 1287 '@@big_tables' is deprecated and will be removed in a future release SET default_storage_engine=MEMORY; # # MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB # SET NAMES utf8mb3; CREATE TABLE t1 (a CHAR(10) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a)); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`) ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; CREATE TABLE t1 (a CHAR(10) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a(2))); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(2)) ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; CREATE TABLE t1 (a CHAR(120) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a)); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`) ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; CREATE TABLE t1 (a CHAR(120) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a(100))); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` char(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL, UNIQUE KEY `a` (`a`(100)) ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); DROP TABLE t1; # # MDEV-30050 Inconsistent results of DISTINCT with NOPAD # CREATE TABLE t1 (c CHAR(100) COLLATE utf8mb3_unicode_nopad_ci); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c` char(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL ) ENGINE=MEMORY DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO t1 VALUES ('ss'),('ß'); SET big_tables=0; Warnings: Warning 1287 '@@big_tables' is deprecated and will be removed in a future release SELECT DISTINCT c FROM t1; c ss ß SET big_tables=1; Warnings: Warning 1287 '@@big_tables' is deprecated and will be removed in a future release SELECT DISTINCT c FROM t1; c ss ß DROP TABLE t1; SET big_tables=DEFAULT; Warnings: Warning 1287 '@@big_tables' is deprecated and will be removed in a future release SET default_storage_engine=DEFAULT; # # End of 10.4 tests # # # Start of 10.10 tests # # # MDEV-27009 Add UCA-14.0.0 collations # Collation IDs in the protocol # SET NAMES utf8mb3; SET @charset=(SELECT @@character_set_client); FOR rec IN (SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY WHERE CHARACTER_SET_NAME=@charset AND COLLATION_NAME RLIKE 'uca1400' ORDER BY ID) DO EXECUTE IMMEDIATE CONCAT('SET NAMES ',@charset,' COLLATE ', rec.COLLATION_NAME); SELECT rec.COLLATION_NAME; END FOR; $$ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 13 Y 0 0 192 rec.COLLATION_NAME uca1400_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 13 Y 0 0 192 rec.COLLATION_NAME uca1400_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 13 Y 0 0 192 rec.COLLATION_NAME uca1400_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 13 Y 0 0 192 rec.COLLATION_NAME uca1400_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 192 rec.COLLATION_NAME uca1400_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 192 rec.COLLATION_NAME uca1400_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 192 rec.COLLATION_NAME uca1400_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 192 rec.COLLATION_NAME uca1400_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 193 rec.COLLATION_NAME uca1400_icelandic_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 194 rec.COLLATION_NAME uca1400_latvian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 195 rec.COLLATION_NAME uca1400_romanian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 196 rec.COLLATION_NAME uca1400_slovenian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 197 rec.COLLATION_NAME uca1400_polish_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 198 rec.COLLATION_NAME uca1400_estonian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 199 rec.COLLATION_NAME uca1400_spanish_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 200 rec.COLLATION_NAME uca1400_swedish_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 201 rec.COLLATION_NAME uca1400_turkish_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 202 rec.COLLATION_NAME uca1400_czech_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 203 rec.COLLATION_NAME uca1400_danish_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 204 rec.COLLATION_NAME uca1400_lithuanian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 20 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 26 Y 0 0 205 rec.COLLATION_NAME uca1400_slovak_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 206 rec.COLLATION_NAME uca1400_spanish2_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 19 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 25 Y 0 0 207 rec.COLLATION_NAME uca1400_roman_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 208 rec.COLLATION_NAME uca1400_persian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 209 rec.COLLATION_NAME uca1400_esperanto_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 23 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 29 Y 0 0 210 rec.COLLATION_NAME uca1400_hungarian_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 211 rec.COLLATION_NAME uca1400_sinhala_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 21 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 27 Y 0 0 212 rec.COLLATION_NAME uca1400_german2_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 24 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 30 Y 0 0 215 rec.COLLATION_NAME uca1400_vietnamese_nopad_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 22 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_as_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_nopad_ai_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_nopad_ai_cs Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_nopad_as_ci Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def COLLATION_NAME rec.COLLATION_NAME 253 192 28 Y 0 0 576 rec.COLLATION_NAME uca1400_croatian_nopad_as_cs # # MDEV-29776 collation_connection and db_collation are too short in mysql.proc and mysql.event # SET NAMES 'utf8mb3' COLLATE 'utf8mb3_uca1400_swedish_nopad_ai_ci'; CREATE FUNCTION f1() RETURNS INT RETURN 1; SELECT length(collation_connection), collation_connection FROM mysql.proc WHERE db='test' AND name='f1'; length(collation_connection) collation_connection 35 utf8mb3_uca1400_swedish_nopad_ai_ci SELECT f1(); f1() 1 DROP FUNCTION f1; SET NAMES utf8mb3; # # End of 10.10 tests # # # Start of 10.10 tests # # # MDEV-30661 UPPER() returns an empty string for U+0251 in uca1400 collations for utf8 # SET NAMES utf8mb3 COLLATE utf8mb3_uca1400_ai_ci; CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0; SHOW CREATE TABLE case_folding; Table Create Table case_folding CREATE TABLE `case_folding` ( `code` int(1) NOT NULL, `c` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_uca1400_ai_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci INSERT INTO case_folding (code) VALUES (0x23A), (0x23E), (0x23F), (0x240), (0x250), (0x251), (0x252), (0x26B), (0x271), (0x27D); INSERT INTO case_folding (code) VALUES (0x0049) /* LATIN CAPITAL LETTER I */, (0x0069) /* LATIN SMALL LETTER I */, (0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */, (0x0131) /* LATIN SMALL LETTER DOTLESS I */ ; INSERT INTO case_folding (code) VALUES (0x2C2F) /* GLAGOLITIC CAPITAL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0x2C5F) /* GLAGOLITIC SMALL LETTER CAUDATE CHRIVI (Unicode-14.0) */, (0xA7C0) /* LATIN CAPITAL LETTER OLD POLISH O (Unicode-14.0) */, (0xA7C1) /* LATIN SMALL LETTER OLD POLISH O (Unicode-14.0) */; UPDATE case_folding SET c=CHAR(code USING ucs2); SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding; HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c 23A E2B1A5 C8BA Ⱥ 23E E2B1A6 C8BE Ⱦ 23F C8BF E2B1BE ȿ 240 C980 E2B1BF ɀ 250 C990 E2B1AF ɐ 251 C991 E2B1AD ɑ 252 C992 E2B1B0 ɒ 26B C9AB E2B1A2 ɫ 271 C9B1 E2B1AE ɱ 27D C9BD E2B1A4 ɽ 49 69 49 I 69 69 49 i 130 69 C4B0 İ 131 C4B1 49 ı 2C2F E2B19F E2B0AF Ⱟ 2C5F E2B19F E2B0AF ⱟ A7C0 EA9F81 EA9F80 Ꟁ A7C1 EA9F81 EA9F80 ꟁ DROP TABLE case_folding; # # End of 10.10 tests #