mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	More tests. Better error messages. Fixed bug when checking if we updated all needed columns for INSERT. Give an error if we encounter a wrong float value during parsing. Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS. Fixed UPDATE IGNORE when using STRICT mode. include/mysqld_error.h: More error messages for strict mode include/sql_state.h: Fixed wrong state New error message mysql-test/r/alter_table.result: Updated results for not automatic default fields mysql-test/r/auto_increment.result: Better error messages mysql-test/r/create.result: Updated results for not automatic default fields Better error messages mysql-test/r/ctype_collate.result: Updated results for not automatic default fields mysql-test/r/ctype_latin1_de.result: Updated results for not automatic default fields mysql-test/r/ctype_many.result: Updated results for not automatic default fields mysql-test/r/ctype_recoding.result: Updated results for not automatic default fields mysql-test/r/gis-rtree.result: Updated results for not automatic default fields mysql-test/r/gis.result: Updated results for not automatic default fields mysql-test/r/innodb.result: Updated results for not automatic default fields mysql-test/r/insert.result: Better error messages mysql-test/r/insert_select.result: Better error messages mysql-test/r/isam.result: Updated results for not automatic default fields mysql-test/r/key.result: Better error messages mysql-test/r/merge.result: Updated results for not automatic default fields mysql-test/r/null.result: Better error messages mysql-test/r/null_key.result: Better error messages mysql-test/r/ps_1general.result: Updated results for not automatic default fields mysql-test/r/select.result: Drop views that may interfere with later results mysql-test/r/show_check.result: Updated results for not automatic default fields mysql-test/r/sp.result: Updated results for not automatic default fields mysql-test/r/strict.result: More tests mysql-test/r/type_set.result: Updated results for not automatic default fields mysql-test/r/warnings.result: Better error messages mysql-test/t/insert.test: Using wrong float values now gives an error mysql-test/t/select.test: Drop views that may interfere with later results mysql-test/t/strict.test: More tests scripts/mysql_fix_privilege_tables.sql: Add missing DEFAULT's sql/field.cc: Fix some strict mode issues for float and double sql/field.h: Fix DEFAULT handling sql/item.cc: Give an error if we encounter a wrong float value during parsing. Give an error if we use DEFAULT() on a field that doesn't have a default value. sql/item.h: Give an error if we encounter a wrong float value during parsing. sql/mysqld.cc: More debug info sql/share/czech/errmsg.txt: Better error messages sql/share/danish/errmsg.txt: Better error messages sql/share/dutch/errmsg.txt: Better error messages sql/share/english/errmsg.txt: Better error messages sql/share/estonian/errmsg.txt: Better error messages sql/share/french/errmsg.txt: Better error messages sql/share/german/errmsg.txt: Better error messages sql/share/greek/errmsg.txt: Better error messages sql/share/hungarian/errmsg.txt: Better error messages sql/share/italian/errmsg.txt: Better error messages sql/share/japanese/errmsg.txt: Better error messages sql/share/korean/errmsg.txt: Better error messages sql/share/norwegian-ny/errmsg.txt: Better error messages sql/share/norwegian/errmsg.txt: Better error messages sql/share/polish/errmsg.txt: Better error messages sql/share/portuguese/errmsg.txt: Better error messages sql/share/romanian/errmsg.txt: Better error messages sql/share/russian/errmsg.txt: Better error messages sql/share/serbian/errmsg.txt: Better error messages sql/share/slovak/errmsg.txt: Better error messages sql/share/spanish/errmsg.txt: Better error messages sql/share/swedish/errmsg.txt: Better error messages sql/share/ukrainian/errmsg.txt: Better error messages sql/sql_insert.cc: Fixed bug in last push of checking of default values. sql/sql_parse.cc: Enum fields has always a default value sql/sql_show.cc: Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS sql/sql_table.cc: Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG sql/sql_update.cc: Don't abort for wrong values for UPDATE IGNORE sql/sql_yacc.yy: Abort if we find a wrong float value sql/table.cc: Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
		
			
				
	
	
		
			136 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1, t2;
 | |
| SET SQL_WARNINGS=1;
 | |
| create table t1 (a int);
 | |
| insert into t1 values (1);
 | |
| insert into t1 values ("hej");
 | |
| Warnings:
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 1
 | |
| insert into t1 values ("hej"),("då");
 | |
| Warnings:
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 1
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 2
 | |
| set SQL_WARNINGS=1;
 | |
| insert into t1 values ("hej");
 | |
| Warnings:
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 1
 | |
| insert into t1 values ("hej"),("då");
 | |
| Warnings:
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 1
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 2
 | |
| drop table t1;
 | |
| set SQL_WARNINGS=0;
 | |
| drop temporary table if exists not_exists;
 | |
| Warnings:
 | |
| Note	1051	Unknown table 'not_exists'
 | |
| drop table if exists not_exists_table;
 | |
| Warnings:
 | |
| Note	1051	Unknown table 'not_exists_table'
 | |
| show warnings limit 1;
 | |
| Level	Code	Message
 | |
