warnings.test 3.23 KB
Newer Older
1 2 3
#
# Test some warnings
#
4
--disable_warnings
venu@myvenu.com's avatar
venu@myvenu.com committed
5
drop table if exists t1, t2;
6
--enable_warnings
monty@mashka.mysql.fi's avatar
monty@mashka.mysql.fi committed
7
SET SQL_WARNINGS=1;
8

9
create table t1 (a int);
10 11 12 13 14 15 16 17 18 19 20 21 22
--error 1050
create table t1 (a int);
show count(*) errors;
show errors;
show warnings;
--error 1115
create table t2(a int) default charset qwerty;
show count(*) errors;
show errors;
--error 1064
create table t (i);
show count(*) errors;
show errors;
23 24 25 26 27 28 29 30
insert into t1 values (1);
insert into t1 values ("hej");
insert into t1 values ("hej"),("d");
set SQL_WARNINGS=1;
insert into t1 values ("hej");
insert into t1 values ("hej"),("d");
drop table t1;
set SQL_WARNINGS=0;
31 32 33

#
# Test other warnings
venu@myvenu.com's avatar
venu@myvenu.com committed
34
#
35 36

drop temporary table if exists not_exists;
37 38 39 40 41 42
drop table if exists not_exists_table;
show warnings limit 1;
drop database if exists not_exists_db;
show count(*) warnings;
create table t1(id int);
create table if not exists t1(id int);
monty@mysql.com's avatar
monty@mysql.com committed
43
--disable_ps_protocol
44
select @@warning_count;
45
--enable_ps_protocol
46 47
drop table t1;

venu@myvenu.com's avatar
venu@myvenu.com committed
48 49 50 51 52
#
# Test warnings for LOAD DATA INFILE
#

create table t1(a tinyint, b int not null, c date, d char(5));
53
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
--disable_ps_protocol
venu@myvenu.com's avatar
venu@myvenu.com committed
56
select @@warning_count;
57
--enable_ps_protocol
venu@myvenu.com's avatar
venu@myvenu.com committed
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
drop table t1;

#
# Warnings from basic INSERT, UPDATE and ALTER commands
#

create table t1(a tinyint NOT NULL, b tinyint unsigned, c char(5));
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
alter table t1 modify c char(4);
alter table t1 add d char(2);
update t1 set a=NULL where a=10;
update t1 set c='mysql ab' where c='test';
update t1 set d=c;
create table t2(a tinyint NOT NULL, b char(3));
insert into t2 select b,c from t1;
73
insert into t2(b) values('mysqlab');
74 75 76
set sql_warnings=1;
insert into t2(b) values('mysqlab');
set sql_warnings=0;
venu@myvenu.com's avatar
venu@myvenu.com committed
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
drop table t1, t2;

#
# Test for max_error_count
#

create table t1(a char(10));
let $1=50;
disable_query_log;
while ($1)
{
  eval insert into t1 values('mysql ab');
  dec $1;
}
enable_query_log;
alter table t1 add b char;
set max_error_count=10;
update t1 set b=a;
95
--disable_ps_protocol
venu@myvenu.com's avatar
venu@myvenu.com committed
96
select @@warning_count;
97
--enable_ps_protocol
venu@myvenu.com's avatar
venu@myvenu.com committed
98

99 100 101 102 103 104 105 106 107 108 109 110 111
# Bug#9072
set max_error_count=0;
show variables like 'max_error_count';
update t1 set b='hi';
--disable_ps_protocol
select @@warning_count;
--enable_ps_protocol
show warnings;
set max_error_count=65535;
show variables like 'max_error_count';
set max_error_count=10;
show variables like 'max_error_count';

venu@myvenu.com's avatar
venu@myvenu.com committed
112 113 114
#
# Test for handler type
#
115
drop table t1;
116 117 118
#create table t1 (id int) engine=isam;
#alter table t1 engine=isam;
#drop table t1;
119

120 121 122 123
#
# Test for deprecated table_type variable
#
set table_type=MYISAM;
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145

#
# Tests for show warnings limit a, b
#
create table t1 (a int);
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
# should generate 10 warnings
update t1 set a='abc';
show warnings limit 2, 1;
show warnings limit 0, 10;
show warnings limit 9, 1;
show warnings limit 10, 1;
show warnings limit 9, 2;
show warnings limit 0, 0;
show warnings limit 1;
show warnings limit 0;
show warnings limit 1, 0;
# make sure behaviour is consistent with select ... limit
select * from t1 limit 0;
select * from t1 limit 1, 0;
select * from t1 limit 0, 0;
drop table t1;
146 147

# End of 4.1 tests