~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/warnings.test

  • Committer: Monty Taylor
  • Date: 2008-12-21 04:16:39 UTC
  • mfrom: (726 testable)
  • mto: (722.2.2 devel)
  • mto: This revision was merged to the branch mainline in revision 727.
  • Revision ID: monty@inaugust.com-20081221041639-u1d19wdrq70s5qug
Merged from trunk.

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;
19
15
--error 1064
20
16
create table t (i);
21
17
show count(*) errors;
22
18
show errors;
23
19
insert into t1 values (1);
 
20
--error 1366
24
21
insert into t1 values ("hej");
 
22
--error 1366
25
23
insert into t1 values ("hej"),("d�");
26
24
set SQL_WARNINGS=1;
 
25
--error 1366
27
26
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 warnings for LOAD DATA INFILE
 
49
# Test error 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
53
54
load data infile '../std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
54
55
# PS doesn't work good with @@warning_count
55
56
--disable_ps_protocol
58
59
drop table t1;
59
60
 
60
61
#
61
 
# Warnings from basic INSERT, UPDATE and ALTER commands
 
62
# Errors and Warnings from basic INSERT, UPDATE and ALTER commands
62
63
#
63
64
 
64
65
create table t1(a int NOT NULL, b int, c char(5));
65
 
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
 
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  
66
74
alter table t1 modify c char(4);
67
75
alter table t1 add d char(2);
 
76
 
 
77
# Error trying to insert NULL data into NOT NULL field
68
78
--error 1048
69
79
update t1 set a=NULL where a=10;
70
 
update t1 set c='mysql ab' where c='test';
 
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
71
87
update t1 set d=c;
 
88
 
72
89
create table t2(a int NOT NULL, b char(3));
 
90
 
 
91
# Error data to big for character field
 
92
--error 1406
73
93
insert into t2 select b,c from t1;
 
94
 
 
95
# Error 'a' doesn't have a default value
 
96
--error 1364
74
97
insert into t2(b) values('mysqlab');
 
98
insert into t2(a) values(1);
 
99
 
75
100
set sql_warnings=1;
76
 
insert into t2(b) values('mysqlab');
 
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
 
77
107
set sql_warnings=0;
78
108
drop table t1, t2;
79
109
 
86
116
disable_query_log;
87
117
while ($1)
88
118
{
89
 
  eval insert into t1 values('mysql ab');
 
119
  eval insert into t1 values('drizzle ab');
90
120
  dec $1;
91
121
}
92
122
enable_query_log;
93
123
alter table t1 add b char;
94
124
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);
95
131
update t1 set b=a;
96
132
--disable_ps_protocol
97
133
select @@warning_count;
113
149
drop table t1;
114
150
 
115
151
#
116
 
# Tests for show warnings limit a, b
 
152
# Tests for show errors and warnings limit a, b
117
153
#
118
154
create table t1 (a int);
119
155
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
120
 
# should generate 10 warnings
 
156
# Incorrect integer value abc for column a
 
157
--error 1366
121
158
update t1 set a='abc';
122
159
show warnings limit 2, 1;
123
160
show warnings limit 0, 10;
136
173
 
137
174
--echo End of 4.1 tests
138
175
 
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
 
176
create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext blob);
198
177
set @c = repeat(' ', 256);
199
178
set @q = repeat('q', 256);
200
179
 
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);
 
180
# BUG, 309791 currently only gives a warning but should give error
 
181
insert into t1 values(@c, @c, @c);
 
182
show warnings;
213
183
--error 1406
214
184
insert into t1 values(@q, NULL, NULL);
215
185
--error 1406
216
186
insert into t1 values(NULL, @q, NULL);
217
 
--error 1406
218
187
insert into t1 values(NULL, NULL, @q);
219
 
--error 1406
220
 
insert into t2 values(@q);
221
 
 
222
 
drop table t1, t2;
223
 
 
224
 
--echo End of 5.0 tests
 
188
 
 
189
drop table t1;
 
190
 
 
191
--echo End of Drizzle tests