1 2-- source include/not_embedded.inc 3 4--echo # 5--echo # WL#7755 mysqlpump: Extend mysqldump functionalities 6--echo # 7 8if (`SELECT $PS_PROTOCOL = 1`) 9{ 10 --skip Not with ps-protocol 11} 12 13# 14# Check all charsets/collation combinations 15# 16 17let $check_std_csets= 1; 18if ($check_std_csets) 19{ 20 21# single byte 8 bit encoding charset 22# cp1251 23 24let $cset= cp1251; 25let $coll= cp1251_bin; 26--source include/check_charset.inc 27 28# variable width multi byte encoding charset 29# euckr 30 31let $cset= euckr; 32let $coll= euckr_bin; 33--source include/check_charset.inc 34 35# eucjpms 36 37let $cset= eucjpms; 38let $coll= eucjpms_bin; 39--source include/check_charset.inc 40 41# gb18030 42 43let $cset= gb18030; 44let $coll= gb18030_bin; 45--source include/check_charset.inc 46 47let $cset= cp932; 48let $coll= cp932_bin; 49--source include/check_charset.inc 50 51} 52 53let $check_std_csets= 0; 54let $check_ucs2_csets=1; 55if ($check_ucs2_csets) 56{ 57 58# ucs2 59 60let $cset= ucs2; 61let $coll= ucs2_bin; 62--source include/check_charset.inc 63 64let $cset= ucs2; 65let $coll= ucs2_unicode_ci; 66--source include/check_charset.inc 67 68} 69 70let $check_std_csets= 0; 71let $check_ucs2_csets= 0; 72let $check_utf8_csets= 1; 73 74if ($check_utf8_csets) 75{ 76 77# utf8 78 79let $cset= utf8; 80let $coll= utf8_bin; 81--source include/check_charset.inc 82 83let $cset= utf8; 84let $coll= utf8_unicode_ci; 85--source include/check_charset.inc 86 87} 88 89# 90# Test for non ascii characters for object names 91# 92 93let $check_std_csets= 0; 94let $check_ucs2_csets= 0; 95let $check_utf8_csets= 0; 96let $check_for_object_names=1; 97if ($check_for_object_names) 98{ 99 100# cp1251 101 102let $cset= cp1251; 103let $coll= cp1251_bulgarian_ci; 104--source include/check_charset.inc 105 106# euckr 107 108let $cset= euckr; 109let $coll= euckr_korean_ci; 110--source include/check_charset.inc 111 112# gb18030 113let $cset= gb18030; 114let $coll= gb18030_bin; 115--source include/check_charset.inc 116 117# ujis 118 119let $cset= ujis; 120let $coll= ujis_japanese_ci; 121--source include/check_charset.inc 122 123# sjis 124 125let $cset= sjis; 126let $coll= sjis_japanese_ci; 127--source include/check_charset.inc 128 129} 130 131# Misc tests 132 133CREATE DATABASE db1_charset; 134USE db1_charset; 135 136CREATE TABLE t_latin1(c CHAR(40)) ENGINE=InnoDB DEFAULT CHARSET=latin1; 137INSERT INTO t_latin1 VALUES ('aaa'), ('ÁÂÃÄ'); 138INSERT INTO t_latin1 VALUES (_latin1'ςσ'); 139 140CREATE TABLE t_utf8(c CHAR(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8; 141INSERT INTO t_utf8 VALUES ('aaa'), ('ÁÂÃÄ'); 142 143CREATE TABLE t_koi8r (c1 VARBINARY(255), c2 VARBINARY(255)); 144SET CHARACTER_SET_CLIENT=koi8r, 145 CHARACTER_SET_CONNECTION=cp1251, 146 CHARACTER_SET_RESULTS=koi8r; 147INSERT INTO t_koi8r (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ'); 148 149SET NAMES UTF8; 150SELECT * FROM t_latin1 ORDER BY 1; 151SELECT * FROM t_utf8 ORDER BY 1; 152SELECT hex(c1), hex(c2) from t_koi8r; 153 154--exec $MYSQL_PUMP --databases db1_charset > $MYSQLTEST_VARDIR/tmp/db1_charset.sql 155DROP DATABASE db1_charset; 156CREATE DATABASE db1_charset; 157--exec $MYSQL db1_charset < $MYSQLTEST_VARDIR/tmp/db1_charset.sql 158--remove_file $MYSQLTEST_VARDIR/tmp/db1_charset.sql 159 160USE db1_charset; 161SET NAMES UTF8; 162SELECT * FROM t_latin1 ORDER BY 1; 163SELECT * FROM t_utf8 ORDER BY 1; 164SELECT hex(c1), hex(c2) FROM t_koi8r ORDER BY 1; 165DROP DATABASE db1_charset; 166 167 168CREATE DATABASE db1_charset; 169USE db1_charset; 170CREATE TABLE t_allcharsets 171 (ucs2 CHAR(40) character set ucs2, 172 utf8 CHAR(40) character set utf8, 173 big5 CHAR(40) character set big5, 174 cp932 CHAR(40) character set cp932, 175 eucjpms CHAR(40) character set eucjpms, 176 euckr CHAR(40) character set euckr, 177 gb2312 CHAR(40) character set gb2312, 178 gbk CHAR(40) character set gbk, 179 sjis CHAR(40) character set sjis, 180 ujis CHAR(40) character set ujis); 181 182INSERT INTO t_allcharsets (ucs2) VALUES (0x30da); 183 184UPDATE t_allcharsets 185 SET utf8=ucs2, 186 big5=ucs2, 187 cp932=ucs2, 188 eucjpms=ucs2, 189 euckr=ucs2, 190 gb2312=ucs2, 191 gbk=ucs2, 192 sjis=ucs2, 193 ujis=ucs2; 194 195SELECT * FROM t_allcharsets; 196 197--exec $MYSQL_PUMP --databases db1_charset > $MYSQLTEST_VARDIR/tmp/db1_charset.sql 198DROP DATABASE db1_charset; 199--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/db1_charset.sql 200--remove_file $MYSQLTEST_VARDIR/tmp/db1_charset.sql 201 202USE db1_charset; 203SELECT * FROM t_allcharsets; 204DROP DATABASE db1_charset; 205