~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/warnings.test

  • Committer: Brian Aker
  • Date: 2008-10-06 06:47:29 UTC
  • Revision ID: brian@tangent.org-20081006064729-2i9mhjkzyvow9xsm
Remove uint.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
show count(*) errors;
13
13
show errors;
14
14
show warnings;
 
15
--error 1115
 
16
create table t2(a int) default charset qwerty;
 
17
show count(*) errors;
 
18
show errors;
15
19
--error 1064
16
20
create table t (i);
17
21
show count(*) errors;
18
22
show errors;
19
23
insert into t1 values (1);
20
 
--error 1366
21
24
insert into t1 values ("hej");
22
 
--error 1366
23
25
insert into t1 values ("hej"),("d�");
24
26
set SQL_WARNINGS=1;
25
 
--error 1366
26
27
insert into t1 values ("hej");
27
 
--error 1366
28
28
insert into t1 values ("hej"),("d�");
29
29
drop table t1;
30
30
set SQL_WARNINGS=0;
46
46
drop table t1;
47
47
 
48
48
#
49
 
# Test error for LOAD DATA INFILE
 
49
# Test warnings for LOAD DATA INFILE
50
50
#
51
51
 
52
52
create table t1(a int, b int not null, c date, d char(5));
53
 
--error 1263
54
53
load data infile '../std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
55
54
# PS doesn't work good with @@warning_count
56
55
--disable_ps_protocol
59
58
drop table t1;
60
59
 
61
60
#
62
 
# Errors and Warnings from basic INSERT, UPDATE and ALTER commands
 
61
# Warnings from basic INSERT, UPDATE and ALTER commands
63
62
#
64
63
 
65
64
create table t1(a int NOT NULL, b int, c char(5));
66
 
 
67
 
# Error data to big for character field
68
 
--error 1406
69
 
insert into t1 values(-1,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
70
 
insert into t1 values(-1,100,'mysql'),(10,-1,'dri '),(500,256,'zzle'),(20,NULL,'test');
71
 
 
72
 
# Error as changing width truncates data
73
 
--error 1265  
 
65
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
74
66
alter table t1 modify c char(4);
75
67
alter table t1 add d char(2);
76
 
 
77
 
# Error trying to insert NULL data into NOT NULL field
78
68
--error 1048
79
69
update t1 set a=NULL where a=10;
80
 
 
81
 
# Error data to big for character field
82
 
--error 1406
83
 
update t1 set c='drizzle' where c='test';
84
 
 
85
 
# Error data to big for character field
86
 
--error 1406
 
70
update t1 set c='mysql ab' where c='test';
87
71
update t1 set d=c;
88
 
 
89
72
create table t2(a int NOT NULL, b char(3));
90
 
 
91
 
# Error data to big for character field
92
 
--error 1406
93
73
insert into t2 select b,c from t1;
94
 
 
95
 
# Error 'a' doesn't have a default value
96
 
--error 1364
97
74
insert into t2(b) values('mysqlab');
98
 
insert into t2(a) values(1);
99
 
 
100
75
set sql_warnings=1;
101
 
 
102
 
# Error data to big for character field
103
 
--error 1406
104
 
insert into t2(a,b) values(1,'mysqlab');
105
 
insert into t2(a,b) values(1,'mys');
106
 
 
 
76
insert into t2(b) values('mysqlab');
107
77
set sql_warnings=0;
108
78
drop table t1, t2;
109
79
 
116
86
disable_query_log;
117
87
while ($1)
118
88
{
119
 
  eval insert into t1 values('drizzle ab');
 
89
  eval insert into t1 values('mysql ab');
120
90
  dec $1;
121
91
}
122
92
enable_query_log;
123
93
alter table t1 add b char;
124
94
set max_error_count=10;
125
 
 
126
 
# Error data to big for character field
127
 
--error 1406
128
 
update t1 set b=a;
129
 
 
130
 
alter table t1 modify b char(10);
131
95
update t1 set b=a;
132
96
--disable_ps_protocol
133
97
select @@warning_count;
149
113
drop table t1;
150
114
 
151
115
#
152
 
# Tests for show errors and warnings limit a, b
 
116
# Tests for show warnings limit a, b
153
117
#
154
118
create table t1 (a int);
155
119
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
156
 
# Incorrect integer value abc for column a
157
 
--error 1366
 
120
# should generate 10 warnings
158
121
update t1 set a='abc';
159
122
show warnings limit 2, 1;
160
123
show warnings limit 0, 10;
173
136
 
174
137
--echo End of 4.1 tests
175
138
 
176
 
create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext blob);
 
