mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / jp / t / jp_ps_sjis.test
blob123ac904e5071ca9ebc6c0581025dded06a2faa4
1 --source include/have_sjis.inc
2 --source include/have_innodb.inc
4 --character_set sjis
5 --disable_warnings
6 DROP TABLE IF EXISTS t1;
7 DROP TABLE IF EXISTS t2;
8 DROP TABLE IF EXISTS t3;
9 DROP TABLE IF EXISTS t4;
10 --enable_warnings
13 # Test Prepares Statement with Japanese character in sjis encoding
16 SET NAMES sjis;
17 SET character_set_database = sjis;
19 ### Test InnoDB ###
20 CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = sjis ENGINE = InnoDB;
21 CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = sjis ENGINE = InnoDB;
22 CREATE TABLE t3(
23  `±`  char(1),
24  `‚ ` char(1),
25  `•\` char(1)
26 )DEFAULT CHARSET = sjis ENGINE = InnoDB;
27 CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = sjis ENGINE = InnoDB;
29 INSERT INTO t1 VALUES ('xxx');
30 INSERT INTO t2 VALUES ('±‚ •\');
31 INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
32 INSERT INTO t4 VALUES ('±'),('‚ '),('•\');
34 # Japanese parameter for column name
35 # the parameter for stmt is not interpreted as column name
36 PREPARE stmt1 FROM 'SELECT ? FROM t3';
37 PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
38 PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
39 # Japanese parameter for function argument
40 PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
41 PREPARE stmt5 FROM 'SELECT CHARSET(?)';
42 PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
43 PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
44 PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
45 PREPARE stmt9 FROM 'SELECT LPAD(c1,10,?) FROM t1';
46 PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
47 PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
48 PREPARE stmt12 FROM 'SELECT RPAD(c1,10,?) FROM t1';
49 # Japanese parameter for UPDATE
50 PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
51 PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
53 ## Test jisx0201 ##
54 SET @arg = '±';
55 EXECUTE stmt1 USING @arg;
56 EXECUTE stmt2 USING @arg;
57 EXECUTE stmt3 USING @arg;
58 EXECUTE stmt4 USING @arg;
59 EXECUTE stmt5 USING @arg;
60 EXECUTE stmt6 USING @arg;
61 EXECUTE stmt7 USING @arg;
62 EXECUTE stmt8 USING @arg;
63 EXECUTE stmt9 USING @arg;
64 EXECUTE stmt10 USING @arg;
65 EXECUTE stmt11 USING @arg;
66 EXECUTE stmt12 USING @arg;
67 EXECUTE stmt13 USING @arg;
68 SELECT * FROM t4;
69 EXECUTE stmt14 USING @arg;
70 SELECT * FROM t4;
72 ## Test jisx0208 ##
73 SET @arg = '‚ ';
74 EXECUTE stmt1 USING @arg;
75 EXECUTE stmt2 USING @arg;
76 EXECUTE stmt3 USING @arg;
77 EXECUTE stmt4 USING @arg;
78 EXECUTE stmt5 USING @arg;
79 EXECUTE stmt6 USING @arg;
80 EXECUTE stmt7 USING @arg;
81 EXECUTE stmt8 USING @arg;
82 EXECUTE stmt9 USING @arg;
83 EXECUTE stmt10 USING @arg;
84 EXECUTE stmt11 USING @arg;
85 EXECUTE stmt12 USING @arg;
86 EXECUTE stmt13 USING @arg;
87 SELECT * FROM t4;
88 EXECUTE stmt14 USING @arg;
89 SELECT * FROM t4;
91 # Test jisx0212 ##
92 SET @arg = '•\';
93 EXECUTE stmt1 USING @arg;
94 EXECUTE stmt2 USING @arg;
95 EXECUTE stmt3 USING @arg;
96 EXECUTE stmt4 USING @arg;
97 EXECUTE stmt5 USING @arg;
98 EXECUTE stmt6 USING @arg;
99 EXECUTE stmt7 USING @arg;
100 EXECUTE stmt8 USING @arg;
101 EXECUTE stmt9 USING @arg;
102 EXECUTE stmt10 USING @arg;
103 EXECUTE stmt11 USING @arg;
104 EXECUTE stmt12 USING @arg;
105 EXECUTE stmt13 USING @arg;
106 SELECT * FROM t4;
107 EXECUTE stmt14 USING @arg;
108 SELECT * FROM t4;
110 DEALLOCATE PREPARE stmt1;
111 DEALLOCATE PREPARE stmt2;
112 DEALLOCATE PREPARE stmt3;
113 DEALLOCATE PREPARE stmt4;
114 DEALLOCATE PREPARE stmt5;
115 DEALLOCATE PREPARE stmt6;
116 DEALLOCATE PREPARE stmt7;
117 DEALLOCATE PREPARE stmt8;
118 DEALLOCATE PREPARE stmt9;
119 DEALLOCATE PREPARE stmt10;
120 DEALLOCATE PREPARE stmt11;
121 DEALLOCATE PREPARE stmt12;
122 DEALLOCATE PREPARE stmt13;
123 DEALLOCATE PREPARE stmt14;
125 DROP TABLE t1;
126 DROP TABLE t2;
127 DROP TABLE t3;
128 DROP TABLE t4;
130 ### Test MyISAM ###
131 CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = sjis ENGINE = MyISAM;
132 CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = sjis ENGINE = MyISAM;
133 CREATE TABLE t3(
134  `±` char(1),
135  `‚ ` char(1),
136  `•\` char(1)
137 )DEFAULT CHARSET = sjis ENGINE = MyISAM;
138 CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = sjis ENGINE = MyISAM;
140 INSERT INTO t1 VALUES ('xxx');
141 INSERT INTO t2 VALUES ('±‚ •\');
142 INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
143 INSERT INTO t4 VALUES ('±'),('‚ '),('•\' );
145 # Japanese parameter for column name
146 PREPARE stmt1 FROM 'SELECT ? FROM t3';
147 PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
148 PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
149 # Japanese parameter for function argument
150 PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
151 PREPARE stmt5 FROM 'SELECT CHARSET(?)';
152 PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
153 PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
154 PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
155 PREPARE stmt9 FROM 'SELECT LPAD(c1,10,?) FROM t1';
156 PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
157 PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
158 PREPARE stmt12 FROM 'SELECT RPAD(c1,10,?) FROM t1';
159 # Japanese parameter for UPDATE
160 PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
161 PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
163 ## Test jisx0201 ##
164 SET @arg = '±';
165 EXECUTE stmt1 USING @arg;
166 EXECUTE stmt2 USING @arg;
167 EXECUTE stmt3 USING @arg;
168 EXECUTE stmt4 USING @arg;
169 EXECUTE stmt5 USING @arg;
170 EXECUTE stmt6 USING @arg;
171 EXECUTE stmt7 USING @arg;
172 EXECUTE stmt8 USING @arg;
173 EXECUTE stmt9 USING @arg;
174 EXECUTE stmt10 USING @arg;
175 EXECUTE stmt11 USING @arg;
176 EXECUTE stmt12 USING @arg;
177 EXECUTE stmt13 USING @arg;
178 SELECT * FROM t4;
179 EXECUTE stmt14 USING @arg;
180 SELECT * FROM t4;
182 ## Test jisx0208 ##
183 SET @arg = '‚ ';
184 EXECUTE stmt1 USING @arg;
185 EXECUTE stmt2 USING @arg;
186 EXECUTE stmt3 USING @arg;
187 EXECUTE stmt4 USING @arg;
188 EXECUTE stmt5 USING @arg;
189 EXECUTE stmt6 USING @arg;
190 EXECUTE stmt7 USING @arg;
191 EXECUTE stmt8 USING @arg;
192 EXECUTE stmt9 USING @arg;
193 EXECUTE stmt10 USING @arg;
194 EXECUTE stmt11 USING @arg;
195 EXECUTE stmt12 USING @arg;
196 EXECUTE stmt13 USING @arg;
197 SELECT * FROM t4;
198 EXECUTE stmt14 USING @arg;
199 SELECT * FROM t4;
201 ## Test jisx0212 ##
202 SET @arg = '•\';
203 EXECUTE stmt1 USING @arg;
204 EXECUTE stmt2 USING @arg;
205 EXECUTE stmt3 USING @arg;
206 EXECUTE stmt4 USING @arg;
207 EXECUTE stmt5 USING @arg;
208 EXECUTE stmt6 USING @arg;
209 EXECUTE stmt7 USING @arg;
210 EXECUTE stmt8 USING @arg;
211 EXECUTE stmt9 USING @arg;
212 EXECUTE stmt10 USING @arg;
213 EXECUTE stmt11 USING @arg;
214 EXECUTE stmt12 USING @arg;
215 EXECUTE stmt13 USING @arg;
216 SELECT * FROM t4;
217 EXECUTE stmt14 USING @arg;
218 SELECT * FROM t4;
220 DEALLOCATE PREPARE stmt1;
221 DEALLOCATE PREPARE stmt2;
222 DEALLOCATE PREPARE stmt3;
223 DEALLOCATE PREPARE stmt4;
224 DEALLOCATE PREPARE stmt5;
225 DEALLOCATE PREPARE stmt6;
226 DEALLOCATE PREPARE stmt7;
227 DEALLOCATE PREPARE stmt8;
228 DEALLOCATE PREPARE stmt9;
229 DEALLOCATE PREPARE stmt10;
230 DEALLOCATE PREPARE stmt11;
231 DEALLOCATE PREPARE stmt12;
232 DEALLOCATE PREPARE stmt13;
233 DEALLOCATE PREPARE stmt14;
235 DROP TABLE t1;
236 DROP TABLE t2;
237 DROP TABLE t3;
238 DROP TABLE t4;
240 ### Test MEMORY ###
241 CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = sjis ENGINE = MEMORY;
242 CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = sjis ENGINE = MEMORY;
243 CREATE TABLE t3(
244  `±` char(1),
245  `‚ ` char(1),
246  `•\` char(1)
247 )DEFAULT CHARSET = sjis ENGINE = MEMORY;
248 CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = sjis ENGINE =MEMORY;
250 INSERT INTO t1 VALUES ('xxx');
251 INSERT INTO t2 VALUES ('±‚ •\');
252 INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
253 INSERT INTO t4 VALUES ('±'),('‚ '),('•\' );
255 # Japanese parameter for column name
256 PREPARE stmt1 FROM 'SELECT ? FROM t3';
257 PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
258 PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
259 # Japanese parameter for function argument
260 PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
261 PREPARE stmt5 FROM 'SELECT CHARSET(?)';
262 PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
263 PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
264 PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
265 PREPARE stmt9 FROM 'SELECT LPAD(c1,10,?) FROM t1';
266 PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
267 PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
268 PREPARE stmt12 FROM 'SELECT RPAD(c1,10,?) FROM t1';
269 # Japanese parameter for UPDATE
270 PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
271 PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
273 ## Test jisx0201 ##
274 SET @arg = '±';
275 EXECUTE stmt1 USING @arg;
276 EXECUTE stmt2 USING @arg;
277 EXECUTE stmt3 USING @arg;
278 EXECUTE stmt4 USING @arg;
279 EXECUTE stmt5 USING @arg;
280 EXECUTE stmt6 USING @arg;
281 EXECUTE stmt7 USING @arg;
282 EXECUTE stmt8 USING @arg;
283 EXECUTE stmt9 USING @arg;
284 EXECUTE stmt10 USING @arg;
285 EXECUTE stmt11 USING @arg;
286 EXECUTE stmt12 USING @arg;
287 EXECUTE stmt13 USING @arg;
288 SELECT * FROM t4;
289 EXECUTE stmt14 USING @arg;
290 SELECT * FROM t4;
292 ## Test jisx0208 ##
293 SET @arg = '‚ ';
294 EXECUTE stmt1 USING @arg;
295 EXECUTE stmt2 USING @arg;
296 EXECUTE stmt3 USING @arg;
297 EXECUTE stmt4 USING @arg;
298 EXECUTE stmt5 USING @arg;
299 EXECUTE stmt6 USING @arg;
300 EXECUTE stmt7 USING @arg;
301 EXECUTE stmt8 USING @arg;
302 EXECUTE stmt9 USING @arg;
303 EXECUTE stmt10 USING @arg;
304 EXECUTE stmt11 USING @arg;
305 EXECUTE stmt12 USING @arg;
306 EXECUTE stmt13 USING @arg;
307 SELECT * FROM t4;
308 EXECUTE stmt14 USING @arg;
309 SELECT * FROM t4;
311 ## Test jisx0212 ##
312 SET @arg = '•\';
313 EXECUTE stmt1 USING @arg;
314 EXECUTE stmt2 USING @arg;
315 EXECUTE stmt3 USING @arg;
316 EXECUTE stmt4 USING @arg;
317 EXECUTE stmt5 USING @arg;
318 EXECUTE stmt6 USING @arg;
319 EXECUTE stmt7 USING @arg;
320 EXECUTE stmt8 USING @arg;
321 EXECUTE stmt9 USING @arg;
322 EXECUTE stmt10 USING @arg;
323 EXECUTE stmt11 USING @arg;
324 EXECUTE stmt12 USING @arg;
325 EXECUTE stmt13 USING @arg;
326 SELECT * FROM t4;
327 EXECUTE stmt14 USING @arg;
328 SELECT * FROM t4;
330 DEALLOCATE PREPARE stmt1;
331 DEALLOCATE PREPARE stmt2;
332 DEALLOCATE PREPARE stmt3;
333 DEALLOCATE PREPARE stmt4;
334 DEALLOCATE PREPARE stmt5;
335 DEALLOCATE PREPARE stmt6;
336 DEALLOCATE PREPARE stmt7;
337 DEALLOCATE PREPARE stmt8;
338 DEALLOCATE PREPARE stmt9;
339 DEALLOCATE PREPARE stmt10;
340 DEALLOCATE PREPARE stmt11;
341 DEALLOCATE PREPARE stmt12;
342 DEALLOCATE PREPARE stmt13;
343 DEALLOCATE PREPARE stmt14;
345 DROP TABLE t1;
346 DROP TABLE t2;
347 DROP TABLE t3;
348 DROP TABLE t4;