mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint-greener Makefile.am: Auto merged configure.in: Auto merged include/mysql.h: Auto merged mysql-test/Makefile.am: Auto merged mysql-test/lib/mtr_cases.pl: Auto merged mysql-test/lib/mtr_process.pl: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/myisam.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/myisam.test: Auto merged scripts/make_binary_distribution.sh: Auto merged scripts/mysqlbug.sh: Auto merged server-tools/instance-manager/Makefile.am: Auto merged sql/event_queue.cc: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/item_sum.h: Auto merged sql/opt_range.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_plugin.cc: Auto merged sql/sql_show.cc: Auto merged storage/federated/ha_federated.cc: Auto merged mysql-test/r/warnings.result: Manual merge. mysql-test/t/warnings.test: Manual merge. strings/ctype-extra.c: Manual merge.
		
			
				
	
	
		
			196 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			196 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
# Test some warnings
 | 
						|
#
 | 
						|
--disable_warnings
 | 
						|
drop table if exists t1, t2;
 | 
						|
--enable_warnings
 | 
						|
SET SQL_WARNINGS=1;
 | 
						|
 | 
						|
create table t1 (a int);
 | 
						|
--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;
 | 
						|
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;
 | 
						|
 | 
						|
#
 | 
						|
# Test other warnings
 | 
						|
#
 | 
						|
 | 
						|
drop temporary table if exists not_exists;
 | 
						|
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);
 | 
						|
--disable_ps_protocol
 | 
						|
select @@warning_count;
 | 
						|
--enable_ps_protocol
 | 
						|
drop table t1;
 | 
						|
 | 
						|
#
 | 
						|
# Test warnings for LOAD DATA INFILE
 | 
						|
#
 | 
						|
 | 
						|
create table t1(a tinyint, b int not null, c date, d char(5));
 | 
						|
load data infile '../std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
 | 
						|
# PS doesn't work good with @@warning_count
 | 
						|
--disable_ps_protocol
 | 
						|
select @@warning_count;
 | 
						|
--enable_ps_protocol
 | 
						|
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;
 | 
						|
insert into t2(b) values('mysqlab');
 | 
						|
set sql_warnings=1;
 | 
						|
insert into t2(b) values('mysqlab');
 | 
						|
set sql_warnings=0;
 | 
						|
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;
 | 
						|
--disable_ps_protocol
 | 
						|
select @@warning_count;
 | 
						|
--enable_ps_protocol
 | 
						|
 | 
						|
# 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';
 | 
						|
 | 
						|
drop table t1;
 | 
						|
 | 
						|
#
 | 
						|
# Test for deprecated table_type variable
 | 
						|
#
 | 
						|
set table_type=MYISAM;
 | 
						|
 | 
						|
#
 | 
						|
# 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;
 | 
						|
 | 
						|
--echo End of 4.1 tests
 | 
						|
 | 
						|
#
 | 
						|
# Bug#20778: strange characters in warning message 1366 when called in SP
 | 
						|
#
 | 
						|
 | 
						|
CREATE TABLE t1( f1 CHAR(20) );
 | 
						|
CREATE TABLE t2( f1 CHAR(20), f2 CHAR(25) );
 | 
						|
CREATE TABLE t3( f1 CHAR(20), f2 CHAR(25), f3 DATE );
 | 
						|
 | 
						|
INSERT INTO t1 VALUES ( 'a`' );
 | 
						|
INSERT INTO t2 VALUES ( 'a`', 'a`' );
 | 
						|
INSERT INTO t3 VALUES ( 'a`', 'a`', '1000-01-1' );
 | 
						|
 | 
						|
DROP PROCEDURE IF EXISTS sp1;
 | 
						|
DROP PROCEDURE IF EXISTS sp2;
 | 
						|
DROP PROCEDURE IF EXISTS sp3;
 | 
						|
delimiter //;
 | 
						|
CREATE PROCEDURE sp1()
 | 
						|
BEGIN
 | 
						|
   DECLARE x NUMERIC ZEROFILL;
 | 
						|
   SELECT f1 INTO x FROM t1 LIMIT 1;
 | 
						|
END//
 | 
						|
CREATE PROCEDURE sp2()
 | 
						|
BEGIN
 | 
						|
   DECLARE x NUMERIC ZEROFILL;
 | 
						|
   SELECT f1 INTO x FROM t2 LIMIT 1;
 | 
						|
END//
 | 
						|
CREATE PROCEDURE sp3()
 | 
						|
BEGIN
 | 
						|
   DECLARE x NUMERIC ZEROFILL;
 | 
						|
   SELECT f1 INTO x FROM t3 LIMIT 1;
 | 
						|
END//
 | 
						|
delimiter ;//
 | 
						|
CALL sp1();
 | 
						|
CALL sp2();
 | 
						|
CALL sp3();
 | 
						|
 | 
						|
DROP PROCEDURE IF EXISTS sp1;
 | 
						|
delimiter //;
 | 
						|
CREATE PROCEDURE sp1()
 | 
						|
BEGIN
 | 
						|
declare x numeric unsigned zerofill;
 | 
						|
SELECT f1 into x from t2 limit 1;
 | 
						|
END//
 | 
						|
delimiter ;//
 | 
						|
CALL sp1();
 | 
						|
DROP TABLE t1;
 | 
						|
DROP TABLE t2;
 | 
						|
DROP TABLE t3;
 | 
						|
DROP PROCEDURE sp1;
 | 
						|
DROP PROCEDURE sp2;
 | 
						|
DROP PROCEDURE sp3;
 | 
						|
 | 
						|
--echo End of 5.0 tests
 |