~skinny.moey/drizzle/branch-rev

« back to all changes in this revision

Viewing changes to mysql-test/r/ctype_collate.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
DROP TABLE IF EXISTS t2;
 
3
CREATE TABLE t1 (
 
4
latin1_f CHAR(32) CHARACTER SET latin1 NOT NULL
 
5
);
 
6
CREATE TABLE t2 (
 
7
latin1_f CHAR(32) CHARACTER SET latin1 COLLATE koi8r_general_ci NOT NULL
 
8
);
 
9
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
 
10
CREATE TABLE t2 (
 
11
latin1_f CHAR(32) CHARACTER SET latin1 COLLATE some_non_existing_col NOT NULL
 
12
);
 
13
ERROR HY000: Unknown collation: 'some_non_existing_col'
 
14
INSERT INTO t1 (latin1_f) VALUES (_latin1'A');
 
15
INSERT INTO t1 (latin1_f) VALUES (_latin1'a');
 
16
INSERT INTO t1 (latin1_f) VALUES (_latin1'AD');
 
17
INSERT INTO t1 (latin1_f) VALUES (_latin1'ad');
 
18
INSERT INTO t1 (latin1_f) VALUES (_latin1'AE');
 
19
INSERT INTO t1 (latin1_f) VALUES (_latin1'ae');
 
20
INSERT INTO t1 (latin1_f) VALUES (_latin1'AF');
 
21
INSERT INTO t1 (latin1_f) VALUES (_latin1'af');
 
22
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
23
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
24
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
25
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
26
INSERT INTO t1 (latin1_f) VALUES (_latin1'B');
 
27
INSERT INTO t1 (latin1_f) VALUES (_latin1'b');
 
28
INSERT INTO t1 (latin1_f) VALUES (_latin1'U');
 
29
INSERT INTO t1 (latin1_f) VALUES (_latin1'u');
 
30
INSERT INTO t1 (latin1_f) VALUES (_latin1'UE');
 
31
INSERT INTO t1 (latin1_f) VALUES (_latin1'ue');
 
32
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
33
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
34
INSERT INTO t1 (latin1_f) VALUES (_latin1'SS');
 
35
INSERT INTO t1 (latin1_f) VALUES (_latin1'ss');
 
36
INSERT INTO t1 (latin1_f) VALUES (_latin1'�');
 
37
INSERT INTO t1 (latin1_f) VALUES (_latin1'Y');
 
38
INSERT INTO t1 (latin1_f) VALUES (_latin1'y');
 
39
INSERT INTO t1 (latin1_f) VALUES (_latin1'Z');
 
40
INSERT INTO t1 (latin1_f) VALUES (_latin1'z');
 
41
SELECT latin1_f FROM t1 ORDER BY latin1_f;
 
42
latin1_f
 
43
A
 
44
a
 
45
AD
 
46
ad
 
47
ae
 
48
AE
 
49
AF
 
50
af
 
51
b
 
52
B
 
53
SS
 
54
ss
 
55
u
 
56
U
 
57
UE
 
58
ue
 
59
Y
 
60
y
 
61
 
62
 
63
Z
 
64
z
 
65
 
66
 
67
 
68
 
69
 
70
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_swedish_ci;
 
71
latin1_f
 
72
A
 
73
a
 
74
AD
 
75
ad
 
76
ae
 
77
AE
 
78
AF
 
79
af
 
80
b
 
81
B
 
82
SS
 
83
ss
 
84
u
 
85
U
 
86
UE
 
87
ue
 
88
Y
 
89
y
 
90
 
91
 
92
Z
 
93
z
 
94
 
95
 
96
 
97
 
98
 
99
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_german2_ci;
 
100
latin1_f
 
101
A
 
102
a
 
103
 
104
 
105
AD
 
106
ad
 
107
 
108
ae
 
109
AE
 
110
 
111
af
 
112
AF
 
113
b
 
114
B
 
115
 
116
ss
 
117
SS
 
118
U
 
119
u
 
120
ue
 
121
UE
 
122
 
123
 
124
Y
 
125
y
 
126
Z
 
127
z
 
128
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_general_ci;
 
129
latin1_f
 
130
A
 
131
a
 
132
AD
 
133
ad
 
134
AE
 
135
ae
 
136
af
 
137
AF
 
138
 
139
 
140
 
141
 
142
b
 
143
B
 
144
ss
 
145
SS
 
146
 
147
U
 
148
u
 
149
UE
 
150
ue
 
151
 
152
 
153
Y
 
154
y
 
155
Z
 
156
z
 
157
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_bin;
 
158
latin1_f
 
159
A
 
160
AD
 
161
AE
 
162
AF
 
163
B
 
164
SS
 
165
U
 
166
UE
 
167
Y
 
168
Z
 
169
a
 
170
ad
 
