#
# 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') as exp;
exp
nopad
SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc  ')) as exp;
exp
61626320
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc  ')) as exp;
exp
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') as exp;
exp
nopad
SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc  ')) as exp;
exp
61626320
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc  ')) as exp;
exp
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') as exp;
exp
nopad
SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc  ')) as exp;
exp
61626320
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc  ')) as exp;
exp
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') as exp;
exp
nopad
SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
exp
nopad
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc  ')) as exp;
exp
61626320
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc  ')) as exp;
exp
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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)))',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)) USING HASH)',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)))',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)) USING HASH)',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)))',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)) USING HASH)',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)))',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)) USING HASH)',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)))',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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 <COLLATION>,'
  'UNIQUE(a(3)) USING HASH)',
'<COLLATION>', @@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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
INSERT INTO t1 VALUES ('ss'),('ß');
SELECT DISTINCT c FROM t1;
c
ss
ß
set statement tmp_memory_table_size=0 for
SELECT DISTINCT c FROM t1;
c
ss
ß
DROP TABLE t1;
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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
INSERT INTO t1 VALUES ('ss'),('ß');
SELECT DISTINCT c FROM t1;
c
ss
ß
set statement tmp_memory_table_size=0 for
SELECT DISTINCT c FROM t1;
c
ss
ß
DROP TABLE t1;
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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_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
#
