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