171
ae
 
172
af
 
173
b
 
174
ss
 
175
u
 
176
ue
 
177
y
 
178
z
 
179
 
180
 
181
 
182
 
183
 
184
 
185
 
186
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE koi8r_general_ci;
 
187
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
 
188
SELECT latin1_f COLLATE latin1_swedish_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
 
189
latin1_f_as
 
190
A
 
191
a
 
192
AD
 
193
ad
 
194
ae
 
195
AE
 
196
AF
 
197
af
 
198
b
 
199
B
 
200
SS
 
201
ss
 
202
u
 
203
U
 
204
UE
 
205
ue
 
206
Y
 
207
y
 
208
 
209
 
210
Z
 
211
z
 
212
 
213
 
214
 
215
 
216
 
217
SELECT latin1_f COLLATE latin1_german2_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
 
218
latin1_f_as
 
219
A
 
220
a
 
221
 
222
 
223
AD
 
224
ad
 
225
 
226
ae
 
227
AE
 
228
 
229
af
 
230
AF
 
231
b
 
232
B
 
233
 
234
ss
 
235
SS
 
236
U
 
237
u
 
238
ue
 
239
UE
 
240
 
241
 
242
Y
 
243
y
 
244
Z
 
245
z
 
246
SELECT latin1_f COLLATE latin1_general_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
 
247
latin1_f_as
 
248
A
 
249
a
 
250
AD
 
251
ad
 
252
AE
 
253
ae
 
254
af
 
255
AF
 
256
 
257
 
258
 
259
 
260
b
 
261
B
 
262
ss
 
263
SS
 
264
 
265
U
 
266
u
 
267
UE
 
268
ue
 
269
 
270
 
271
Y
 
272
y
 
273
Z
 
274
z
 
275
SELECT latin1_f COLLATE latin1_bin        AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
 
276
latin1_f_as
 
277
A
 
278
AD
 
279
AE
 
280
AF
 
281
B
 
282
SS
 
283
U
 
284
UE
 
285
Y
 
286
Z
 
287
a
 
288
ad
 
289
ae
 
290
af
 
291
b
 
292
ss
 
293
u
 
294
ue
 
295
y
 
296
z
 
297
 
298
 
299
 
300
 
301
 
302
 
303
 
304
SELECT latin1_f COLLATE koi8r_general_ci  AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
 
305
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
 
306
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f;
 
307
latin1_f        count(*)
 
308
A       2
 
309
AD      2
 
310
AE      2
 
311
AF      2
 
312
B       2
 
313
SS      2
 
314
U       2
 
315
UE      2
 
316
�       4
 
317
Z       2
 
318
�       2
 
319
�       2
 
320
�       1
 
321
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_swedish_ci;
 
322
latin1_f        count(*)
 
323
A       2
 
324
AD      2
 
325
AE      2
 
326
AF      2
 
327
B       2
 
328
SS      2
 
329
U       2
 
330
UE      2
 
331
�       4
 
332
Z       2
 
333
�       2
 
334
�       2
 
335
�       1
 
336
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_german2_ci;
 
337
latin1_f        count(*)
 
338
A       4
 
339
AD      2
 
340
AE      4
 
341
AF      2
 
342
B       2
 
343
SS      3
 
344
U       2
 
345
UE      4
 
346
Y       2
 
347
Z       2
 
348
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_general_ci;
 
349
latin1_f        count(*)
 
350
A       2
 
351
AD      2
 
352
AE      2
 
353
AF      2
 
354
�       2
 
355
�       2
 
356
B       2
 
357
SS      2
 
358
�       1
 
359
U       2
 
360
UE      2
 
361
�       2
 
362
Y       2
 
363
Z       2
 
364
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_bin;
 
365
latin1_f        count(*)
 
366
A       1
 
367
AD      1
 
368
AE      1
 
369
AF      1
 
370
B       1
 
371
SS      1
 
372
U       1
 
373
UE      1
 
374
Y       1
 
375
Z       1
 
376
a       1
 
377
ad      1
 
378
ae      1
 
379
af      1
 
380
b       1
 
381
ss      1
 
382
u       1
 
383
ue      1
 
384
y       1
 
385
z       1
 
386
�       1
 
387
�       1
 
388
�       1
 
389
�       1
 
390
�       1
 
391
�       1
 
392
�       1
 
393
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE koi8r_general_ci;
 
394
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
 
395
SELECT DISTINCT latin1_f                           FROM t1;
 
396
latin1_f
 
397
A
 
398
AD
 
399
AE
 
400
AF
 
401
 
402
 
403
B
 
404
U
 
405
UE
 
406
 
407
SS
 
408
 
409
Z
 
410
SELECT DISTINCT latin1_f COLLATE latin1_swedish_ci FROM t1;
 
411
latin1_f COLLATE latin1_swedish_ci 
 
