~stewart/drizzle/embedded-innodb-create-select-transaction-arrgh

« back to all changes in this revision

Viewing changes to mysql-test/r/ctype_ucs.result

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
DROP TABLE IF EXISTS t1;
 
2
SET @test_character_set= 'ucs2';
 
3
SET @test_collation= 'ucs2_general_ci';
 
4
SET @safe_character_set_server= @@character_set_server;
 
5
SET @safe_collation_server= @@collation_server;
 
6
SET @safe_character_set_client= @@character_set_client;
 
7
SET @safe_character_set_results= @@character_set_results;
 
8
SET character_set_server= @test_character_set;
 
9
SET collation_server= @test_collation;
 
10
CREATE DATABASE d1;
 
11
USE d1;
 
12
CREATE TABLE t1 (c CHAR(10), KEY(c));
 
13
SHOW FULL COLUMNS FROM t1;
 
14
Field   Type    Collation       Null    Key     Default Extra   Privileges      Comment
 
15
c       char(10)        ucs2_general_ci YES     MUL     NULL                    
 
16
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
 
17
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
 
18
want3results
 
19
aaa
 
20
aaaa
 
21
aaaaa
 
22
DROP TABLE t1;
 
23
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
 
24
SHOW FULL COLUMNS FROM t1;
 
25
Field   Type    Collation       Null    Key     Default Extra   Privileges      Comment
 
26
c1      varchar(15)     ucs2_general_ci YES     MUL     NULL                    
 
27
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
 
28
SELECT c1 as want3results from t1 where c1 like 'l%';
 
29
want3results
 
30
location
 
31
loberge
 
32
lotre
 
33
SELECT c1 as want3results from t1 where c1 like 'lo%';
 
34
want3results
 
35
location
 
36
loberge
 
37
lotre
 
38
SELECT c1 as want1result  from t1 where c1 like 'loc%';
 
39
want1result
 
40
location
 
41
SELECT c1 as want1result  from t1 where c1 like 'loca%';
 
42
want1result
 
43
location
 
44
SELECT c1 as want1result  from t1 where c1 like 'locat%';
 
45
want1result
 
46
location
 
47
SELECT c1 as want1result  from t1 where c1 like 'locati%';
 
48
want1result
 
49
location
 
50
SELECT c1 as want1result  from t1 where c1 like 'locatio%';
 
51
want1result
 
52
location
 
53
SELECT c1 as want1result  from t1 where c1 like 'location%';
 
54
want1result
 
55
location
 
56
DROP TABLE t1;
 
57
create table t1 (a set('a') not null);
 
58
insert into t1 values (),();
 
59
Warnings:
 
60
Warning 1364    Field 'a' doesn't have a default value
 
61
select cast(a as char(1)) from t1;
 
62
cast(a as char(1))
 
63
 
 
64
 
 
65
select a sounds like a from t1;
 
66
a sounds like a
 
67
1
 
68
1
 
69
select 1 from t1 order by cast(a as char(1));
 
70
1
 
71
1
 
72
1
 
73
drop table t1;
 
74
set names utf8;
 
75
create table t1 (
 
76
name varchar(10),
 
77
level smallint unsigned);
 
78
show create table t1;
 
79
Table   Create Table
 
80
t1      CREATE TABLE `t1` (
 
81
  `name` varchar(10) DEFAULT NULL,
 
82
  `level` smallint(5) unsigned DEFAULT NULL
 
83
) ENGINE=MyISAM DEFAULT CHARSET=ucs2
 
84
insert into t1 values ('string',1);
 
85
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
 
86
concat(name,space(level))       concat(name, repeat(' ',level))
 
87
string  string 
 
88
drop table t1;
 
89
DROP DATABASE d1;
 
90
USE test;
 
91
SET character_set_server= @safe_character_set_server;
 
92
SET collation_server= @safe_collation_server;
 
93
SET character_set_client= @safe_character_set_client;
 
94
SET character_set_results= @safe_character_set_results;
 
95
SET NAMES latin1;
 
96
SET character_set_connection=ucs2;
 
97
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
 
98
'a' = 'a'       'a' = 'a '      'a ' = 'a'
 
99
1       1       1
 
100
select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
 
101
'a\0' = 'a'     'a\0' < 'a'     'a\0' > 'a'
 
102
0       1       0
 
103
select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
 
104
'a' = 'a\0'     'a' < 'a\0'     'a' > 'a\0'
 
105
0       0       1
 
106
select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
 
107
'a\0' = 'a '    'a\0' < 'a '    'a\0' > 'a '
 
108
0       1       0
 
109
select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
 
110
'a ' = 'a\0'    'a ' < 'a\0'    'a ' > 'a\0'
 
111
0       0       1
 
112
select 'a  a' > 'a', 'a  \0' < 'a';
 
113
'a  a' > 'a'    'a  \0' < 'a'
 
114
1       1
 
115
select binary 'a  a' > 'a', binary 'a  \0' > 'a', binary 'a\0' > 'a';
 
116
binary 'a  a' > 'a'     binary 'a  \0' > 'a'    binary 'a\0' > 'a'
 
117
1       1       1
 
118
SET CHARACTER SET koi8r;
 
119
CREATE TABLE t1 (word VARCHAR(64) CHARACTER SET ucs2, word2 CHAR(64) CHARACTER SET ucs2);
 
120
INSERT INTO t1 VALUES (_koi8r'ďż˝',_koi8r'ďż˝'), (X'2004',X'2004');
 
121
SELECT hex(word) FROM t1 ORDER BY word;
 
122
hex(word)
 
123
0420
 
124
2004
 
125
SELECT hex(word2) FROM t1 ORDER BY word2;
 
126
hex(word2)
 
127
0420
 
128
2004
 
129
DELETE FROM t1;
 
130
INSERT INTO t1 VALUES (X'042000200020',X'042000200020'), (X'200400200020', X'200400200020');
 
131
SELECT hex(word) FROM t1 ORDER BY word;
 
132
hex(word)
 
133
042000200020
 
134
200400200020
 
135
SELECT hex(word2) FROM t1 ORDER BY word2;
 
136
hex(word2)
 
137
0420
 
138
2004
 
139
DROP TABLE t1;
 
140
SELECT LPAD(_ucs2 X'0420',10,_ucs2 X'0421');
 
141
LPAD(_ucs2 X'0420',10,_ucs2 X'0421')
 
142
����������
 
143
SELECT LPAD(_ucs2 X'0420',10,_ucs2 X'04210422');
 
