mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
6966e86951
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
135 lines
5 KiB
Text
135 lines
5 KiB
Text
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
|