412
A
 
413
AD
 
414
AE
 
415
AF
 
416
 
417
 
418
B
 
419
U
 
420
UE
 
421
 
422
SS
 
423
 
424
Z
 
425
SELECT DISTINCT latin1_f COLLATE latin1_german2_ci FROM t1;
 
426
latin1_f COLLATE latin1_german2_ci 
 
427
A
 
428
AD
 
429
AE
 
430
AF
 
431
B
 
432
U
 
433
UE
 
434
SS
 
435
Y
 
436
Z
 
437
SELECT DISTINCT latin1_f COLLATE latin1_general_ci FROM t1;
 
438
latin1_f COLLATE latin1_general_ci 
 
439
A
 
440
AD
 
441
AE
 
442
AF
 
443
 
444
 
445
B
 
446
U
 
447
UE
 
448
 
449
SS
 
450
 
451
Y
 
452
Z
 
453
SELECT DISTINCT latin1_f COLLATE latin1_bin        FROM t1;
 
454
latin1_f COLLATE latin1_bin        
 
455
A
 
456
a
 
457
AD
 
458
ad
 
459
AE
 
460
ae
 
461
AF
 
462
af
 
463
 
464
 
465
 
466
 
467
B
 
468
b
 
469
U
 
470
u
 
471
UE
 
472
ue
 
473
 
474
 
475
SS
 
476
ss
 
477
 
478
Y
 
479
y
 
480
Z
 
481
z
 
482
SELECT DISTINCT latin1_f COLLATE koi8r             FROM t1;
 
483
ERROR HY000: Unknown collation: 'koi8r'
 
484
SHOW CREATE TABLE t1;
 
485
Table   Create Table
 