144
LPAD(_ucs2 X'0420',10,_ucs2 X'04210422')
 
145
����������
 
146
SELECT LPAD(_ucs2 X'0420',10,_ucs2 X'042104220423');
 
147
LPAD(_ucs2 X'0420',10,_ucs2 X'042104220423')
 
148
����������
 
149
SELECT LPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423');
 
150
LPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423')
 
151
����������
 
152
SELECT RPAD(_ucs2 X'0420',10,_ucs2 X'0421');
 
153
RPAD(_ucs2 X'0420',10,_ucs2 X'0421')
 
154
����������
 
155
SELECT RPAD(_ucs2 X'0420',10,_ucs2 X'04210422');
 
156
RPAD(_ucs2 X'0420',10,_ucs2 X'04210422')
 
157
����������
 
158
SELECT RPAD(_ucs2 X'0420',10,_ucs2 X'042104220423');
 
159
RPAD(_ucs2 X'0420',10,_ucs2 X'042104220423')
 
160
����������
 
161
SELECT RPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423');
 
162
RPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423')
 
163
����������
 
164
CREATE TABLE t1 SELECT 
 
165
LPAD(_ucs2 X'0420',10,_ucs2 X'0421') l,
 
166
RPAD(_ucs2 X'0420',10,_ucs2 X'0421') r;
 
167
SHOW CREATE TABLE t1;
 
168
Table   Create Table
 
