~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/pbxt/user_var.result

  • Committer: Daniel Nichter
  • Date: 2011-10-23 16:01:37 UTC
  • mto: This revision was merged to the branch mainline in revision 2448.
  • Revision ID: daniel@percona.com-20111023160137-7ac3blgz8z4tf8za
Add Administration Getting Started and Logging.  Capitalize SQL clause keywords.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
drop table if exists t1,t2;
 
2
set @a := foo;
 
3
ERROR 42S22: Unknown column 'foo' in 'field list'
 
4
set @a := connection_id() + 3;
 
5
select @a - connection_id();
 
6
@a - connection_id()
 
7
3
 
8
set @b := 1;
 
9
select @b;
 
10
@b
 
11
1
 
12
CREATE TABLE t1 ( i int not null, v int not null,index (i));
 
13
insert into t1 values (1,1),(1,3),(2,1);
 
14
create table t2 (i int not null, unique (i));
 
15
insert into t2 select distinct i from t1;
 
16
select * from t2;
 
17
i
 
18
1
 
19
2
 
20
select distinct t2.i,@vv1:=if(sv1.i,1,0),@vv2:=if(sv2.i,1,0),@vv3:=if(sv3.i,1,0), @vv1+@vv2+@vv3 from t2 left join t1 as sv1 on sv1.i=t2.i and sv1.v=1 left join t1 as sv2 on sv2.i=t2.i and sv2.v=2 left join t1 as sv3 on sv3.i=t2.i and sv3.v=3;
 
21
i       @vv1:=if(sv1.i,1,0)     @vv2:=if(sv2.i,1,0)     @vv3:=if(sv3.i,1,0)     @vv1+@vv2+@vv3
 
22
1       1       0       1       2
 
23
2       1       0       0       1
 
24
explain select * from t1 where i=@vv1;
 
25
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
26
1       SIMPLE  t1      ref     i       i       4       const   1       
 
27
select @vv1,i,v from t1 where i=@vv1;
 
28
@vv1    i       v
 
29
1       1       1
 
30
1       1       3
 
31
explain select * from t1 where @vv1:=@vv1+1 and i=@vv1;
 
32
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
33
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       Using where
 
34
explain select @vv1:=i from t1 where i=@vv1;
 
35
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
36
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       Using where
 
37
explain select * from t1 where i=@vv1;
 
38
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
39
1       SIMPLE  t1      ref     i       i       4       const   1       
 
40
drop table t1,t2;
 
41
set @a=0,@b=0;
 
42
select @a:=10,   @b:=1,   @a > @b, @a < @b;
 
43
@a:=10  @b:=1   @a > @b @a < @b
 
44
10      1       1       0
 
45
select @a:="10", @b:="1", @a > @b, @a < @b;
 
46
@a:="10"        @b:="1" @a > @b @a < @b
 
47
10      1       1       0
 
48
select @a:=10,   @b:=2,   @a > @b, @a < @b;
 
49
@a:=10  @b:=2   @a > @b @a < @b
 
50
10      2       0       1
 
51
select @a:="10", @b:="2", @a > @b, @a < @b;
 
52
@a:="10"        @b:="2" @a > @b @a < @b
 
53
10      2       1       0
 
54
select @a:=1;
 
55
@a:=1
 
56
1
 
57
select @a, @a:=1;
 
58
@a      @a:=1
 
59
1       1
 
60
create table t1 (id int, d double, c char(10));
 
61
insert into t1 values (1,2.0, "test");
 
62
select @c:=0;
 
63
@c:=0
 
64
0
 
65
update t1 SET id=(@c:=@c+1);
 
66
select @c;
 
67
@c
 
68
1
 
69
select @c:=0;
 
70
@c:=0
 
71
0
 
72
update t1 set id=(@c:=@c+1);
 
73
select @c;
 
74
@c
 
75
1
 
76
select @c:=0;
 
77
@c:=0
 
78
0
 
79
select @c:=@c+1;
 
80
@c:=@c+1
 
81
1
 
82
select @d,(@d:=id),@d from t1;
 
83
@d      (@d:=id)        @d
 
84
NULL    1       1
 
85
select @e,(@e:=d),@e from t1;
 
86
@e      (@e:=d) @e
 
87
NULL    2       2
 
88
select @f,(@f:=c),@f from t1;
 
89
@f      (@f:=c) @f
 
90
NULL    test    test
 
91
set @g=1;
 
92
select @g,(@g:=c),@g from t1;
 
93
@g      (@g:=c) @g
 
94
1       test    0
 
95
select @c, @d, @e, @f;
 
96
@c      @d      @e      @f
 