| Note	1051	Unknown table 'not_exists_table'
 | |
| drop database if exists not_exists_db;
 | |
| Warnings:
 | |
| Note	1008	Can't drop database 'not_exists_db'; database doesn't exist
 | |
| show count(*) warnings;
 | |
| @@session.warning_count
 | |
| 1
 | |
| create table t1(id int);
 | |
| create table if not exists t1(id int);
 | |
| select @@warning_count;
 | |
| @@warning_count
 | |
| 0
 | |
| drop table t1;
 | |
| create table t1(a tinyint, b int not null, c date, d char(5));
 | |
| load data infile '../../std_data/warnings_loaddata.dat' into table t1 fields terminated by ',';
 | |
| Warnings:
 | |
| Warning	1263	Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
 | |
| Warning	1265	Data truncated for column 'd' at row 3
 | |
| Warning	1265	Data truncated for column 'c' at row 4
 | |
| Warning	1261	Row 5 doesn't contain data for all columns
 | |
| Warning	1265	Data truncated for column 'b' at row 6
 | |
| Warning	1262	Row 7 was truncated; it contained more data than there were input columns
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 8
 | |
| select @@warning_count;
 | |
| @@warning_count
 | |
| 7
 | |
| drop table t1;
 | |
| 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');
 | |
| Warnings:
 | |
| Warning	1263	Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
 | |
| Warning	1264	Out of range value adjusted for column 'b' at row 2
 | |
| Warning	1265	Data truncated for column 'c' at row 2
 | |
| Warning	1264	Out of range value adjusted for column 'a' at row 3
 | |
| Warning	1264	Out of range value adjusted for column 'b' at row 3
 | |
| Warning	1265	Data truncated for column 'c' at row 3
 | |
| alter table t1 modify c char(4);
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'c' at row 1
 | |
| Warning	1265	Data truncated for column 'c' at row 2
 | |
| alter table t1 add d char(2);
 | |
| update t1 set a=NULL where a=10;
 | |
| Warnings:
 | |
| Warning	1263	Column set to default value; NULL supplied to NOT NULL column 'a' at row 2
 | |
| update t1 set c='mysql ab' where c='test';
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'c' at row 4
 | |
| update t1 set d=c;
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'd' at row 1
 | |
| Warning	1265	Data truncated for column 'd' at row 2
 | |
| Warning	1265	Data truncated for column 'd' at row 3
 | |
| Warning	1265	Data truncated for column 'd' at row 4
 | |
| create table t2(a tinyint NOT NULL, b char(3));
 | |
| insert into t2 select b,c from t1;
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'b' at row 1
 | |
| Warning	1265	Data truncated for column 'b' at row 2
 | |
| Warning	1265	Data truncated for column 'b' at row 3
 | |
| Warning	1263	Column set to default value; NULL supplied to NOT NULL column 'a' at row 4
 | |
| Warning	1265	Data truncated for column 'b' at row 4
 | |
| insert into t2(b) values('mysqlab');
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'b' at row 1
 | |
| set sql_warnings=1;
 | |
| insert into t2(b) values('mysqlab');
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'b' at row 1
 | |
| set sql_warnings=0;
 | |
| drop table t1, t2;
 | |
| create table t1(a char(10));
 | |
| alter table t1 add b char;
 | |
| set max_error_count=10;
 | |
| update t1 set b=a;
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'b' at row 1
 | |
| Warning	1265	Data truncated for column 'b' at row 2
 | |
| Warning	1265	Data truncated for column 'b' at row 3
 | |
| Warning	1265	Data truncated for column 'b' at row 4
 | |
| Warning	1265	Data truncated for column 'b' at row 5
 | |
| Warning	1265	Data truncated for column 'b' at row 6
 | |
| Warning	1265	Data truncated for column 'b' at row 7
 | |
| Warning	1265	Data truncated for column 'b' at row 8
 | |
| Warning	1265	Data truncated for column 'b' at row 9
 | |
| Warning	1265	Data truncated for column 'b' at row 10
 | |
| select @@warning_count;
 | |
| @@warning_count
 | |
| 50
 | |
| drop table t1;
 | |
| create table t1 (id int) engine=isam;
 | |
| Warnings:
 | |
| Warning	1266	Using storage engine MyISAM for table 't1'
 | |
| alter table t1 engine=isam;
 | |
| Warnings:
 | |
| Warning	1266	Using storage engine MyISAM for table 't1'
 | |
| drop table t1;
 | |
| create table t1 (id int) type=heap;
 | |
| Warnings:
 | |
| Warning	1287	'TYPE=storage_engine' is deprecated; use 'ENGINE=storage_engine' instead
 | |
| alter table t1 type=myisam;
 | |
| Warnings:
 | |
| Warning	1287	'TYPE=storage_engine' is deprecated; use 'ENGINE=storage_engine' instead
 | |
| drop table t1;
 | |
| set table_type=MYISAM;
 | |
| Warnings:
 | |
| Warning	1287	'table_type' is deprecated; use 'storage_engine' instead
 |