~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

  • Committer: Jay Pipes
  • Date: 2009-09-15 21:01:42 UTC
  • mto: (1126.2.5 merge)
  • mto: This revision was merged to the branch mainline in revision 1128.
  • Revision ID: jpipes@serialcoder-20090915210142-x8mwiqn1q0vzjspp
Moves Alter_info out into its own header and source file, cleans up some related include mess in sql_lex.h, and renames Alter_info to AlterInfo.

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