97
1       1       2       test
 
98
select @d:=id, @e:=id, @f:=id, @g:=@id from t1;
 
99
@d:=id  @e:=id  @f:=id  @g:=@id
 
100
1       1       1       NULL
 
101
select @c, @d, @e, @f, @g;
 
102
@c      @d      @e      @f      @g
 
103
1       1       1       1       NULL
 
104
drop table t1;
 
105
select @a:=10, @b:=2, @a>@b, @a:="10", @b:="2", @a>@b, @a:=10, @b:=2, @a>@b, @a:="10", @b:="2", @a>@b;
 
106
@a:=10  @b:=2   @a>@b   @a:="10"        @b:="2" @a>@b   @a:=10  @b:=2   @a>@b   @a:="10"        @b:="2" @a>@b
 
107
10      2       1       10      2       1       10      2       1       10      2       1
 
108
create table t1 (i int not null);
 
109
insert t1 values (1),(2),(2),(3),(3),(3);
 
110
select @a:=0;
 
111
@a:=0
 
112
0
 
113
select @a, @a:=@a+count(*), count(*), @a from t1 group by i;
 
114
@a      @a:=@a+count(*) count(*)        @a
 
115
0       1       1       0
 
116
0       2       2       0
 
117
0       3       3       0
 
118
select @a:=0;
 
119
@a:=0
 
120
0
 
121
select @a+0, @a:=@a+0+count(*), count(*), @a+0 from t1 group by i;
 
122
@a+0    @a:=@a+0+count(*)       count(*)        @a+0
 
123
0       1       1       0
 
124
1       3       2       0
 
125
3       6       3       0
 
126
set @a=0;
 
127
select @a,@a:="hello",@a,@a:=3,@a,@a:="hello again" from t1 group by i;
 
128
@a      @a:="hello"     @a      @a:=3   @a      @a:="hello again"
 
129
0       hello   0       3       0       hello again
 
130
0       hello   0       3       0       hello again
 
131
0       hello   0       3       0       hello again
 
132
select @a,@a:="hello",@a,@a:=3,@a,@a:="hello again" from t1 group by i;
 
133
@a      @a:="hello"     @a      @a:=3   @a      @a:="hello again"
 
134
hello again     hello   hello again     3       hello again     hello again
 
135
hello again     hello   hello again     3       hello again     hello again
 
136
hello again     hello   hello again     3       hello again     hello again
 
137
drop table t1;
 
138
set @var= NULL ;
 
139
select FIELD( @var,'1it','Hit') as my_column;
 
140
my_column
 
141
0
 
142
set session @honk=99;
 
143
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near '@honk=99' at line 1
 
144
select @@local.max_allowed_packet;
 
145
@@local.max_allowed_packet
 
146
#
 
147
select @@session.max_allowed_packet;
 
148
@@session.max_allowed_packet
 
149
#
 
150
select @@global.max_allowed_packet;
 
151
@@global.max_allowed_packet
 
152
#
 
153
select @@max_allowed_packet;
 
154
@@max_allowed_packet
 
155
#
 
156
select @@Max_Allowed_Packet;
 
157
@@Max_Allowed_Packet
 
158
#
 
159
select @@version;
 
160
@@version
 
161
#
 
162
select @@global.version;
 
163
@@global.version
 
164
#
 
165
End of 4.1 tests
 
166
set @first_var= NULL;
 
167
create table t1 select @first_var;
 
168
show create table t1;
 
169
Table   Create Table
 
170
t1      CREATE TABLE `t1` (
 
171
  `@first_var` BLOB
 
172
) ENGINE=DEFAULT COLLATE = utf8_general_ci
 
173
drop table t1;
 
174
set @first_var= cast(NULL as integer);
 
175
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near 'integer)' at line 1
 
176
set @first_var= NULL;
 
177
create table t1 select @first_var;
 
178
show create table t1;
 
179
Table   Create Table
 
180
t1      CREATE TABLE `t1` (
 
181
  `@first_var` BLOB
 
182
) ENGINE=DEFAULT COLLATE = utf8_general_ci
 
183
drop table t1;
 
184
set @first_var= concat(NULL);
 
185
create table t1 select @first_var;
 
186
show create table t1;
 
187
Table   Create Table
 
188
t1      CREATE TABLE `t1` (
 
189
  `@first_var` BLOB
 
190
) ENGINE=DEFAULT COLLATE = utf8_general_ci
 
191
drop table t1;
 
192
set @first_var=1;
 
193
set @first_var= cast(NULL as CHAR);
 
194
create table t1 select @first_var;
 
195
show create table t1;
 
