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