1--echo #
2--echo # Start of ctype_uca_w2.inc
3--echo #
4
5SELECT @@collation_connection;
6
7SELECT ID, SORTLEN, COLLATION_NAME, CHARACTER_SET_NAME
8FROM INFORMATION_SCHEMA.COLLATIONS
9WHERE COLLATION_NAME LIKE @@collation_connection;
10
11--echo #
12--echo # Testing strnxfrm
13--echo #
14
15CREATE TABLE t1 AS SELECT SPACE(3) AS a LIMIT 0;
16SHOW CREATE TABLE t1;
17INSERT INTO t1 VALUES (SPACE(0)),(SPACE(1)),(SPACE(2));
18SELECT HEX(a), HEX(WEIGHT_STRING(a AS CHAR(8))) FROM t1;
19SELECT HEX(a), HEX(WEIGHT_STRING(a AS CHAR(4))) FROM t1;
20SELECT HEX(a), HEX(WEIGHT_STRING(a AS CHAR(4) LEVEL 1)) FROM t1;
21SELECT HEX(a), HEX(WEIGHT_STRING(a AS CHAR(4) LEVEL 2)) FROM t1;
22SELECT HEX(a), HEX(WEIGHT_STRING(a AS CHAR(4) LEVEL 3)) FROM t1;
23DROP TABLE t1;
24
25CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
26SHOW CREATE TABLE t1;
27INSERT INTO t1 VALUES (_ucs2 0x3400);
28INSERT INTO t1 VALUES (_ucs2 0xF001);
29SELECT HEX(CONVERT(a USING ucs2)) AS ucs2, HEX(a), HEX(WEIGHT_STRING(a)) FROM t1;
30DROP TABLE t1;
31
32CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
33SHOW CREATE TABLE t1;
34INSERT INTO t1 VALUES ('A'),('À'),('Á'),('Â'),('Ã'),('Ä'),('Å');
35SELECT a, HEX(WEIGHT_STRING(a LEVEL 2)) FROM t1 ORDER BY a;
36SELECT a, HEX(WEIGHT_STRING(a LEVEL 2)) FROM t1 ORDER BY a DESC;
37
38SET @backup_character_set_connection=@@character_set_connection;
39SET @backup_collation_connection=@@collation_connection;
40
41SET NAMES utf8;
42SET @stmt= CONCAT('ALTER TABLE t1 MODIFY a CHAR(10)' COLLATE utf8_bin,
43                  ' CHARACTER SET ',  @backup_character_set_connection,
44                  ' COLLATE ',  @backup_collation_connection);
45PREPARE stmt FROM @stmt;
46EXECUTE stmt;
47DEALLOCATE PREPARE stmt;
48SET collation_connection=@backup_collation_connection;
49
50SHOW CREATE TABLE t1;
51SELECT a, HEX(WEIGHT_STRING(a LEVEL 2)) FROM t1 ORDER BY a;
52SELECT a, HEX(WEIGHT_STRING(a LEVEL 2)) FROM t1 ORDER BY a DESC;
53DROP TABLE t1;
54
55CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
56SHOW CREATE TABLE t1;
57INSERT INTO t1 VALUES ('cota'),('cote'),('cotz');
58INSERT INTO t1 VALUES ('coté'),('côte'),('côté'),('cotë'),('côtë');
59SELECT * FROM t1 ORDER BY a;
60SELECT * FROM t1 ORDER BY a DESC;
61DROP TABLE t1;
62
63--echo #
64--echo # End of ctype_uca_w2.inc
65--echo #
66