1--echo #
2--echo # Start of ctype_thai.inc
3--echo #
4
5#
6# Test Unicode Thai collations based on libthai testcases
7#
8
9CREATE TABLE t1 (a VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_bin);
10
11INSERT INTO t1 VALUES ('-กระแย่ง');
12INSERT INTO t1 VALUES ('กก');
13INSERT INTO t1 VALUES ('กราบ');
14INSERT INTO t1 VALUES ('ข่าง');
15INSERT INTO t1 VALUES ('ข้าง');
16INSERT INTO t1 VALUES ('ข้างกระดาน');
17INSERT INTO t1 VALUES ('ข้างขึ้น');
18INSERT INTO t1 VALUES ('ข้างควาย');
19INSERT INTO t1 VALUES ('ข้างเงิน');
20INSERT INTO t1 VALUES ('ข้างแรม');
21INSERT INTO t1 VALUES ('ข้างออก');
22INSERT INTO t1 VALUES ('ข้างๆ');
23INSERT INTO t1 VALUES ('ข้างๆ คูๆ');
24INSERT INTO t1 VALUES ('ขาง');
25INSERT INTO t1 VALUES ('แข็ง');
26INSERT INTO t1 VALUES ('แข่ง');
27INSERT INTO t1 VALUES ('แข่งขัน');
28INSERT INTO t1 VALUES ('แข้ง');
29INSERT INTO t1 VALUES ('แข้งขวา');
30INSERT INTO t1 VALUES ('แข็งขัน');
31INSERT INTO t1 VALUES ('ทูลเกล้า');
32INSERT INTO t1 VALUES ('ทูลเกล้าทูลกระหม่อม');
33INSERT INTO t1 VALUES ('ทูลเกล้าฯ');
34INSERT INTO t1 VALUES ('บุญญา');
35INSERT INTO t1 VALUES ('บุญ-หลง');
36INSERT INTO t1 VALUES ('บุญหลง');
37INSERT INTO t1 VALUES ('ป่า');
38INSERT INTO t1 VALUES ('ป่าน');
39INSERT INTO t1 VALUES ('ป้า');
40INSERT INTO t1 VALUES ('ป้าน');
41INSERT INTO t1 VALUES ('ป๊า');
42INSERT INTO t1 VALUES ('ป๊าน');
43INSERT INTO t1 VALUES ('ป๋า');
44INSERT INTO t1 VALUES ('ป๋าน');
45INSERT INTO t1 VALUES ('ปา');
46INSERT INTO t1 VALUES ('ปาน');
47INSERT INTO t1 VALUES ('แป้ง');
48INSERT INTO t1 VALUES ('พณิชย์');
49INSERT INTO t1 VALUES ('ม้า');
50INSERT INTO t1 VALUES ('ฯพณฯ');
51INSERT INTO t1 VALUES ('A');
52INSERT INTO t1 VALUES ('a');
53INSERT INTO t1 VALUES ('a\'');
54INSERT INTO t1 VALUES ('A-');
55INSERT INTO t1 VALUES ('a-');
56INSERT INTO t1 VALUES ('-a');
57INSERT INTO t1 VALUES ('A.');
58INSERT INTO t1 VALUES ('a.');
59INSERT INTO t1 VALUES ('A-1');
60INSERT INTO t1 VALUES ('aa');
61INSERT INTO t1 VALUES ('AA');
62INSERT INTO t1 VALUES ('A.A.');
63INSERT INTO t1 VALUES ('a.a.');
64INSERT INTO t1 VALUES ('AAA');
65INSERT INTO t1 VALUES ('A.A.A.');
66INSERT INTO t1 VALUES ('AAAA');
67INSERT INTO t1 VALUES ('A.A.A.L.');
68INSERT INTO t1 VALUES ('A.A.A.S.');
69INSERT INTO t1 VALUES ('Aachen');
70INSERT INTO t1 VALUES ('A.A.E.');
71INSERT INTO t1 VALUES ('A.Ae.E.');
72INSERT INTO t1 VALUES ('A.A.E.E.');
73INSERT INTO t1 VALUES ('AAES');
74INSERT INTO t1 VALUES ('AAF');
75INSERT INTO t1 VALUES ('A.Agr');
76INSERT INTO t1 VALUES ('aah');
77INSERT INTO t1 VALUES ('@@@@@');
78INSERT INTO t1 VALUES ('0000');
79INSERT INTO t1 VALUES ('9999');
80INSERT INTO t1 VALUES ('Aalborg');
81INSERT INTO t1 VALUES ('aide');
82INSERT INTO t1 VALUES ('air');
83INSERT INTO t1 VALUES ('@@@air');
84INSERT INTO t1 VALUES ('air@@@');
85INSERT INTO t1 VALUES ('C.A.F');
86INSERT INTO t1 VALUES ('Canon');
87INSERT INTO t1 VALUES ('coop');
88INSERT INTO t1 VALUES ('co-op');
89INSERT INTO t1 VALUES ('COOP');
90INSERT INTO t1 VALUES ('CO-OP');
91INSERT INTO t1 VALUES ('Copenhegen');
92INSERT INTO t1 VALUES ('McArthur');
93INSERT INTO t1 VALUES ('Mc Arthur');
94INSERT INTO t1 VALUES ('Mc Mahon');
95INSERT INTO t1 VALUES ('vice-president');
96INSERT INTO t1 VALUES ('vice versa');
97INSERT INTO t1 VALUES ('vice-versa');
98INSERT INTO t1 VALUES ('10 ลิตร');
99INSERT INTO t1 VALUES ('๑๐ ลิตร');
100INSERT INTO t1 VALUES ('10 litre');
101INSERT INTO t1 VALUES ('10 litre (10 ลิตร)');
102INSERT INTO t1 VALUES ('10 ลิตร (10 litre)');
103INSERT INTO t1 VALUES ('10 litre (๑๐ ลิตร)');
104INSERT INTO t1 VALUES ('๑๐ ลิตร (10 litre)');
105INSERT INTO t1 VALUES ('๑๐ ลิตร [10 litre]');
106INSERT INTO t1 VALUES ('๑๐ ลิตร {10 litre}');
107
108# Sort the table according to binary 'a'
109# To avoid problems with unpredictable order or 'AA' and 'aa'
110ALTER TABLE t1 ORDER BY a;
111
112SET @backup_character_set_connection=@@character_set_connection;
113SET @backup_collation_connection=@@collation_connection;
114SET NAMES utf8;
115SET @stmt= CONCAT('ALTER TABLE t1 MODIFY a VARCHAR(30)',
116                  ' CHARACTER SET ', @backup_character_set_connection,
117                  ' COLLATE ', @backup_collation_connection,
118                  ' , ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY'
119                  ' , ADD KEY a_id (a, id)');
120PREPARE stmt FROM @stmt;
121EXECUTE stmt;
122DEALLOCATE PREPARE stmt;
123SET collation_connection=@backup_collation_connection;
124
125SHOW CREATE TABLE t1;
126
127--echo #
128--echo # Ascending sort, using filesort
129--echo #
130EXPLAIN SELECT a FROM t1 ORDER BY a, BINARY a;
131SELECT a FROM t1 ORDER BY a, BINARY a;
132
133--echo #
134--echo # Descending sort, using filesort
135--echo #
136EXPLAIN SELECT a FROM t1 ORDER BY a DESC, BINARY a DESC;
137SELECT a FROM t1 ORDER BY a DESC, BINARY a DESC;
138
139
140--echo #
141--echo # Ascending sort, using index
142--echo #
143EXPLAIN SELECT a FROM t1 ORDER BY a, id;
144SELECT a FROM t1 ORDER BY a, id;
145
146--echo #
147--echo # Descending sort, using index
148--echo #
149EXPLAIN SELECT a FROM t1 ORDER BY a DESC, id DESC;
150SELECT a FROM t1 ORDER BY a DESC, id DESC;
151
152DROP TABLE t1;
153
154--echo #
155--echo # End of ctype_thai.inc
156--echo #
157