Commit 2f19824d authored by unknown's avatar unknown
Browse files

Enable warnings for 'no default' fields being set to default when they

are not specified in an insert. Most of these changes are actually to
clean up the test suite to either specify defaults to avoid warnings,
or add the warnings to the results. Related to bug #5986.


mysql-test/t/index_merge_ror.test:
  Set default on columns to avoid warnings
mysql-test/t/ctype_many.test:
  Add defaults to avoid warnings
mysql-test/t/ctype_latin1_de.test:
  Add defaults to avoid warnings
mysql-test/t/gis-rtree.test:
  Remove field that isn't used in test
mysql-test/t/limit.test:
  set default values
mysql-test/t/null.test:
  Specify default values
mysql-test/t/order_by.test:
  add default value
mysql-test/t/show_check.test:
  Add defaults
mysql-test/t/sp.test:
  Add default value
mysql-test/t/type_blob.test:
  Set default value
mysql-test/t/type_ranges.test:
  Set default values
mysql-test/r/create.result:
  Update results
mysql-test/r/ctype_latin1_de.result:
  Update results
mysql-test/r/ctype_many.result:
  Update results
mysql-test/r/gis-rtree.result:
  Update results
mysql-test/r/grant.result:
  Update results
mysql-test/r/grant2.result:
  Update results
mysql-test/r/help.result:
  Update results
mysql-test/r/limit.result:
  Update results
mysql-test/r/null.result:
  Update results
mysql-test/r/order_by.result:
  Update results
mysql-test/r/rpl000001.result:
  Update results
mysql-test/r/sp.result:
  Update results
mysql-test/r/strict.result:
  Update results
mysql-test/r/type_blob.result:
  Update results
mysql-test/r/type_ranges.result:
  Update results
mysql-test/r/warnings.result:
  Update results
sql/sql_insert.cc:
  Change check_that_all_fields_are_given_values() to issue warnings for all
  fields, and not only run when thd->abort_on_warning is set and error on
  just the first field.
parent dcfc9c89
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -255,11 +255,15 @@ drop table t1;
create table t1 (a int not null, b int, primary key (a));
insert into t1 values (1,1);
create table if not exists t1 select 2;
Warnings:
Warning	1364	Field 'a' doesn't have a default value
select * from t1;
a	b
1	1
0	2
create table if not exists t1 select 3 as 'a',4 as 'b';
Warnings:
Warning	1364	Field 'a' doesn't have a default value
create table if not exists t1 select 3 as 'a',3 as 'b';
ERROR 23000: Duplicate entry '3' for key 1
select * from t1;
+2 −2
Original line number Diff line number Diff line
@@ -220,12 +220,12 @@ select * from t1 where match a against ("te*" in boolean mode)+0;
a
test
drop table t1;
create table t1 (word varchar(255) not null, word2 varchar(255) not null, index(word));
create table t1 (word varchar(255) not null, word2 varchar(255) not null default '', index(word));
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `word` varchar(255) collate latin1_german2_ci NOT NULL,
  `word2` varchar(255) collate latin1_german2_ci NOT NULL,
  `word2` varchar(255) collate latin1_german2_ci NOT NULL default '',
  KEY `word` (`word`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci
insert into t1 (word) values ('ss'),(0xDF),(0xE4),('ae');
+88 B (37.7 KiB)

File changed.

No diff preview for this file type.

+0 −1
Original line number Diff line number Diff line
@@ -758,7 +758,6 @@ SPATIAL KEY(g)
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 2, 2 3)')),(GeomFromText('LineString(1 2, 2 4)'));
drop table t1;
CREATE TABLE t1 (
geoobjid INT NOT NULL,
line LINESTRING NOT NULL,
kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po',
name VARCHAR(32),
+4 −0
Original line number Diff line number Diff line
@@ -157,6 +157,10 @@ select 1;
1
1
insert into mysql.user (host, user) values ('localhost', 'test11');
Warnings:
Warning	1364	Field 'ssl_cipher' doesn't have a default value
Warning	1364	Field 'x509_issuer' doesn't have a default value
Warning	1364	Field 'x509_subject' doesn't have a default value
insert into mysql.db (host, db, user, select_priv) values 
('localhost', 'a%', 'test11', 'Y'), ('localhost', 'ab%', 'test11', 'Y');
alter table mysql.db order by db asc;
Loading