1drop table if exists t1, t2;
2SET SQL_WARNINGS=1;
3create table t1 (a int);
4create table t1 (a int);
5ERROR 42S01: Table 't1' already exists
6show count(*) errors;
7@@session.error_count
81
9show errors;
10Level	Code	Message
11Error	1050	Table 't1' already exists
12show warnings;
13Level	Code	Message
14Error	1050	Table 't1' already exists
15create table t2(a int) default charset qwerty;
16ERROR 42000: Unknown character set: 'qwerty'
17show count(*) errors;
18@@session.error_count
191
20show errors;
21Level	Code	Message
22Error	1115	Unknown character set: 'qwerty'
23create table t (i);
24ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
25show count(*) errors;
26@@session.error_count
271
28show errors;
29Level	Code	Message
30Error	1064	You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
31insert into t1 values (1);
32insert ignore into t1 values ("hej");
33Warnings:
34Warning	1366	Incorrect integer value: 'hej' for column `test`.`t1`.`a` at row 1
35insert ignore into t1 values ("hej"),("d�");
36Warnings:
37Warning	1366	Incorrect integer value: 'hej' for column `test`.`t1`.`a` at row 1
38Warning	1366	Incorrect integer value: 'd�' for column `test`.`t1`.`a` at row 2
39set SQL_WARNINGS=1;
40insert ignore into t1 values ("hej");
41Warnings:
42Warning	1366	Incorrect integer value: 'hej' for column `test`.`t1`.`a` at row 1
43insert ignore into t1 values ("hej"),("d�");
44Warnings:
45Warning	1366	Incorrect integer value: 'hej' for column `test`.`t1`.`a` at row 1
46Warning	1366	Incorrect integer value: 'd�' for column `test`.`t1`.`a` at row 2
47drop table t1;
48set SQL_WARNINGS=0;
49drop temporary table if exists not_exists;
50Warnings:
51Note	1051	Unknown table 'test.not_exists'
52drop table if exists not_exists_table;
53Warnings:
54Note	1051	Unknown table 'test.not_exists_table'
55show warnings limit 1;
56Level	Code	Message
57Note	1051	Unknown table 'test.not_exists_table'
58drop database if exists not_exists_db;
59Warnings:
60Note	1008	Can't drop database 'not_exists_db'; database doesn't exist
61show count(*) warnings;
62@@session.warning_count
631
64create table t1(id int);
65create table if not exists t1(id int);
66Warnings:
67Note	1050	Table 't1' already exists
68select @@warning_count;
69@@warning_count
701
71drop table t1;
72create table t1(a tinyint, b int not null, c date, d char(5));
73load data infile '../../std_data/warnings_loaddata.dat' into table t1 fields terminated by ',';
74Warnings:
75Warning	1263	Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
76Warning	1406	Data too long for column 'd' at row 3
77Warning	1265	Data truncated for column 'c' at row 4
78Warning	1261	Row 5 doesn't contain data for all columns
79Warning	1265	Data truncated for column 'b' at row 6
80Warning	1262	Row 7 was truncated; it contained more data than there were input columns
81Warning	1264	Out of range value for column 'a' at row 8
82select @@warning_count;
83@@warning_count
847
85drop table t1;
86create table t1(a tinyint NOT NULL, b tinyint unsigned, c char(5));
87insert ignore into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
88Warnings:
89Warning	1048	Column 'a' cannot be null
90Warning	1264	Out of range value for column 'b' at row 2
91Warning	1265	Data truncated for column 'c' at row 2
92Warning	1264	Out of range value for column 'a' at row 3
93Warning	1264	Out of range value for column 'b' at row 3
94Warning	1265	Data truncated for column 'c' at row 3
95SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
96alter table t1 modify c char(4);
97Warnings:
98Warning	1265	Data truncated for column 'c' at row 1
99Warning	1265	Data truncated for column 'c' at row 2
100alter table t1 add d char(2);
101update ignore t1 set a=NULL where a=10;
102Warnings:
103Warning	1048	Column 'a' cannot be null
104update ignore t1 set c='mysql ab' where c='test';
105Warnings:
106Warning	1265	Data truncated for column 'c' at row 4
107update ignore t1 set d=c;
108Warnings:
109Warning	1265	Data truncated for column 'd' at row 1
110Warning	1265	Data truncated for column 'd' at row 2
111Warning	1265	Data truncated for column 'd' at row 3
112Warning	1265	Data truncated for column 'd' at row 4
113create table t2(a tinyint NOT NULL, b char(3));
114insert ignore into t2 select b,c from t1;
115Warnings:
116Warning	1265	Data truncated for column 'b' at row 1
117Warning	1265	Data truncated for column 'b' at row 2
118Warning	1264	Out of range value for column 'a' at row 3
119Warning	1265	Data truncated for column 'b' at row 3
120Warning	1048	Column 'a' cannot be null
121Warning	1265	Data truncated for column 'b' at row 4
122insert ignore into t2(b) values('mysqlab');
123Warnings:
124Warning	1364	Field 'a' doesn't have a default value
125Warning	1265	Data truncated for column 'b' at row 1
126set sql_warnings=1;
127insert ignore into t2(b) values('mysqlab');
128Warnings:
129Warning	1364	Field 'a' doesn't have a default value
130Warning	1265	Data truncated for column 'b' at row 1
131set sql_warnings=0;
132drop table t1, t2;
133create table t1(a char(10));
134alter table t1 add b char;
135set max_error_count=10;
136update ignore t1 set b=a;
137Warnings:
138Warning	1265	Data truncated for column 'b' at row 1
139Warning	1265	Data truncated for column 'b' at row 2
140Warning	1265	Data truncated for column 'b' at row 3
141Warning	1265	Data truncated for column 'b' at row 4
142Warning	1265	Data truncated for column 'b' at row 5
143Warning	1265	Data truncated for column 'b' at row 6
144Warning	1265	Data truncated for column 'b' at row 7
145Warning	1265	Data truncated for column 'b' at row 8
146Warning	1265	Data truncated for column 'b' at row 9
147Warning	1265	Data truncated for column 'b' at row 10
148select @@warning_count;
149@@warning_count
15050
151set max_error_count=0;
152show variables like 'max_error_count';
153Variable_name	Value
154max_error_count	0
155update ignore t1 set b='hi';
156Warnings:
157select @@warning_count;
158@@warning_count
15950
160show warnings;
161Level	Code	Message
162set max_error_count=65535;
163show variables like 'max_error_count';
164Variable_name	Value
165max_error_count	65535
166set max_error_count=10;
167show variables like 'max_error_count';
168Variable_name	Value
169max_error_count	10
170drop table t1;
171create table t1 (a int);
172insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
173update ignore t1 set a='abc';
174Warnings:
175Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 1
176Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 2
177Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 3
178Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 4
179Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 5
180Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 6
181Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 7
182Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 8
183Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 9
184Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 10
185show warnings limit 2, 1;
186Level	Code	Message
187Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 3
188show warnings limit 0, 10;
189Level	Code	Message
190Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 1
191Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 2
192Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 3
193Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 4
194Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 5
195Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 6
196Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 7
197Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 8
198Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 9
199Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 10
200show warnings limit 9, 1;
201Level	Code	Message
202Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 10
203show warnings limit 10, 1;
204Level	Code	Message
205show warnings limit 9, 2;
206Level	Code	Message
207Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 10
208show warnings limit 0, 0;
209Level	Code	Message
210show warnings limit 1;
211Level	Code	Message
212Warning	1366	Incorrect integer value: 'abc' for column `test`.`t1`.`a` at row 1
213show warnings limit 0;
214Level	Code	Message
215show warnings limit 1, 0;
216Level	Code	Message
217select * from t1 limit 0;
218a
219select * from t1 limit 1, 0;
220a
221select * from t1 limit 0, 0;
222a
223drop table t1;
224End of 4.1 tests
225CREATE TABLE t1( f1 CHAR(20) );
226CREATE TABLE t2( f1 CHAR(20), f2 CHAR(25) );
227CREATE TABLE t3( f1 CHAR(20), f2 CHAR(25), f3 DATE );
228INSERT INTO t1 VALUES ( 'a`' );
229INSERT INTO t2 VALUES ( 'a`', 'a`' );
230INSERT INTO t3 VALUES ( 'a`', 'a`', '1000-01-1' );
231DROP PROCEDURE IF EXISTS sp1;
232Warnings:
233Note	1305	PROCEDURE test.sp1 does not exist
234DROP PROCEDURE IF EXISTS sp2;
235Warnings:
236Note	1305	PROCEDURE test.sp2 does not exist
237DROP PROCEDURE IF EXISTS sp3;
238Warnings:
239Note	1305	PROCEDURE test.sp3 does not exist
240SET sql_mode = '';
241CREATE PROCEDURE sp1()
242BEGIN
243DECLARE x NUMERIC ZEROFILL;
244SELECT f1 INTO x FROM t1 LIMIT 1;
245END//
246CREATE PROCEDURE sp2()
247BEGIN
248DECLARE x NUMERIC ZEROFILL;
249SELECT f1 INTO x FROM t2 LIMIT 1;
250END//
251CREATE PROCEDURE sp3()
252BEGIN
253DECLARE x NUMERIC ZEROFILL;
254SELECT f1 INTO x FROM t3 LIMIT 1;
255END//
256CALL sp1();
257Warnings:
258Warning	1366	Incorrect decimal value: 'a`' for column ``.``.`x` at row 1
259CALL sp2();
260Warnings:
261Warning	1366	Incorrect decimal value: 'a`' for column ``.``.`x` at row 1
262CALL sp3();
263Warnings:
264Warning	1366	Incorrect decimal value: 'a`' for column ``.``.`x` at row 1
265SET sql_mode = DEFAULT;
266DROP PROCEDURE IF EXISTS sp1;
267SET sql_mode = '';
268CREATE PROCEDURE sp1()
269BEGIN
270declare x numeric unsigned zerofill;
271SELECT f1 into x from t2 limit 1;
272END//
273CALL sp1();
274Warnings:
275Warning	1366	Incorrect decimal value: 'a`' for column ``.``.`x` at row 1
276SET sql_mode = DEFAULT;
277DROP TABLE t1;
278DROP TABLE t2;
279DROP TABLE t3;
280DROP PROCEDURE sp1;
281DROP PROCEDURE sp2;
282DROP PROCEDURE sp3;
283create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext tinytext);
284create table t2 (c_tinyblob tinyblob);
285set @c = repeat(' ', 256);
286set @q = repeat('q', 256);
287set sql_mode = '';
288insert into t1 values(@c, @c, @c);
289Warnings:
290Note	1265	Data truncated for column 'c_varchar' at row 1
291Note	1265	Data truncated for column 'c_tinytext' at row 1
292insert into t2 values(@c);
293Warnings:
294Warning	1265	Data truncated for column 'c_tinyblob' at row 1
295insert into t1 values(@q, @q, @q);
296Warnings:
297Warning	1265	Data truncated for column 'c_char' at row 1
298Warning	1265	Data truncated for column 'c_varchar' at row 1
299Warning	1265	Data truncated for column 'c_tinytext' at row 1
300insert into t2 values(@q);
301Warnings:
302Warning	1265	Data truncated for column 'c_tinyblob' at row 1
303set sql_mode = 'traditional';
304insert into t1 values(@c, @c, @c);
305Warnings:
306Note	1265	Data truncated for column 'c_varchar' at row 1
307Note	1265	Data truncated for column 'c_tinytext' at row 1
308insert into t2 values(@c);
309ERROR 22001: Data too long for column 'c_tinyblob' at row 1
310insert into t1 values(@q, NULL, NULL);
311ERROR 22001: Data too long for column 'c_char' at row 1
312insert into t1 values(NULL, @q, NULL);
313ERROR 22001: Data too long for column 'c_varchar' at row 1
314insert into t1 values(NULL, NULL, @q);
315ERROR 22001: Data too long for column 'c_tinytext' at row 1
316insert into t2 values(@q);
317ERROR 22001: Data too long for column 'c_tinyblob' at row 1
318drop table t1, t2;
319DROP TABLE t1;
320ERROR 42S02: Unknown table 'test.t1'
321SHOW ERRORS;
322Level	Code	Message
323Error	1051	Unknown table 'test.t1'
324End of 5.0 tests
325set sql_mode = default;
326select CAST(a AS DECIMAL(13,5)) FROM (SELECT '' as a) t;
327CAST(a AS DECIMAL(13,5))
3280.00000
329Warnings:
330Warning	1918	Encountered illegal value '' when converting to DECIMAL
331Warning	1292	Truncated incorrect DECIMAL value: ''
332create table t1 (a integer unsigned);
333insert into t1 values (1),(-1),(0),(-2);
334Warnings:
335Warning	1264	Out of range value for column 'a' at row 2
336Warning	1264	Out of range value for column 'a' at row 4
337drop table t1;
338End of 5.1 tests
339
340-- Bug#55847
341
342DROP TABLE IF EXISTS t1;
343DROP FUNCTION IF EXISTS f1;
344CREATE TABLE t1(a INT UNIQUE);
345CREATE FUNCTION f1(x INT) RETURNS INT
346BEGIN
347INSERT INTO t1 VALUES(x);
348INSERT INTO t1 VALUES(x);
349RETURN x;
350END|
351
352SHOW TABLES WHERE f1(11) = 11;
353ERROR 23000: Duplicate entry '11' for key 'a'
354
355SHOW WARNINGS;
356Level	Code	Message
357Note	4094	At line 4 in test.f1
358Error	1062	Duplicate entry '11' for key 'a'
359
360DROP TABLE t1;
361DROP FUNCTION f1;
362connect  con1,localhost,root,,;
363SELECT TIME('10:10:10.11111111111');
364TIME('10:10:10.11111111111')
36510:10:10.111111
366Warnings:
367Note	1292	Truncated incorrect time value: '10:10:10.11111111111'
368disconnect con1;
369connect  con2,localhost,root,,;
370SHOW WARNINGS;
371Level	Code	Message
372disconnect con2;
373connection default;
374