169
t1      CREATE TABLE `t1` (
 
170
  `l` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT '',
 
171
  `r` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
 
172
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
173
DROP TABLE t1;
 
174
create table t2(f1 Char(30));
 
175
insert into t2 values ("103000"), ("22720000"), ("3401200"), ("78000");
 
176
select lpad(f1, 12, "-o-/") from t2;
 
177
lpad(f1, 12, "-o-/")
 
178
-o-/-o103000
 
179
-o-/22720000
 
180
-o-/-3401200
 
181
-o-/-o-78000
 
182
drop table t2;
 
183
SET NAMES koi8r;
 
184
SET character_set_connection=ucs2;
 
185
select @@collation_connection;
 
186
@@collation_connection
 
187
ucs2_general_ci
 
188
create table t1 as select repeat(' ',10) as a union select null;
 
189
alter table t1 add key(a);
 
190
show create table t1;
 
191
Table   Create Table
 
192
t1      CREATE TABLE `t1` (
 
193
  `a` varchar(10) CHARACTER SET ucs2 DEFAULT NULL,
 
194
  KEY `a` (`a`)
 
195
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
196
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
 
197
explain select * from t1 where a like 'abc%';
 
198
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
199
1       SIMPLE  t1      range   a       a       23      NULL    1       Using where; Using index
 
200
explain select * from t1 where a like concat('abc','%');
 
201
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
202
1       SIMPLE  t1      range   a       a       23      NULL    1       Using where; Using index
 
203
select * from t1 where a like "abc%";
 
204
a
 
205
abc
 
206
abcd
 
207
select * from t1 where a like concat("abc","%");
 
208
a
 
209
abc
 
210
abcd
 
211
select * from t1 where a like "ABC%";
 
212
a
 
213
abc
 
214
abcd
 
215
select * from t1 where a like "test%";
 
216
a
 
217
test
 
218
select * from t1 where a like "te_t";
 
219
a
 
220
test
 
221
select * from t1 where a like "%a%";
 
222
a
 
223
a
 
224
abc
 
225
abcd
 
226
select * from t1 where a like "%abcd%";
 
227
a
 
228
abcd
 
229
select * from t1 where a like "%abc\d%";
 
230
a
 
231
abcd
 
232
drop table t1;
 
233
select 'AA' like 'AA';
 
234
'AA' like 'AA'
 
235
1
 
236
select 'AA' like 'A%A';
 
237
'AA' like 'A%A'
 
238
1
 
239
select 'AA' like 'A%%A';
 
240
'AA' like 'A%%A'
 
241
1
 
242
select 'AA' like 'AA%';
 
243
'AA' like 'AA%'
 
244
1
 
245
select 'AA' like '%AA%';
 
246
'AA' like '%AA%'
 
247
1
 
248
select 'AA' like '%A';
 
249
'AA' like '%A'
 
250
1
 
251
select 'AA' like '%AA';
 
252
'AA' like '%AA'
 
253
1
 
254
select 'AA' like 'A%A%';
 
255
'AA' like 'A%A%'
 
256
1
 
257
select 'AA' like '_%_%';
 
258
'AA' like '_%_%'
 
259
1
 
260
select 'AA' like '%A%A';
 
261
'AA' like '%A%A'
 
262
1
 
263
select 'AAA'like 'A%A%A';
 
264
'AAA'like 'A%A%A'
 
265
1
 
266
select 'AZ' like 'AZ';
 
267
'AZ' like 'AZ'
 
268
1
 
269
select 'AZ' like 'A%Z';
 
270
'AZ' like 'A%Z'
 
271
1
 
272
select 'AZ' like 'A%%Z';
 
273
'AZ' like 'A%%Z'
 
274
1
 
275
select 'AZ' like 'AZ%';
 
276
'AZ' like 'AZ%'
 
277
1
 
278
select 'AZ' like '%AZ%';
 
279
'AZ' like '%AZ%'
 
280
1
 
281
select 'AZ' like '%Z';
 
282
'AZ' like '%Z'
 
283
1
 
284
select 'AZ' like '%AZ';
 
285
'AZ' like '%AZ'
 
286
1
 
287
select 'AZ' like 'A%Z%';
 
288
'AZ' like 'A%Z%'
 
289
1
 
290
select 'AZ' like '_%_%';
 
291
'AZ' like '_%_%'
 
292
1
 
293
select 'AZ' like '%A%Z';
 
294
'AZ' like '%A%Z'
 
295
1
 
296
select 'AZ' like 'A_';
 
297
'AZ' like 'A_'
 
298
1
 
299
select 'AZ' like '_Z';
 
300
'AZ' like '_Z'
 
301
1
 
302
select 'AMZ'like 'A%M%Z';
 
303
'AMZ'like 'A%M%Z'
 
304
1
 
305
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET ucs2);
 
306
INSERT INTO t1 VALUES ('����'),('����'),('����'),('����'),('����'),('����');
 
307
INSERT INTO t1 VALUES ('����������'),('����������'),('����������'),('����������');
 
308
INSERT INTO t1 VALUES ('����������'),('����������'),('����������'),('����������');
 
309
INSERT INTO t1 VALUES ('����������'),('����������'),('����������'),('����������');
 
310
SELECT * FROM t1 WHERE a LIKE '%����%';
 
311
a
 
312
����
 
313
����
 
314
����
 
315
����
 
316
����
 
317
����
 
318
����������
 
319
����������
 
320
����������
 
321
����������
 
322
����������
 
323
����������
 
324
����������
 
325
����������
 
326
����������
 
327
����������
 
328
����������
 
329
����������
 
330
SELECT * FROM t1 WHERE a LIKE '%���%';
 
331
a
 
332
����
 
333
����
 
334
����
 
335
����
 
336
����
 
337
����
 
338
����������
 
339
����������
 
340
����������
 
341
����������
 
342
����������
 
343
����������
 
344
����������
 
345
����������
 
346
����������
 
347
����������
 
348
����������
 
349
����������
 
350
SELECT * FROM t1 WHERE a LIKE '����%';
 
351
a
 
352
����
 
353
����
 
354
����
 
355
����
 
356
����
 
357
����
 
358
����������
 
359
����������
 
360
����������
 
361
����������
 
362
����������
 
363
����������
 
364
����������
 
365
����������
 
366
����������
 
367
����������
 
368
����������
 
369
����������
 
370
SELECT * FROM t1 WHERE a LIKE '����%' COLLATE ucs2_bin;
 
371
a
 
372
����
 
373
����������
 
374
DROP TABLE t1;
 
375
CREATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
 
376
ENGINE=MyISAM CHARACTER SET ucs2 COLLATE ucs2_general_ci;
 
377
INSERT INTO t1 (word) VALUES ("cat");
 
378
SELECT * FROM t1 WHERE word LIKE "c%";
 
379
word
 
380
cat
 
381
SELECT * FROM t1 WHERE word LIKE "ca_";
 
382
word
 
383
cat
 
384
SELECT * FROM t1 WHERE word LIKE "cat";
 
385
word
 
386
cat
 
387
SELECT * FROM t1 WHERE word LIKE _ucs2 x'00630025';
 
388
word
 
389
cat
 
390
SELECT * FROM t1 WHERE word LIKE _ucs2 x'00630061005F';
 
391
word
 
392
cat
 
393
DROP TABLE t1;
 
394
select insert(_ucs2 0x006100620063,10,2,_ucs2 0x006400650066);
 
395
insert(_ucs2 0x006100620063,10,2,_ucs2 0x006400650066)
 
396
abc
 
397
select insert(_ucs2 0x006100620063,1,2,_ucs2 0x006400650066);
 
398
insert(_ucs2 0x006100620063,1,2,_ucs2 0x006400650066)
 
399
defc
 
400
SET NAMES latin1;
 
401
CREATE TABLE t1 (
 
402
word VARCHAR(64),
 
403
bar INT(11) default 0,
 
404
PRIMARY KEY (word))
 
405
ENGINE=MyISAM
 
406
CHARSET ucs2
 
407
COLLATE ucs2_general_ci ;
 
408
INSERT INTO t1 (word) VALUES ("aar");
 
409
INSERT INTO t1 (word) VALUES ("a");
 
410
INSERT INTO t1 (word) VALUES ("aardvar");
 
411
INSERT INTO t1 (word) VALUES ("aardvark");
 
412
INSERT INTO t1 (word) VALUES ("aardvara");
 
413
INSERT INTO t1 (word) VALUES ("aardvarz");
 
414
EXPLAIN SELECT * FROM t1 ORDER BY word;
 
415
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
416
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    6       Using filesort
 
417
SELECT * FROM t1 ORDER BY word;
 
418
word    bar
 
419
a       0
 
420
aar     0
 
421
aardvar 0
 
422
aardvara        0
 
423
aardvark        0
 
424
aardvarz        0
 
425
EXPLAIN SELECT word FROM t1 ORDER BY word;
 
426
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
427
1       SIMPLE  t1      index   NULL    PRIMARY 130     NULL    6       Using index
 
428
SELECT word FROM t1 ORDER by word;
 
429
word
 
430
a
 
431
aar
 
432
aardvar
 
433
aardvara
 
434
aardvark
 
435
aardvarz
 
436
DROP TABLE t1;
 
437
CREATE TABLE t1 (
 
438
word VARCHAR(64) ,
 
439
PRIMARY KEY (word))
 
440
ENGINE=MyISAM
 
441
CHARSET ucs2
 
442
COLLATE ucs2_general_ci;
 
443
INSERT INTO t1 (word) VALUES ("aar");
 
444
INSERT INTO t1 (word) VALUES ("a");
 
445
INSERT INTO t1 (word) VALUES ("aardvar");
 
446
INSERT INTO t1 (word) VALUES ("aardvark");
 
447
INSERT INTO t1 (word) VALUES ("aardvara");
 
448
INSERT INTO t1 (word) VALUES ("aardvarz");
 
449
EXPLAIN SELECT * FROM t1 ORDER BY WORD;
 
450
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
451
1       SIMPLE  t1      index   NULL    PRIMARY 130     NULL    6       Using index
 
452
SELECT * FROM t1 ORDER BY word;
 
453
word
 
454
a
 
455
aar
 
456
aardvar
 
457
aardvara
 
458
aardvark
 
459
aardvarz
 
460
DROP TABLE t1;
 
461
CREATE TABLE t1 (
 
462
word TEXT,
 
463
bar INT(11) AUTO_INCREMENT,
 
464
PRIMARY KEY (bar))
 
465
ENGINE=MyISAM
 
466
CHARSET ucs2
 
467
COLLATE ucs2_general_ci ;
 
468
INSERT INTO t1 (word) VALUES ("aar");
 
469
INSERT INTO t1 (word) VALUES ("a" );
 
470
INSERT INTO t1 (word) VALUES ("aardvar");
 
471
INSERT INTO t1 (word) VALUES ("aardvark");
 
472
INSERT INTO t1 (word) VALUES ("aardvara");
 
473
INSERT INTO t1 (word) VALUES ("aardvarz");
 
474
EXPLAIN SELECT * FROM t1 ORDER BY word;
 
475
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
476
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    6       Using filesort
 
477
SELECT * FROM t1 ORDER BY word;
 
478
word    bar
 
479
a       2
 
480
aar     1
 
481
aardvar 3
 
482
aardvara        5
 
483
aardvark        4
 
484
aardvarz        6
 
485
EXPLAIN SELECT word FROM t1 ORDER BY word;
 
486
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
487
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    6       Using filesort
 
488
SELECT word FROM t1 ORDER BY word;
 
489
word
 
490
a
 
491
aar
 
492
aardvar
 
493
aardvara
 
494
aardvark
 
495
aardvarz
 
496
DROP TABLE t1;
 
497
SELECT HEX(_ucs2 0x0);
 
498
HEX(_ucs2 0x0)
 
499
0000
 
500
SELECT HEX(_ucs2 0x01);
 
501
HEX(_ucs2 0x01)
 
502
0001
 
503
SELECT HEX(_ucs2 0x012);
 
504
HEX(_ucs2 0x012)
 
505
0012
 
506
SELECT HEX(_ucs2 0x0123);
 
507
HEX(_ucs2 0x0123)
 
508
0123
 
509
SELECT HEX(_ucs2 0x01234);
 
510
HEX(_ucs2 0x01234)
 
511
00001234
 
512
SELECT HEX(_ucs2 0x012345);
 
513
HEX(_ucs2 0x012345)
 
514
00012345
 
515
SELECT HEX(_ucs2 0x0123456);
 
516
HEX(_ucs2 0x0123456)
 
517
00123456
 
518
SELECT HEX(_ucs2 0x01234567);
 
519
HEX(_ucs2 0x01234567)
 
520
01234567
 
521
SELECT HEX(_ucs2 0x012345678);
 
522
HEX(_ucs2 0x012345678)
 
523
000012345678
 
524
SELECT HEX(_ucs2 0x0123456789);
 
525
HEX(_ucs2 0x0123456789)
 
526
000123456789
 
527
SELECT HEX(_ucs2 0x0123456789A);
 
528
HEX(_ucs2 0x0123456789A)
 
529
00123456789A
 
530
SELECT HEX(_ucs2 0x0123456789AB);
 
531
HEX(_ucs2 0x0123456789AB)
 
532
0123456789AB
 
533
SELECT HEX(_ucs2 0x0123456789ABC);
 
534
HEX(_ucs2 0x0123456789ABC)
 
535
0000123456789ABC
 
536
SELECT HEX(_ucs2 0x0123456789ABCD);
 
537
HEX(_ucs2 0x0123456789ABCD)
 
538
000123456789ABCD
 
539
SELECT HEX(_ucs2 0x0123456789ABCDE);
 
540
HEX(_ucs2 0x0123456789ABCDE)
 
541
00123456789ABCDE
 
542
SELECT HEX(_ucs2 0x0123456789ABCDEF);
 
543
HEX(_ucs2 0x0123456789ABCDEF)
 
544
0123456789ABCDEF
 
545
SELECT hex(cast(0xAA as char character set ucs2));
 
546
hex(cast(0xAA as char character set ucs2))
 
547
00AA
 
548
SELECT hex(convert(0xAA using ucs2));
 
549
hex(convert(0xAA using ucs2))
 
550
00AA
 
551
CREATE TABLE t1 (a char(10) character set ucs2);
 
552
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
 
553
SELECT HEX(a) FROM t1;
 
554
HEX(a)
 
555
000A
 
556
00AA
 
557
0AAA
 
558
AAAA
 
559
000AAAAA
 
560
DROP TABLE t1;
 
561
CREATE TABLE t1 (a varchar(10) character set ucs2);
 
562
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
 
563
SELECT HEX(a) FROM t1;
 
564
HEX(a)
 
565
000A
 
566
00AA
 
567
0AAA
 
568
AAAA
 
569
000AAAAA
 
570
DROP TABLE t1;
 
571
CREATE TABLE t1 (a text character set ucs2);
 
572
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
 
573
SELECT HEX(a) FROM t1;
 
574
HEX(a)
 
575
000A
 
576
00AA
 
577
0AAA
 
578
AAAA
 
579
000AAAAA
 
580
DROP TABLE t1;
 
581
CREATE TABLE t1 (a mediumtext character set ucs2);
 
582
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
 
583
SELECT HEX(a) FROM t1;
 
584
HEX(a)
 
585
000A
 
586
00AA
 
587
0AAA
 
588
AAAA
 
589
000AAAAA
 
590
DROP TABLE t1;
 
591
CREATE TABLE t1 (a longtext character set ucs2);
 
592
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
 
593
SELECT HEX(a) FROM t1;
 
594
HEX(a)
 
595
000A
 
596
00AA
 
597
0AAA
 
598
AAAA
 
599
000AAAAA
 
600
DROP TABLE t1;
 
601
create table t1 (s1 char character set `ucs2` collate `ucs2_czech_ci`);
 
602
insert into t1 values ('0'),('1'),('2'),('a'),('b'),('c');
 
603
select s1 from t1 where s1 > 'a' order by s1;
 
604
s1
 
605
b
 
606
c
 
607
drop table t1;
 
608
create table t1(a char(1)) default charset = ucs2;
 
609
insert into t1 values ('a'),('b'),('c');
 
610
alter table t1 modify a char(5);
 
611
select a, hex(a) from t1;
 
612
a       hex(a)
 
613
a       0061
 
614
b       0062
 
615
c       0063
 
616
drop table t1;
 
617
set @ivar= 1234;
 
618
set @str1 = 'select ?';
 
619
set @str2 = convert(@str1 using ucs2);
 
620
prepare stmt1 from @str2;
 
621
execute stmt1 using @ivar;
 
622
?
 
623
1234
 
624
set names latin1;
 
625
create table t1 (a enum('x','y','z') character set ucs2);
 
626
show create table t1;
 
627
Table   Create Table
 
628
t1      CREATE TABLE `t1` (
 
629
  `a` enum('x','y','z') CHARACTER SET ucs2 DEFAULT NULL
 
630
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
631
insert into t1 values ('x');
 
632
insert into t1 values ('y');
 
633
insert into t1 values ('z');
 
634
select a, hex(a) from t1 order by a;
 
635
a       hex(a)
 
636
x       0078
 
637
y       0079
 
638
z       007A
 
639
alter table t1 change a a enum('x','y','z','d','e','ďż˝','ďż˝','ďż˝') character set ucs2;
 
640
show create table t1;
 
641
Table   Create Table
 
642
t1      CREATE TABLE `t1` (
 
643
  `a` enum('x','y','z','d','e','ďż˝','ďż˝','ďż˝') CHARACTER SET ucs2 DEFAULT NULL
 
644
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
645
insert into t1 values ('D');
 
646
insert into t1 values ('E ');
 
647
insert into t1 values ('ďż˝');
 
648
insert into t1 values ('ďż˝');
 
649
insert into t1 values ('ďż˝');
 
650
select a, hex(a) from t1 order by a;
 
651
a       hex(a)
 
652
x       0078
 
653
y       0079
 
654
z       007A
 
655
d       0064
 
656
e       0065
 
657
ďż˝       00E4
 
658
ďż˝       00F6
 
659
ďż˝       00FC
 
660
drop table t1;
 
661
create table t1 (a set ('x','y','z','ďż˝','ďż˝','ďż˝') character set ucs2);
 
662
show create table t1;
 
663
Table   Create Table
 
664
t1      CREATE TABLE `t1` (
 
665
  `a` set('x','y','z','ďż˝','ďż˝','ďż˝') CHARACTER SET ucs2 DEFAULT NULL
 
666
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
667
insert into t1 values ('x');
 
668
insert into t1 values ('y');
 
669
insert into t1 values ('z');
 
670
insert into t1 values ('x,y');
 
671
insert into t1 values ('x,y,z,ďż˝,ďż˝,ďż˝');
 
672
select a, hex(a) from t1 order by a;
 
673
a       hex(a)
 
674
x       0078
 
675
y       0079
 
676
x,y     0078002C0079
 
677
z       007A
 
678
x,y,z,ďż˝,ďż˝,ďż˝     0078002C0079002C007A002C00E4002C00F6002C00FC
 
679
drop table t1;
 
680
create table t1(a enum('a','b','c')) default character set ucs2;
 
681
insert into t1 values('a'),('b'),('c');
 
682
alter table t1 add b char(1);
 
683
show warnings;
 
684
Level   Code    Message
 
685
select * from t1 order by a;
 
686
a       b
 
687
a       NULL
 
688
b       NULL
 
689
c       NULL
 
690
drop table t1;
 
691
SET collation_connection='ucs2_general_ci';
 
692
create table t1 select repeat('a',4000) a;
 
693
delete from t1;
 
694
insert into t1 values ('a'), ('a '), ('a\t');
 
695
select collation(a),hex(a) from t1 order by a;
 
696
collation(a)    hex(a)
 
697
ucs2_general_ci 00610009
 
698
ucs2_general_ci 0061
 
699
ucs2_general_ci 00610020
 
700
drop table t1;
 
701
select @@collation_connection;
 
702
@@collation_connection
 
703
ucs2_general_ci
 
704
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
 
705
insert into t1 values('abcdef');
 
706
insert into t1 values('_bcdef');
 
707
insert into t1 values('a_cdef');
 
708
insert into t1 values('ab_def');
 
709
insert into t1 values('abc_ef');
 
710
insert into t1 values('abcd_f');
 
711
insert into t1 values('abcde_');
 
712
select c1 as c1u from t1 where c1 like 'ab\_def';
 
713
c1u
 
714
ab_def
 
715
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
 
716
c2h
 
717
ab_def
 
718
drop table t1;
 
719
drop table if exists t1;
 
720
create table t1 as select repeat(' ', 64) as s1;
 
721
select collation(s1) from t1;
 
722
collation(s1)
 
723
ucs2_general_ci
 
724
delete from t1;
 
725
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
 
726
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
 
727
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
 
728
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
 
729
select s1, hex(s1) from t1 order by s1, binary s1;
 
730
s1      hex(s1)
 
731
a       0061
 
732
ďż˝       00E4
 
733
ae      00610065
 
734
o       006F
 
735
ďż˝       00F6
 
736
oe      006F0065
 
737
s       0073
 
738
ďż˝       00DF
 
739
ss      00730073
 
740
u       0075
 
741
ďż˝       00FC
 
742
ue      00750065
 
743
select group_concat(s1 order by binary s1) from t1 group by s1;
 
744
group_concat(s1 order by binary s1)
 
745
a,ďż˝
 
746
ae
 
747
o,ďż˝
 
748
oe
 
749
s,ďż˝
 
750
ss
 
751
u,ďż˝
 
752
ue
 
753
drop table t1;
 
754
CREATE TABLE t1 AS
 
755
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
 
756
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
 
757
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
 
758
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
 
759
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
 
760
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
 
761
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
 
762
hex(concat(repeat(0xF1F2, 10), '%'))
 
763
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
 
764
3 rows expected
 
765
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
 
766
a       hex(b)  c
 
767
2       F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2        
 
768
3       F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2    
 
769
4       F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2        
 
770
DROP TABLE t1;
 
771
SET NAMES latin1;
 
772
SET collation_connection='ucs2_bin';
 
773
create table t1 select repeat('a',4000) a;
 
774
delete from t1;
 
775
insert into t1 values ('a'), ('a '), ('a\t');
 
776
select collation(a),hex(a) from t1 order by a;
 
777
collation(a)    hex(a)
 
778
ucs2_bin        00610009
 
779
ucs2_bin        0061
 
780
ucs2_bin        00610020
 
781
drop table t1;
 
782
select @@collation_connection;
 
783
@@collation_connection
 
784
ucs2_bin
 
785
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
 
786
insert into t1 values('abcdef');
 
787
insert into t1 values('_bcdef');
 
788
insert into t1 values('a_cdef');
 
789
insert into t1 values('ab_def');
 
790
insert into t1 values('abc_ef');
 
791
insert into t1 values('abcd_f');
 
792
insert into t1 values('abcde_');
 
793
select c1 as c1u from t1 where c1 like 'ab\_def';
 
794
c1u
 
795
ab_def
 
796
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
 
797
c2h
 
798
ab_def
 
799
drop table t1;
 
800
CREATE TABLE t1 AS
 
801
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
 
802
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
 
803
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
 
804
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
 
805
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
 
806
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
 
807
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
 
808
hex(concat(repeat(0xF1F2, 10), '%'))
 
809
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
 
810
3 rows expected
 
811
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
 
812
a       hex(b)  c
 
813
2       F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2        
 
814
3       F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2    
 
815
4       F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2        
 
816
DROP TABLE t1;
 
817
select hex(substr(_ucs2 0x00e400e50068,1));
 
818
hex(substr(_ucs2 0x00e400e50068,1))
 
819
00E400E50068
 
820
select hex(substr(_ucs2 0x00e400e50068,2));
 
821
hex(substr(_ucs2 0x00e400e50068,2))
 
822
00E50068
 
823
select hex(substr(_ucs2 0x00e400e50068,3));
 
824
hex(substr(_ucs2 0x00e400e50068,3))
 
825
0068
 
826
select hex(substr(_ucs2 0x00e400e50068,-1));
 
827
hex(substr(_ucs2 0x00e400e50068,-1))
 
828
0068
 
829
select hex(substr(_ucs2 0x00e400e50068,-2));
 
830
hex(substr(_ucs2 0x00e400e50068,-2))
 
831
00E50068
 
832
select hex(substr(_ucs2 0x00e400e50068,-3));
 
833
hex(substr(_ucs2 0x00e400e50068,-3))
 
834
00E400E50068
 
835
SET NAMES latin1;
 
836
SET collation_connection='ucs2_swedish_ci';
 
837
CREATE TABLE t1 (Field1 int(10) default '0');
 
838
INSERT INTO t1 VALUES ('-1');
 
839
SELECT * FROM t1;
 
840
Field1
 
841
-1
 
842
DROP TABLE t1;
 
843
CREATE TABLE t1 (Field1 int(10) unsigned default '0');
 
844
INSERT INTO t1 VALUES ('-1');
 
845
Warnings:
 
846
Warning 1264    Out of range value for column 'Field1' at row 1
 
847
DROP TABLE t1;
 
848
SET NAMES latin1;
 
849
SELECT CONVERT(103, CHAR(50) UNICODE);
 
850
CONVERT(103, CHAR(50) UNICODE)
 
851
103
 
852
SELECT CONVERT(103.0, CHAR(50) UNICODE);
 
853
CONVERT(103.0, CHAR(50) UNICODE)
 
854
103.0
 
855
SELECT CONVERT(-103, CHAR(50) UNICODE);
 
856
CONVERT(-103, CHAR(50) UNICODE)
 
857
-103
 
858
SELECT CONVERT(-103.0, CHAR(50) UNICODE);
 
859
CONVERT(-103.0, CHAR(50) UNICODE)
 
860
-103.0
 
861
CREATE TABLE t1 (
 
862
a varchar(255) NOT NULL default '',
 
863
KEY a (a)
 
864
) ENGINE=MyISAM DEFAULT CHARSET=ucs2 COLLATE ucs2_general_ci;
 
865
insert into t1 values (0x803d);
 
866
insert into t1 values (0x005b);
 
867
select hex(a) from t1;
 
868
hex(a)
 
869
005B
 
870
803D
 
871
drop table t1;
 
872
create table t1(f1 varchar(5) CHARACTER SET ucs2 COLLATE ucs2_bin NOT NULL) engine=InnoDB;
 
873
insert into t1 values('a');
 
874
create index t1f1 on t1(f1);
 
875
select f1 from t1 where f1 like 'a%';
 
876
f1
 
877
a
 
878
drop table t1;
 
879
create table t1 (utext varchar(20) character set ucs2);
 
880
insert into t1 values ("lily");
 
881
insert into t1 values ("river");
 
882
prepare stmt from 'select utext from t1 where utext like ?';
 
883
set @param1='%%';
 
884
execute stmt using @param1;
 
885
utext
 
886
lily
 
887
river
 
888
execute stmt using @param1;
 
889
utext
 
890
lily
 
891
river
 
892
select utext from t1 where utext like '%%';
 
893
utext
 
894
lily
 
895
river
 
896
drop table t1;
 
897
deallocate prepare stmt;
 
898
create table t1 (
 
899
a char(10) unicode not null, 
 
900
index a (a)
 
901
) engine=myisam;
 
902
insert into t1 values (repeat(0x201f, 10));
 
903
insert into t1 values (repeat(0x2020, 10));
 
904
insert into t1 values (repeat(0x2021, 10));
 
905
explain select hex(a) from t1 order by a;
 
906
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
907
1       SIMPLE  t1      index   NULL    a       20      NULL    3       Using index
 
908
select hex(a) from t1 order by a;
 
909
hex(a)
 
910
201F201F201F201F201F201F201F201F201F201F
 
911
2020202020202020202020202020202020202020
 
912
2021202120212021202120212021202120212021
 
913
alter table t1 drop index a;
 
914
select hex(a) from t1 order by a;
 
915
hex(a)
 
916
201F201F201F201F201F201F201F201F201F201F
 
917
2020202020202020202020202020202020202020
 
918
2021202120212021202120212021202120212021
 
919
drop table t1;
 
920
CREATE TABLE t1 (id int, s char(5) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci);
 
921
INSERT INTO t1 VALUES (1, 'ZZZZZ'), (1, 'ZZZ'), (2, 'ZZZ'), (2, 'ZZZZZ');
 
922
SELECT id, MIN(s) FROM t1 GROUP BY id;
 
923
id      MIN(s)
 
924
1       ZZZ
 
925
2       ZZZ
 
926
DROP TABLE t1;
 
927
drop table if exists bug20536;
 
928
set names latin1;
 
929
create table bug20536 (id bigint not null auto_increment primary key, name
 
930
varchar(255) character set ucs2 not null);
 
931
insert into `bug20536` (`id`,`name`) values (1, _latin1 x'7465737431'), (2, "'test\\_2'");
 
932
select md5(name) from bug20536;
 
933
md5(name)
 
934
f4b7ce8b45a20e3c4e84bef515d1525c
 
935
48d95db0d8305c2fe11548a3635c9385
 
936
select sha1(name) from bug20536;
 
937
sha1(name)
 
938
e0b52f38deddb9f9e8d5336b153592794cb49baf
 
939
677d4d505355eb5b0549b865fcae4b7f0c28aef5
 
940
select make_set(3, name, upper(name)) from bug20536;
 
941
make_set(3, name, upper(name))
 
942
test1,TEST1
 
943
'test\_2','TEST\_2'
 
944
select export_set(5, name, upper(name)) from bug20536;
 
945
export_set(5, name, upper(name))
 
946
test1,TEST1,test1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1
 
947
'test\_2','TEST\_2','test\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2'
 
948
select export_set(5, name, upper(name), ",", 5) from bug20536;
 
949
export_set(5, name, upper(name), ",", 5)
 
950
test1,TEST1,test1,TEST1,TEST1
 
951
'test\_2','TEST\_2','test\_2','TEST\_2','TEST\_2'
 
952
CREATE TABLE t1 (
 
953
status enum('active','passive') collate latin1_general_ci 
 
954
NOT NULL default 'passive'
 
955
);
 
956
SHOW CREATE TABLE t1;
 
957
Table   Create Table
 
958
t1      CREATE TABLE `t1` (
 
959
  `status` enum('active','passive') CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT 'passive'
 
960
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
961
ALTER TABLE t1 ADD a int NOT NULL AFTER status;
 
962
CREATE TABLE t2 (
 
963
status enum('active','passive') collate ucs2_turkish_ci 
 
964
NOT NULL default 'passive'
 
965
);
 
966
SHOW CREATE TABLE t2;
 
967
Table   Create Table
 
968
t2      CREATE TABLE `t2` (
 
969
  `status` enum('active','passive') CHARACTER SET ucs2 COLLATE ucs2_turkish_ci NOT NULL DEFAULT 'passive'
 
970
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
971
ALTER TABLE t2 ADD a int NOT NULL AFTER status;
 
972
DROP TABLE t1,t2;
 
973
select password(name) from bug20536;
 
974
password(name)
 
975
????????????????????
 
976
????????????????????
 
977
select old_password(name) from bug20536;
 
978
old_password(name)
 
979
????????
 
980
????????
 
981
select quote(name) from bug20536;
 
982
quote(name)
 
983
????????
 
984
????????????????
 
985
drop table bug20536;
 
986
set names ucs2;
 
987
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
 
988
set names ucs2 collate ucs2_bin;
 
989
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
 
990
set character_set_client= ucs2;
 
991
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
 
992
set character_set_client= concat('ucs', substr('2', 1));
 
993
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
 
994
CREATE TABLE t1(a TEXT CHARSET ucs2 COLLATE ucs2_unicode_ci);
 
995
INSERT INTO t1 VALUES('abcd');
 
996
SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abcd' IN BOOLEAN MODE);
 
997
a
 
998
abcd
 
999
DROP TABLE t1;
 
1000
End of 4.1 tests
 
1001
CREATE TABLE t1 (a varchar(64) character set ucs2, b decimal(10,3));
 
1002
INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
 
1003
update t1 set b=a;
 
1004
SELECT * FROM t1;
 
1005
a       b
 
1006
1.1     1.100
 
1007
2.1     2.100
 
1008
DROP TABLE t1;
 
1009
create table t1 (utext varchar(20) character set ucs2);
 
1010
insert into t1 values ("lily");
 
1011
insert into t1 values ("river");
 
1012
prepare stmt from 'select utext from t1 where utext like ?';
 
1013
set @param1='%%';
 
1014
execute stmt using @param1;
 
1015
utext
 
1016
lily
 
1017
river
 
1018
execute stmt using @param1;
 
1019
utext
 
1020
lily
 
1021
river
 
1022
select utext from t1 where utext like '%%';
 
1023
utext
 
1024
lily
 
1025
river
 
1026
drop table t1;
 
1027
deallocate prepare stmt;
 
1028
set names latin1;
 
1029
set character_set_connection=ucs2;
 
1030
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
 
1031
soundex('')     soundex('he')   soundex('hello all folks')      soundex('#3556 in bugdb')
 
1032
        H000    H4142   I51231
 
1033
select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
 
1034
hex(soundex(''))        hex(soundex('he'))      hex(soundex('hello all folks')) hex(soundex('#3556 in bugdb'))
 
1035
        0048003000300030        00480034003100340032    004900350031003200330031
 
1036
select 'mood' sounds like 'mud';
 
1037
'mood' sounds like 'mud'
 
1038
1
 
1039
select hex(soundex(_ucs2 0x041004110412));
 
1040
hex(soundex(_ucs2 0x041004110412))
 
1041
0410003000300030
 
1042
select hex(soundex(_ucs2 0x00BF00C0));
 
1043
hex(soundex(_ucs2 0x00BF00C0))
 
1044
00C0003000300030
 
1045
set names latin1;
 
1046
create table t1(a blob, b text charset utf8, c text charset ucs2);
 
1047
select data_type, character_octet_length, character_maximum_length
 
1048
from information_schema.columns where table_name='t1';
 
1049
data_type       character_octet_length  character_maximum_length
 
1050
blob    65535   65535
 
1051
text    65535   65535
 
1052
text    65535   32767
 
1053
drop table t1;
 
1054
create table t1 (a char(1) character set ucs2);
 
1055
insert into t1 values ('a'),('b'),('c');
 
1056
select hex(group_concat(a)) from t1;
 
1057
hex(group_concat(a))
 
1058
0061002C0062002C0063
 
1059
select collation(group_concat(a)) from t1;
 
1060
collation(group_concat(a))
 
1061
ucs2_general_ci
 
1062
drop table t1;
 
1063
set names latin1;
 
1064
create table t1 (a char(1) character set latin1);
 
1065
insert into t1 values ('a'),('b'),('c');
 
1066
set character_set_connection=ucs2;
 
1067
select hex(group_concat(a separator ',')) from t1;
 
1068
hex(group_concat(a separator ','))
 
1069
612C622C63
 
1070
select collation(group_concat(a separator ',')) from t1;
 
1071
collation(group_concat(a separator ','))
 
1072
latin1_swedish_ci
 
1073
drop table t1;
 
1074
set names latin1;
 
1075
create table t1 (s1 char(1) character set ascii, s2 char(1) character set ucs2);
 
1076
insert into t1 (s1) values (0x7f);
 
1077
update t1 set s2 = s1;
 
1078
select hex(s2) from t1;
 
1079
hex(s2)
 
1080
007F
 
1081
select hex(convert(s1 using latin1)) from t1;
 
1082
hex(convert(s1 using latin1))
 
1083
7F
 
1084
drop table t1;
 
1085
create table t1 (a varchar(15) character set ascii not null, b int);
 
1086
insert into t1 values ('a',1);
 
1087
select concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
 
1088
concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062))
 
1089
aa
 
1090
select concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
 
1091
concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062))
 
1092
ab
 
1093
select * from t1 where a=if(b<10,_ucs2 0x0061,_ucs2 0x0062);
 
1094
a       b
 
1095
a       1
 
1096
select * from t1 where a=if(b>10,_ucs2 0x0061,_ucs2 0x0062);
 
1097
a       b
 
1098
select concat(a,if(b<10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
 
1099
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
 
1100
select concat(a,if(b>10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
 
1101
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
 
1102
select concat(a,if(b<10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
 
1103
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
 
1104
select concat(a,if(b>10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
 
1105
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
 
1106
select * from t1 where a=if(b<10,_ucs2 0x00C0,_ucs2 0x0062);
 
1107
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '='
 
1108
select * from t1 where a=if(b<10,_ucs2 0x0062,_ucs2 0x00C0);
 
1109
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '='
 
1110
drop table t1;
 
1111
set collation_connection=ucs2_general_ci;
 
1112
drop table if exists t1;
 
1113
create table t1 as
 
1114
select repeat(' ', 64) as s1, repeat(' ',64) as s2
 
1115
union
 
1116
select null, null;
 
1117
show create table t1;
 
1118
Table   Create Table
 
1119
t1      CREATE TABLE `t1` (
 
1120
  `s1` varchar(64) CHARACTER SET ucs2 DEFAULT NULL,
 
1121
  `s2` varchar(64) CHARACTER SET ucs2 DEFAULT NULL
 
1122
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
1123
delete from t1;
 
1124
insert into t1 values('aaa','aaa');
 
1125
insert into t1 values('aaa|qqq','qqq');
 
1126
insert into t1 values('gheis','^[^a-dXYZ]+$');
 
1127
insert into t1 values('aab','^aa?b');
 
1128
insert into t1 values('Baaan','^Ba*n');
 
1129
insert into t1 values('aaa','qqq|aaa');
 
1130
insert into t1 values('qqq','qqq|aaa');
 
1131
insert into t1 values('bbb','qqq|aaa');
 
1132
insert into t1 values('bbb','qqq');
 
1133
insert into t1 values('aaa','aba');
 
1134
insert into t1 values(null,'abc');
 
1135
insert into t1 values('def',null);
 
1136
insert into t1 values(null,null);
 
1137
insert into t1 values('ghi','ghi[');
 
1138
select HIGH_PRIORITY s1 regexp s2 from t1;
 
1139
s1 regexp s2
 
1140
1
 
1141
1
 
1142
1
 
1143
1
 
1144
1
 
1145
1
 
1146
1
 
1147
0
 
1148
0
 
1149
0
 
1150
NULL
 
1151
NULL
 
1152
NULL
 
1153
NULL
 
1154
drop table t1;
 
1155
set names latin1;
 
1156
select hex(char(0x41 using ucs2));
 
1157
hex(char(0x41 using ucs2))
 
1158
0041
 
1159
End of 5.0 tests
 
1160
set collation_connection=ucs2_general_ci;
 
1161
select @@collation_connection;
 
1162
@@collation_connection
 
1163
ucs2_general_ci
 
1164
select hex(weight_string('a'));
 
1165
hex(weight_string('a'))
 
1166
0041
 
1167
select hex(weight_string('A'));
 
1168
hex(weight_string('A'))
 
1169
0041
 
1170
select hex(weight_string('abc'));
 
1171
hex(weight_string('abc'))
 
1172
004100420043
 
1173
select hex(weight_string('abc' as char(2)));
 
1174
hex(weight_string('abc' as char(2)))
 
1175
00410042
 
1176
select hex(weight_string('abc' as char(3)));
 
1177
hex(weight_string('abc' as char(3)))
 
1178
004100420043
 
1179
select hex(weight_string('abc' as char(5)));
 
1180
hex(weight_string('abc' as char(5)))
 
1181
00410042004300200020
 
1182
select @@collation_connection;
 
1183
@@collation_connection
 
1184
ucs2_general_ci
 
1185
select hex(weight_string('a' LEVEL 1));
 
1186
hex(weight_string('a' LEVEL 1))
 
1187
0041
 
1188
select hex(weight_string('A' LEVEL 1));
 
1189
hex(weight_string('A' LEVEL 1))
 
1190
0041
 
1191
select hex(weight_string('abc' LEVEL 1));
 
1192
hex(weight_string('abc' LEVEL 1))
 
1193
004100420043
 
1194
select hex(weight_string('abc' as char(2) LEVEL 1));
 
1195
hex(weight_string('abc' as char(2) LEVEL 1))
 
1196
00410042
 
1197
select hex(weight_string('abc' as char(3) LEVEL 1));
 
1198
hex(weight_string('abc' as char(3) LEVEL 1))
 
1199
004100420043
 
1200
select hex(weight_string('abc' as char(5) LEVEL 1));
 
1201
hex(weight_string('abc' as char(5) LEVEL 1))
 
1202
00410042004300200020
 
1203
select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
 
1204
hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
 
1205
20002000430042004100
 
1206
select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
 
1207
hex(weight_string('abc' as char(5) LEVEL 1 DESC))
 
1208
FFBEFFBDFFBCFFDFFFDF
 
1209
select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
 
1210
hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
 
1211
DFFFDFFFBCFFBDFFBEFF
 
1212
set collation_connection=ucs2_bin;
 
1213
select @@collation_connection;
 
1214
@@collation_connection
 
1215
ucs2_bin
 
1216
select hex(weight_string('a'));
 
1217
hex(weight_string('a'))
 
1218
0061
 
1219
select hex(weight_string('A'));
 
1220
hex(weight_string('A'))
 
1221
0041
 
1222
select hex(weight_string('abc'));
 
1223
hex(weight_string('abc'))
 
1224
006100620063
 
1225
select hex(weight_string('abc' as char(2)));
 
1226
hex(weight_string('abc' as char(2)))
 
1227
00610062
 
1228
select hex(weight_string('abc' as char(3)));
 
1229
hex(weight_string('abc' as char(3)))
 
1230
006100620063
 
1231
select hex(weight_string('abc' as char(5)));
 
1232
hex(weight_string('abc' as char(5)))
 
1233
00610062006300200020
 
1234
select @@collation_connection;
 
1235
@@collation_connection
 
1236
ucs2_bin
 
1237
select hex(weight_string('a' LEVEL 1));
 
1238
hex(weight_string('a' LEVEL 1))
 
1239
0061
 
1240
select hex(weight_string('A' LEVEL 1));
 
1241
hex(weight_string('A' LEVEL 1))
 
1242
0041
 
1243
select hex(weight_string('abc' LEVEL 1));
 
1244
hex(weight_string('abc' LEVEL 1))
 
1245
006100620063
 
1246
select hex(weight_string('abc' as char(2) LEVEL 1));
 
1247
hex(weight_string('abc' as char(2) LEVEL 1))
 
1248
00610062
 
1249
select hex(weight_string('abc' as char(3) LEVEL 1));
 
1250
hex(weight_string('abc' as char(3) LEVEL 1))
 
1251
006100620063
 
1252
select hex(weight_string('abc' as char(5) LEVEL 1));
 
1253
hex(weight_string('abc' as char(5) LEVEL 1))
 
1254
00610062006300200020
 
1255
select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
 
1256
hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
 
1257
20002000630062006100
 
1258
select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
 
1259
hex(weight_string('abc' as char(5) LEVEL 1 DESC))
 
1260
FF9EFF9DFF9CFFDFFFDF
 
1261
select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
 
1262
hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
 
1263
DFFFDFFF9CFF9DFF9EFF