486
t1      CREATE TABLE "t1" (
 
487
  "latin1_f" char(32) NOT NULL
 
488
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
489
SHOW FIELDS FROM  t1;
 
490
Field   Type    Null    Key     Default Extra
 
491
latin1_f        char(32)        NO              NULL    
 
492
ALTER TABLE t1 CHANGE latin1_f 
 
493
latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin;
 
494
SHOW CREATE TABLE t1;
 
495
Table   Create Table
 
496
t1      CREATE TABLE "t1" (
 
497
  "latin1_f" char(32) CHARACTER SET latin1 COLLATE latin1_bin
 
498
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
499
SHOW FIELDS FROM  t1;
 
500
Field   Type    Null    Key     Default Extra
 
501
latin1_f        char(32)        YES             NULL    
 
502
ALTER TABLE t1 CHARACTER SET latin1 COLLATE latin1_bin;
 
503
SHOW CREATE TABLE t1;
 
504
Table   Create Table
 
505
t1      CREATE TABLE "t1" (
 
506
  "latin1_f" char(32) COLLATE latin1_bin
 
507
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin
 
508
SHOW FIELDS FROM  t1;
 
509
Field   Type    Null    Key     Default Extra
 
510
latin1_f        char(32)        YES             NULL    
 
511
SET CHARACTER SET 'latin1';
 
512
SHOW VARIABLES LIKE 'character_set_client';
 
513
Variable_name   Value
 
514
character_set_client    latin1
 
515
SELECT charset('a'),collation('a'),coercibility('a'),'a'='A';
 
516
charset('a')    collation('a')  coercibility('a')       'a'='A'
 
517
latin1  latin1_swedish_ci       4       1
 
518
explain extended SELECT charset('a'),collation('a'),coercibility('a'),'a'='A';
 
519
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
 
520
1       SIMPLE  NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    No tables used
 
521
Warnings:
 
522
Note    1003    select charset('a') AS "charset('a')",collation('a') AS "collation('a')",coercibility('a') AS "coercibility('a')",('a' = 'A') AS "'a'='A'"
 
523
SET CHARACTER SET koi8r;
 
524
SHOW VARIABLES LIKE 'collation_client';
 
525
Variable_name   Value
 
526
SELECT charset('a'),collation('a'),coercibility('a'),'a'='A';
 
527
charset('a')    collation('a')  coercibility('a')       'a'='A'
 
528
latin1  latin1_swedish_ci       4       1
 
529
SET CHARACTER SET 'DEFAULT';
 
530
ERROR 42000: Unknown character set: 'DEFAULT'
 
531
DROP TABLE t1;
 
532
CREATE TABLE t1 
 
533
(s1 CHAR(5) COLLATE latin1_german1_ci,
 
534
s2 CHAR(5) COLLATE latin1_swedish_ci);
 
535
SELECT * FROM t1 WHERE s1 = s2;
 
536
ERROR HY000: Illegal mix of collations (latin1_german1_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
 
537
DROP TABLE t1;
 
538
CREATE TABLE t1
 
539
(s1 CHAR(5) COLLATE latin1_german1_ci,
 
540
s2 CHAR(5) COLLATE latin1_swedish_ci,
 
541
s3 CHAR(5) COLLATE latin1_bin);
 
542
INSERT INTO t1 VALUES ('a','A','A');
 
543
SELECT * FROM t1 WHERE s1 = s2;
 
544
ERROR HY000: Illegal mix of collations (latin1_german1_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
 
545
SELECT * FROM t1 WHERE s1 = s3;
 
546
s1      s2      s3
 
547
SELECT * FROM t1 WHERE s2 = s3;
 
548
s1      s2      s3
 
549
a       A       A
 
550
DROP TABLE t1;
 
551
SET NAMES latin1;
 
552
CREATE TABLE t1 
 
553
(s1 char(10) COLLATE latin1_german1_ci,
 
554
s2 char(10) COLLATE latin1_swedish_ci,
 
555
KEY(s1),
 
556
KEY(s2));
 
557
INSERT INTO t1 VALUES ('a','a');
 
558
INSERT INTO t1 VALUES ('b','b');
 
559
INSERT INTO t1 VALUES ('c','c');
 
560
INSERT INTO t1 VALUES ('d','d');
 
561
INSERT INTO t1 VALUES ('e','e');
 
562
INSERT INTO t1 VALUES ('f','f');
 
563
INSERT INTO t1 VALUES ('g','g');
 
564
INSERT INTO t1 VALUES ('h','h');
 
565
INSERT INTO t1 VALUES ('i','i');
 
566
INSERT INTO t1 VALUES ('j','j');
 
567
EXPLAIN SELECT * FROM t1 WHERE s1='a';
 
568
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
569
1       SIMPLE  t1      ref     s1      s1      11      const   1       Using index condition
 
570
EXPLAIN SELECT * FROM t1 WHERE s2='a';
 
571
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
572
1       SIMPLE  t1      ref     s2      s2      11      const   1       Using index condition
 
573
EXPLAIN SELECT * FROM t1 WHERE s1='a' COLLATE latin1_german1_ci;
 
574
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
575
1       SIMPLE  t1      ref     s1      s1      11      const   1       Using index condition
 
576
EXPLAIN SELECT * FROM t1 WHERE s2='a' COLLATE latin1_german1_ci;
 
577
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
578
1       SIMPLE  t1      ALL     s2      NULL    NULL    NULL    10      Using where
 
579
EXPLAIN SELECT * FROM t1 WHERE s1 BETWEEN 'a' AND 'b' COLLATE latin1_german1_ci;
 
580
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
581
1       SIMPLE  t1      range   s1      s1      11      NULL    2       Using index condition; Using MRR
 
582
EXPLAIN SELECT * FROM t1 WHERE s2 BETWEEN 'a' AND 'b' COLLATE latin1_german1_ci;
 
583
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
584
1       SIMPLE  t1      ALL     s2      NULL    NULL    NULL    10      Using where
 
585
EXPLAIN SELECT * FROM t1 WHERE s1 IN  ('a','b' COLLATE latin1_german1_ci);
 
586
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
587
1       SIMPLE  t1      range   s1      s1      11      NULL    2       Using index condition; Using MRR
 
588
EXPLAIN SELECT * FROM t1 WHERE s2 IN  ('a','b' COLLATE latin1_german1_ci);
 
589
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
590
1       SIMPLE  t1      ALL     s2      NULL    NULL    NULL    10      Using where
 
591
EXPLAIN SELECT * FROM t1 WHERE s1 LIKE 'a' COLLATE latin1_german1_ci;
 
592
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
593
1       SIMPLE  t1      range   s1      s1      11      NULL    1       Using index condition; Using MRR
 
594
EXPLAIN SELECT * FROM t1 WHERE s2 LIKE 'a' COLLATE latin1_german1_ci;
 
595
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
596
1       SIMPLE  t1      ALL     s2      NULL    NULL    NULL    10      Using where
 
597
DROP TABLE t1;
 
598
create table t1(f1 varchar(10) character set latin2 collate latin2_hungarian_ci, key(f1));
 
599
insert into t1 set f1=0x3F3F9DC73F;
 
600
insert into t1 set f1=0x3F3F1E563F;
 
601
insert into t1 set f1=0x3F3F;
 
602
check table t1 extended;
 
603
Table   Op      Msg_type        Msg_text
 
604
test.t1 check   status  OK
 
605
drop table t1;
 
606
create table t1 (a varchar(2) character set latin7 collate latin7_general_ci,key(a));
 
607
insert into t1 set a=0x4c20;
 
608
insert into t1 set a=0x6c;
 
609
insert into t1 set a=0x4c98;
 
610
check table t1 extended;
 
611
Table   Op      Msg_type        Msg_text
 
612
test.t1 check   status  OK
 
613
drop table t1;