196
Table   Create Table
 
197
t1      CREATE TABLE `t1` (
 
198
  `@first_var` TEXT COLLATE utf8_general_ci
 
199
) ENGINE=DEFAULT COLLATE = utf8_general_ci
 
200
drop table t1;
 
201
set @a=18446744071710965857;
 
202
select @a;
 
203
@a
 
204
18446744071710965857
 
205
CREATE TABLE `bigfailure` (
 
206
`afield` BIGINT NOT NULL
 
207
);
 
208
INSERT INTO `bigfailure` VALUES (18446744071710965857);
 
209
SELECT * FROM bigfailure;
 
210
afield
 
211
-1998585759
 
212
select * from (SELECT afield FROM bigfailure) as b;
 
213
afield
 
214
-1998585759
 
215
select * from bigfailure where afield = (SELECT afield FROM bigfailure);
 
216
afield
 
217
-1998585759
 
218
select * from bigfailure where afield = 18446744071710965857;
 
219
afield
 
220
-1998585759
 
221
select * from bigfailure where afield = '18446744071710965857';
 
222
afield
 
223
select * from bigfailure where afield = 18446744071710965856+1;
 
224
afield
 
225
-1998585759
 
226
SET @a := (SELECT afield FROM bigfailure);
 
227
SELECT @a;
 
228
@a
 
229
-1998585759
 
230
SET @a := (select afield from (SELECT afield FROM bigfailure) as b);
 
231
SELECT @a;
 
232
@a
 
233
-1998585759
 
234
SET @a := (select * from bigfailure where afield = (SELECT afield FROM bigfailure));
 
235
SELECT @a;
 
236
@a
 
237
-1998585759
 
238
drop table bigfailure;
 
239
create table t1(f1 int, f2 int);
 
240
insert into t1 values (1,2),(2,3),(3,1);
 
241
select @var:=f2 from t1 group by f1 order by f2 desc limit 1;
 
242
@var:=f2 
 
243
3
 
244
select @var;
 
245
@var
 
246
3
 
247
drop table t1;
 
248
insert into city 'blah';
 
249
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near ''blah'' at line 1
 
250
SHOW COUNT(*) WARNINGS;
 
251
@@session.warning_count
 
252
1
 
253
SHOW COUNT(*) ERRORS;
 
254
@@session.error_count
 
255
1
 
256
create table t1(f1 int, f2 varchar(2), f3 float, f4 decimal(2,1));
 
257
insert into t1 values 
 
258
(1, "a", 1.5, 1.6), (1, "a", 1.5, 1.6), (2, "b", 2.5, 2.6),
 
259
(3, "c", 3.5, 3.6), (4, "d", 4.5, 4.6), (1, "a", 1.5, 1.6),
 
260
(3, "c", 3.5, 3.6), (1, "a", 1.5, 1.6);
 
261
select @a:=f1, count(f1) from t1 group by 1 desc;
 
262
@a:=f1  count(f1)
 
263
4       1
 
264
3       2
 
265
2       1
 
266
1       4
 
267
select @a:=f1, count(f1) from t1 group by 1 asc;
 
268
@a:=f1  count(f1)
 
269
1       4
 
270
2       1
 
271
3       2
 
272
4       1
 
273
select @a:=f2, count(f2) from t1 group by 1 desc;
 
274
@a:=f2  count(f2)
 
275
d       1
 
276
c       2
 
277
b       1
 
278
a       4
 
279
select @a:=f3, count(f3) from t1 group by 1 desc;
 
280
@a:=f3  count(f3)
 
281
4.5     1
 
282
3.5     2
 
283
2.5     1
 
284
1.5     4
 
285
select @a:=f4, count(f4) from t1 group by 1 desc;
 
286
@a:=f4  count(f4)
 
287
4.6     1
 
288
3.6     2
 
289
2.6     1
 
290
1.6     4
 
291
drop table t1;
 
292
create table t1 (f1 int);
 
293
insert into t1 values (2), (1);
 
294
select @i := f1 as j from t1 order by 1;
 
295
j
 
296
1
 
297
2
 
298
drop table t1;
 
299
create table t1(a int);
 
300
insert into t1 values(5),(4),(4),(3),(2),(2),(2),(1);
 
301
set @rownum := 0;
 
302
set @rank := 0;
 
303
set @prev_score := NULL;
 
304
select @rownum := @rownum + 1 as row,
 
305
@rank := IF(@prev_score!=a, @rownum, @rank) as rank,
 
306
@prev_score := a as score
 
307
from t1 order by score desc;
 
308
drop table t1;
 
309
End of 5.1 tests