~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

Removed/replaced a couple DBUG calls

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
28
28
1       SIMPLE  NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    No tables used
29
29
Warnings:
30
 
Note    1003    select (case 1 when 1 then 'one' when 2 then 'two' else 'more' end) AS `CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END`
 
30
Note    1003    select (case 1 when 1 then 'one' when 2 then 'two' else 'more' end) AS "CASE 1 when 1 then ""one"" WHEN 2 then ""two"" ELSE ""more"" END"
31
31
select CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END;
32
32
CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END
33
33
two
34
 
select (CASE "two" when "one" then "1" WHEN "two" then "2" END);
35
 
(CASE "two" when "one" then "1" WHEN "two" then "2" END)
 
34
select (CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0;
 
35
(CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0
36
36
2
37
37
select (CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0;
38
38
(CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0
39
39
2.00
40
40
select case 1/0 when "a" then "true" else "false" END;
41
 
ERROR 22012: Division by 0
 
41
case 1/0 when "a" then "true" else "false" END
 
42
false
42
43
select case 1/0 when "a" then "true" END;
43
 
ERROR 22012: Division by 0
44
 
select (case 1/0 when "a" then "true" END);
45
 
ERROR 22012: Division by 0
 
44
case 1/0 when "a" then "true" END
 
45
NULL
 
46
select (case 1/0 when "a" then "true" END) | 0;
 
47
(case 1/0 when "a" then "true" END) | 0
 
48
NULL
46
49
select (case 1/0 when "a" then "true" END) + 0.0;
47
 
ERROR 22012: Division by 0
 
50
(case 1/0 when "a" then "true" END) + 0.0
 
51
NULL
48
52
select case when 1>0 then "TRUE" else "FALSE" END;
49
53
case when 1>0 then "TRUE" else "FALSE" END
50
54
TRUE
62
66
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
63
67
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    4       100.00  Using temporary; Using filesort
64
68
Warnings:
65
 
Note    1003    select (case `test`.`t1`.`a` when 1 then 2 when 2 then 3 else 0 end) AS `fcase`,count(0) AS `count(*)` from `test`.`t1` group by (case `test`.`t1`.`a` when 1 then 2 when 2 then 3 else 0 end)
 
69
Note    1003    select (case "test"."t1"."a" when 1 then 2 when 2 then 3 else 0 end) AS "fcase",count(0) AS "count(*)" from "test"."t1" group by (case "test"."t1"."a" when 1 then 2 when 2 then 3 else 0 end)
66
70
select case a when 1 then "one" when 2 then "two" else "nothing" end as fcase, count(*) from t1 group by fcase;
67
71
fcase   count(*)
68
72
nothing 2
77
81
yellow
78
82
green
79
83
drop table t1;
 
84
SET NAMES latin1;
80
85
CREATE TABLE t1 SELECT 
81
 
CASE WHEN 1 THEN 'a' COLLATE utf8_bin ELSE 'a' END AS c1,
82
 
CASE WHEN 1 THEN 'a' ELSE 'a' COLLATE utf8_bin END AS c2,
 
86
CASE WHEN 1 THEN _latin1'a' COLLATE latin1_danish_ci ELSE _latin1'a' END AS c1,
 
87
CASE WHEN 1 THEN _latin1'a' ELSE _latin1'a' COLLATE latin1_danish_ci END AS c2,
83
88
CASE WHEN 1 THEN 'a' ELSE  1  END AS c3,
84
89
CASE WHEN 1 THEN  1  ELSE 'a' END AS c4,
85
90
CASE WHEN 1 THEN 'a' ELSE 1.0 END AS c5,
93
98
;
94
99
SHOW CREATE TABLE t1;
95
100
Table   Create Table
96
 
t1      CREATE TABLE `t1` (
97
 
  `c1` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
98
 
  `c2` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
99
 
  `c3` VARBINARY(4) NOT NULL,
100
 
  `c4` VARBINARY(4) NOT NULL,
101
 
  `c5` VARBINARY(4) NOT NULL,
102
 
  `c6` VARBINARY(4) NOT NULL,
103
 
  `c7` DECIMAL(2,1) NOT NULL,
104
 
  `c8` DECIMAL(2,1) NOT NULL,
105
 
  `c9` DECIMAL(2,1) DEFAULT NULL,
106
 
  `c10` DOUBLE NOT NULL,
107
 
  `c11` DOUBLE NOT NULL,
108
 
  `c12` VARBINARY(5) NOT NULL
109
 
) ENGINE=DEFAULT COLLATE = utf8_general_ci
 
101
t1      CREATE TABLE "t1" (
 
102
  "c1" varchar(1) CHARACTER SET latin1 COLLATE latin1_danish_ci NOT NULL,
 
103
  "c2" varchar(1) CHARACTER SET latin1 COLLATE latin1_danish_ci NOT NULL,
 
104
  "c3" varbinary(1) NOT NULL,
 
105
  "c4" varbinary(1) NOT NULL,
 
106
  "c5" varbinary(4) NOT NULL,
 
107
  "c6" varbinary(4) NOT NULL,
 
108
  "c7" decimal(2,1) NOT NULL,
 
109
  "c8" decimal(2,1) NOT NULL,
 
110
  "c9" decimal(2,1),
 
111
  "c10" double NOT NULL,
 
112
  "c11" double NOT NULL,
 
113
  "c12" varbinary(5) NOT NULL
 
114
) ENGINE=MyISAM DEFAULT CHARSET=latin1
110
115
DROP TABLE t1;
111
116
SELECT CASE 
112
117
WHEN 1 
113
 
THEN 'a' COLLATE utf8_bin 
114
 
ELSE 'a' COLLATE utf8_swedish_ci
115
 
END;
116
 
ERROR HY000: Illegal mix of collations (utf8_bin,EXPLICIT) and (utf8_swedish_ci,EXPLICIT) for operation 'case'
117
 
SELECT CASE 'a' COLLATE utf8_bin
118
 
WHEN 'a' COLLATE utf8_danish_ci  THEN 1
119
 
WHEN 'a' COLLATE utf8_swedish_ci THEN 2
120
 
END;
121
 
ERROR HY000: Illegal mix of collations (utf8_bin,EXPLICIT), (utf8_danish_ci,EXPLICIT), (utf8_swedish_ci,EXPLICIT) for operation 'case'
 
118
THEN _latin1'a' COLLATE latin1_danish_ci 
 
119
ELSE _latin1'a' COLLATE latin1_swedish_ci
 
120
END;
 
121
ERROR HY000: Illegal mix of collations (latin1_danish_ci,EXPLICIT) and (latin1_swedish_ci,EXPLICIT) for operation 'case'
 
122
SELECT CASE _latin1'a' COLLATE latin1_general_ci
 
123
WHEN _latin1'a' COLLATE latin1_danish_ci  THEN 1
 
124
WHEN _latin1'a' COLLATE latin1_swedish_ci THEN 2
 
125
END;
 
126
ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_danish_ci,EXPLICIT), (latin1_swedish_ci,EXPLICIT) for operation 'case'
122
127
SELECT 
123
 
CASE 'a' COLLATE utf8_general_ci  WHEN 'A' THEN '1' ELSE 2 END,
124
 
CASE 'a' COLLATE utf8_bin         WHEN 'A' THEN '1' ELSE 2 END,
125
 
CASE 'a' WHEN 'A' COLLATE utf8_swedish_ci THEN '1' ELSE 2 END,
126
 
CASE 'a' WHEN 'A' COLLATE utf8_bin        THEN '1' ELSE 2 END
 
128
CASE _latin1'a' COLLATE latin1_general_ci  WHEN _latin1'A' THEN '1' ELSE 2 END,
 
129
CASE _latin1'a' COLLATE latin1_bin         WHEN _latin1'A' THEN '1' ELSE 2 END,
 
130
CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_swedish_ci THEN '1' ELSE 2 END,
 
131
CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_bin        THEN '1' ELSE 2 END
127
132
;
128
 
CASE 'a' COLLATE utf8_general_ci  WHEN 'A' THEN '1' ELSE 2 END  CASE 'a' COLLATE utf8_bin         WHEN 'A' THEN '1' ELSE 2 END  CASE 'a' WHEN 'A' COLLATE utf8_swedish_ci THEN '1' ELSE 2 END   CASE 'a' WHEN 'A' COLLATE utf8_bin        THEN '1' ELSE 2 END
 
133
CASE _latin1'a' COLLATE latin1_general_ci  WHEN _latin1'A' THEN '1' ELSE 2 END  CASE _latin1'a' COLLATE latin1_bin         WHEN _latin1'A' THEN '1' ELSE 2 END  CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_swedish_ci THEN '1' ELSE 2 END   CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_bin        THEN '1' ELSE 2 END
129
134
1       2       1       2
130
 
CREATE TABLE t1 SELECT COALESCE('a' COLLATE utf8_swedish_ci,'b' COLLATE utf8_bin);
131
 
ERROR HY000: Illegal mix of collations (utf8_swedish_ci,EXPLICIT) and (utf8_bin,EXPLICIT) for operation 'coalesce'
 
135
CREATE TABLE t1 SELECT COALESCE(_latin1'a',_latin2'a');
 
136
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'coalesce'
 
137
CREATE TABLE t1 SELECT COALESCE('a' COLLATE latin1_swedish_ci,'b' COLLATE latin1_bin);
 
138
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'coalesce'
132
139
CREATE TABLE t1 SELECT 
133
140
COALESCE(1), COALESCE(1.0),COALESCE('a'),
134
141
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
135
 
COALESCE('a' COLLATE utf8_bin,'b');
 
142
COALESCE('a' COLLATE latin1_bin,'b');
136
143
explain extended SELECT 
137
144
COALESCE(1), COALESCE(1.0),COALESCE('a'),
138
145
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
139
 
COALESCE('a' COLLATE utf8_bin,'b');
 
146
COALESCE('a' COLLATE latin1_bin,'b');
140
147
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
141
148
1       SIMPLE  NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    No tables used
142
149
Warnings:
143
 
Note    1003    select coalesce(1) AS `COALESCE(1)`,coalesce(1.0) AS `COALESCE(1.0)`,coalesce('a') AS `COALESCE('a')`,coalesce(1,1.0) AS `COALESCE(1,1.0)`,coalesce(1,'1') AS `COALESCE(1,'1')`,coalesce(1.1,'1') AS `COALESCE(1.1,'1')`,coalesce(('a' collate utf8_bin),'b') AS `COALESCE('a' COLLATE utf8_bin,'b')`
 
150
Note    1003    select coalesce(1) AS "COALESCE(1)",coalesce(1.0) AS "COALESCE(1.0)",coalesce('a') AS "COALESCE('a')",coalesce(1,1.0) AS "COALESCE(1,1.0)",coalesce(1,'1') AS "COALESCE(1,'1')",coalesce(1.1,'1') AS "COALESCE(1.1,'1')",coalesce(('a' collate latin1_bin),'b') AS "COALESCE('a' COLLATE latin1_bin,'b')"
144
151
SHOW CREATE TABLE t1;
145
152
Table   Create Table
146
 
t1      CREATE TABLE `t1` (
147
 
  `COALESCE(1)` INT NOT NULL,
148
 
  `COALESCE(1.0)` DECIMAL(2,1) NOT NULL,
149
 
  `COALESCE('a')` VARCHAR(1) COLLATE utf8_general_ci NOT NULL,
150
 
  `COALESCE(1,1.0)` DECIMAL(2,1) NOT NULL,
151
 
  `COALESCE(1,'1')` VARBINARY(4) NOT NULL,
152
 
  `COALESCE(1.1,'1')` VARBINARY(4) NOT NULL,
153
 
  `COALESCE('a' COLLATE utf8_bin,'b')` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL
154
 
) ENGINE=DEFAULT COLLATE = utf8_general_ci
 
153
t1      CREATE TABLE "t1" (
 
154
  "COALESCE(1)" int(1) NOT NULL,
 
155
  "COALESCE(1.0)" decimal(2,1) NOT NULL,
 
156
  "COALESCE('a')" varchar(1) NOT NULL,
 
157
  "COALESCE(1,1.0)" decimal(2,1) NOT NULL,
 
158
  "COALESCE(1,'1')" varbinary(1) NOT NULL,
 
159
  "COALESCE(1.1,'1')" varbinary(4) NOT NULL,
 
160
  "COALESCE('a' COLLATE latin1_bin,'b')" varchar(1) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL
 
161
) ENGINE=MyISAM DEFAULT CHARSET=latin1
155
162
DROP TABLE t1;
156
163
SELECT 'case+union+test'
157
164
UNION 
194
201
2.00    2       NULL
195
202
DROP TABLE t1,t2;
196
203
End of 4.1 tests
197
 
create table t1 (a int, b bigint);
 
204
create table t1 (a int, b bigint unsigned);
198
205
create table t2 (c int);
199
206
insert into t1 (a, b) values (1,4572794622775114594), (2,18196094287899841997),
200
207
(3,11120436154190595086);
202
209
select t1.a, (case t1.a when 0 then 0 else t1.b end) d from t1 
203
210
join t2 on t1.a=t2.c order by d;
204
211
a       d
205
 
3       -7326307919518956530
206
 
2       -250649785809709619
207
212
1       4572794622775114594
 
213
3       11120436154190595086
 
214
2       18196094287899841997
208
215
select t1.a, (case t1.a when 0 then 0 else t1.b end) d from t1 
209
216
join t2 on t1.a=t2.c where b=11120436154190595086 order by d;
210
217
a       d
211
 
3       -7326307919518956530
 
218
3       11120436154190595086
212
219
drop table t1, t2;
213
220
End of 5.0 tests