~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/bigint.test

  • Committer: Brian Aker
  • Date: 2010-12-20 19:20:57 UTC
  • mto: This revision was merged to the branch mainline in revision 2016.
  • Revision ID: brian@tangent.org-20101220192057-1ch4b9uo008d8rje
Merge in additional fixes for sign, plus alter table, plus TIME on
processlist.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
# This will work on 4.0 as we then have internal handling of bigint variables.
24
24
#
25
25
 
26
 
create table t1 (a bigint not null, primary key(a));
 
26
create table t1 (a bigint unsigned not null, primary key(a));
27
27
insert into t1 values (9223372036854775808);
28
28
insert into t1 values (0x7000000000000000);
29
29
select * from t1;
33
33
select * from t1;
34
34
drop table t1;
35
35
 
36
 
create table t1 ( a int not null default 1, big bigint );
 
36
create table t1 ( a int not null default 1, big bigint unsigned);
 
37
--error ER_WARN_DATA_OUT_OF_RANGE
37
38
insert into t1 (big) values (-1),(9223372036854775808),(9223372036854775807),(9223372036854775808);
 
39
--error ER_WARN_DATA_OUT_OF_RANGE
 
40
insert into t1 (big) values (-1);
 
41
insert into t1 (big) values (9223372036854775808),(9223372036854775807),(9223372036854775808);
38
42
select * from t1;
39
43
select min(big),max(big),max(big)-1 from t1;
40
44
select min(big),max(big),max(big)-1 from t1 group by a;
41
45
alter table t1 modify big bigint not null;
42
46
select min(big),max(big),max(big)-1 from t1;
43
47
select min(big),max(big),max(big)-1 from t1 group by a;
 
48
--error ER_WARN_DATA_OUT_OF_RANGE
44
49
insert into t1 (big) values (9223372036854775808);
45
50
select * from t1;
46
51
select min(big),max(big),max(big)-1 from t1;
82
87
 
83
88
# Test for BUG#8562: joins over BIGINT value + constant propagation
84
89
create table t1 (
85
 
 value64  bigint  not null,
 
90
 value64  bigint  unsigned not null,
86
91
 value32  integer          not null,
87
92
 primary key(value64, value32)
88
93
);
89
94
 
90
95
create table t2 (
91
 
 value64  bigint  not null,
 
96
 value64  bigint unsigned not null,
92
97
 value32  integer          not null,
93
98
 primary key(value64, value32)
94
99
);
98
103
insert into t2 values(17156792991891826145, 3);
99
104
insert into t2 values( 9223372036854775807, 4);
100
105
 
101
 
select * from t1;
102
 
select * from t2;
103
 
 
104
 
select * from t1, t2 where t1.value64=17156792991891826145 and
105
 
t2.value64=17156792991891826145;
106
 
select * from t1, t2 where t1.value64=17156792991891826145 and
107
 
t2.value64=t1.value64;
108
 
 
109
 
select * from t1, t2 where t1.value64= 9223372036854775807 and
110
 
t2.value64=9223372036854775807;
111
 
select * from t1, t2 where t1.value64= 9223372036854775807 and
112
 
t2.value64=t1.value64;
 
106
select * from t1 ORDER BY value32;
 
107
select * from t2 ORDER BY value32;
 
108
 
 
109
--sorted_result
 
110
select * from t1, t2 where t1.value64=17156792991891826145 and t2.value64=17156792991891826145;
 
111
--sorted_result
 
112
select * from t1, t2 where t1.value64=17156792991891826145 and t2.value64=t1.value64;
 
113
 
 
114
--sorted_result
 
115
select * from t1, t2 where t1.value64= 9223372036854775807 and t2.value64=9223372036854775807;
 
116
--sorted_result
 
117
select * from t1, t2 where t1.value64= 9223372036854775807 and t2.value64=t1.value64;
113
118
 
114
119
drop table t1, t2;
115
120
 
132
137
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
133
138
show create table t1;
134
139
drop table t1;
 
140
 
135
141
create table t1 select 9223372036854775809 as 'a';
136
142
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
137
143
show create table t1;
 
144
drop table t1;
 
145
 
 
146
create table t1 select 72036854775809 as 'a';
 
147
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
 
148
show create table t1;
138
149
select * from t1;
139
150
drop table t1;
 
151
 
140
152
DROP DATABASE IF EXISTS `scott`;
141
153
 
142
154
 
151
163
);
152
164
 
153
165
insert into t1 values (-1,-1,-1,-1);
 
166
--sorted_result
154
167
select * from t1;
155
168
drop table t1;
156
169
 
157
170
create table t1 ( quantity decimal(2));
158
171
insert into t1 values (50), (-50), (0), (-1);
 
172
--sorted_result
159
173
select * from t1;
160
174
drop table t1;
161
175
 
279
293
999999999.99999999999999999999999999999,
280
294
99999999.999999999999999999999999999999);
281
295
 
 
296
--sorted_result
282
297
SELECT * FROM t1;
283
298
DROP TABLE t1;
284
299
 
285
300
#bug #9088 BIGINT WHERE CLAUSE
286
 
create table t1 (bigint_col bigint);
 
301
create table t1 (bigint_col bigint unsigned);
287
302
insert into t1 values (17666000000000000000);
288
303
select * from t1 where bigint_col=17666000000000000000;
289
304
select * from t1 where bigint_col='17666000000000000000';
294
309
 
295
310
select 10000002383263201056 mod 50 as result;
296
311
 
297
 
create table t1 (c1 bigint);
 
312
create table t1 (c1 bigint unsigned);
298
313
insert into t1 values (10000002383263201056);
299
314
select c1 mod 50 as result from t1;
300
315
drop table t1;