139
#
 
140
# Bug#20778: strange characters in warning message 1366 when called in SP
 
141
#
 
142
 
 
143
CREATE TABLE t1( f1 CHAR(20) );
 
144
CREATE TABLE t2( f1 CHAR(20), f2 CHAR(25) );
 
145
CREATE TABLE t3( f1 CHAR(20), f2 CHAR(25), f3 DATE );
 
146
 
 
147
INSERT INTO t1 VALUES ( 'a`' );
 
148
INSERT INTO t2 VALUES ( 'a`', 'a`' );
 
149
INSERT INTO t3 VALUES ( 'a`', 'a`', '1000-01-1' );
 
150
 
 
151
DROP PROCEDURE IF EXISTS sp1;
 
152
DROP PROCEDURE IF EXISTS sp2;
 
153
DROP PROCEDURE IF EXISTS sp3;
 
154
delimiter //;
 
155
CREATE PROCEDURE sp1()
 
156
BEGIN
 
157
   DECLARE x NUMERIC ZEROFILL;
 
158
   SELECT f1 INTO x FROM t1 LIMIT 1;
 
159
END//
 
160
CREATE PROCEDURE sp2()
 
161
BEGIN
 
162
   DECLARE x NUMERIC ZEROFILL;
 
163
   SELECT f1 INTO x FROM t2 LIMIT 1;
 
164
END//
 
165
CREATE PROCEDURE sp3()
 
166
BEGIN
 
167
   DECLARE x NUMERIC ZEROFILL;
 
168
   SELECT f1 INTO x FROM t3 LIMIT 1;
 
169
END//
 
170
delimiter ;//
 
171
CALL sp1();
 
172
CALL sp2();
 
173
CALL sp3();
 
174
 
 
175
DROP PROCEDURE IF EXISTS sp1;
 
176
delimiter //;
 
177
CREATE PROCEDURE sp1()
 
178
BEGIN
 
179
declare x numeric zerofill;
 
180
SELECT f1 into x from t2 limit 1;
 
181
END//
 
182
delimiter ;//
 
183
CALL sp1();
 
184
DROP TABLE t1;
 
185
DROP TABLE t2;
 
186
DROP TABLE t3;
 
187
DROP PROCEDURE sp1;
 
188
DROP PROCEDURE sp2;
 
189
DROP PROCEDURE sp3;
 
190
 
 
191
 
 
192
#
 
193
# Bug#30059: End-space truncation warnings are inconsistent or incorrect
 
194
#
 
195
 
 
196
create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext tinytext);
 
197
create table t2 (c_tinyblob tinyblob); # not affected by bug, for regression testing
177
198
set @c = repeat(' ', 256);
178
199
set @q = repeat('q', 256);
179
200
 
180
 
# BUG, 309791 currently only gives a warning but should give error
181
 
insert into t1 values(@c, @c, @c);
182
 
show warnings;
 
201
set sql_mode = '';
 
202
 
 
203
insert into t1 values(@c, @c, @c);
 
204
insert into t2 values(@c);
 
205
insert into t1 values(@q, @q, @q);
 
206
insert into t2 values(@q);
 
207
 
 
208
set sql_mode = 'traditional';
 
209
 
 
210
insert into t1 values(@c, @c, @c);
 
211
--error 1406
 
212
insert into t2 values(@c);
183
213
--error 1406
184
214
insert into t1 values(@q, NULL, NULL);
185
215
--error 1406
186
216
insert into t1 values(NULL, @q, NULL);
 
217
--error 1406
187
218
insert into t1 values(NULL, NULL, @q);
188
 
 
189
 
drop table t1;
190
 
 
191
 
--echo End of Drizzle tests
 
219
--error 1406
 
220
insert into t2 values(@q);
 
221
 
 
222
drop table t1, t2;
 
223
 
 
224
--echo End of 5.0 tests