Loading mysql-test/r/create.result +28 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ NULL drop table if exists t1; create table t1 (b char(0) not null); create table if not exists t1 (b char(0) not null); Warnings: Note 1050 Table 't1' already exists insert into t1 values (""),(null); Warnings: Warning 1263 Data truncated; NULL supplied to NOT NULL column 'b' at row 2 Loading Loading @@ -232,9 +234,13 @@ create table t1 select x'4132'; drop table t1; create table t1 select 1,2,3; create table if not exists t1 select 1,2; Warnings: Note 1050 Table 't1' already exists create table if not exists t1 select 1,2,3,4; ERROR 21S01: Column count doesn't match value count at row 1 create table if not exists t1 select 1; Warnings: Note 1050 Table 't1' already exists select * from t1; 1 2 3 1 2 3 Loading @@ -243,9 +249,13 @@ select * from t1; drop table t1; create table t1 select 1,2,3; create table if not exists t1 select 1,2; Warnings: Note 1050 Table 't1' already exists create table if not exists t1 select 1,2,3,4; ERROR 21S01: Column count doesn't match value count at row 1 create table if not exists t1 select 1; Warnings: Note 1050 Table 't1' already exists select * from t1; 1 2 3 1 2 3 Loading @@ -255,11 +265,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: Note 1050 Table 't1' already exists select * from t1; a b 1 1 0 2 create table if not exists t1 select 3 as 'a',4 as 'b'; Warnings: Note 1050 Table 't1' already exists create table if not exists t1 select 3 as 'a',3 as 'b'; ERROR 23000: Duplicate entry '3' for key 1 select * from t1; Loading Loading @@ -593,3 +607,17 @@ drop database mysqltest; create table test.t1 like x; ERROR 42000: Incorrect database name 'NULL' drop table if exists test.t1; create database mysqltest; create database if not exists mysqltest character set latin2; Warnings: Note 1007 Can't create database 'mysqltest'; database exists show create database mysqltest; Database Create Database mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */ drop database mysqltest; use test; create table t1 (a int); create table if not exists t1 (a int); Warnings: Note 1050 Table 't1' already exists drop table t1; mysql-test/r/temp_table.result +2 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ a b 6 g create TEMPORARY TABLE t2 engine=heap select * from t1; create TEMPORARY TABLE IF NOT EXISTS t2 (a int) engine=heap; Warnings: Note 1050 Table 't2' already exists CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null); ERROR 42S01: Table 't1' already exists ALTER TABLE t1 RENAME t2; Loading mysql-test/r/warnings.result +3 −1 Original line number Diff line number Diff line Loading @@ -63,9 +63,11 @@ show count(*) warnings; 1 create table t1(id int); create table if not exists t1(id int); Warnings: Note 1050 Table 't1' already exists select @@warning_count; @@warning_count 0 1 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 ','; Loading mysql-test/t/create.test +13 −0 Original line number Diff line number Diff line Loading @@ -513,4 +513,17 @@ create table test.t1 like x; drop table if exists test.t1; --enable_warnings # # Bug #6008 MySQL does not create warnings when # creating database and using IF NOT EXISTS # create database mysqltest; create database if not exists mysqltest character set latin2; show create database mysqltest; drop database mysqltest; use test; create table t1 (a int); create table if not exists t1 (a int); drop table t1; # End of 4.1 tests sql/sql_db.cc +5 −1 Original line number Diff line number Diff line Loading @@ -427,7 +427,11 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info, error= -1; goto exit; } result= 0; push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, ER_DB_CREATE_EXISTS, ER(ER_DB_CREATE_EXISTS), db); error= 0; send_ok(thd); goto exit; } else { Loading Loading
mysql-test/r/create.result +28 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ NULL drop table if exists t1; create table t1 (b char(0) not null); create table if not exists t1 (b char(0) not null); Warnings: Note 1050 Table 't1' already exists insert into t1 values (""),(null); Warnings: Warning 1263 Data truncated; NULL supplied to NOT NULL column 'b' at row 2 Loading Loading @@ -232,9 +234,13 @@ create table t1 select x'4132'; drop table t1; create table t1 select 1,2,3; create table if not exists t1 select 1,2; Warnings: Note 1050 Table 't1' already exists create table if not exists t1 select 1,2,3,4; ERROR 21S01: Column count doesn't match value count at row 1 create table if not exists t1 select 1; Warnings: Note 1050 Table 't1' already exists select * from t1; 1 2 3 1 2 3 Loading @@ -243,9 +249,13 @@ select * from t1; drop table t1; create table t1 select 1,2,3; create table if not exists t1 select 1,2; Warnings: Note 1050 Table 't1' already exists create table if not exists t1 select 1,2,3,4; ERROR 21S01: Column count doesn't match value count at row 1 create table if not exists t1 select 1; Warnings: Note 1050 Table 't1' already exists select * from t1; 1 2 3 1 2 3 Loading @@ -255,11 +265,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: Note 1050 Table 't1' already exists select * from t1; a b 1 1 0 2 create table if not exists t1 select 3 as 'a',4 as 'b'; Warnings: Note 1050 Table 't1' already exists create table if not exists t1 select 3 as 'a',3 as 'b'; ERROR 23000: Duplicate entry '3' for key 1 select * from t1; Loading Loading @@ -593,3 +607,17 @@ drop database mysqltest; create table test.t1 like x; ERROR 42000: Incorrect database name 'NULL' drop table if exists test.t1; create database mysqltest; create database if not exists mysqltest character set latin2; Warnings: Note 1007 Can't create database 'mysqltest'; database exists show create database mysqltest; Database Create Database mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */ drop database mysqltest; use test; create table t1 (a int); create table if not exists t1 (a int); Warnings: Note 1050 Table 't1' already exists drop table t1;
mysql-test/r/temp_table.result +2 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ a b 6 g create TEMPORARY TABLE t2 engine=heap select * from t1; create TEMPORARY TABLE IF NOT EXISTS t2 (a int) engine=heap; Warnings: Note 1050 Table 't2' already exists CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null); ERROR 42S01: Table 't1' already exists ALTER TABLE t1 RENAME t2; Loading
mysql-test/r/warnings.result +3 −1 Original line number Diff line number Diff line Loading @@ -63,9 +63,11 @@ show count(*) warnings; 1 create table t1(id int); create table if not exists t1(id int); Warnings: Note 1050 Table 't1' already exists select @@warning_count; @@warning_count 0 1 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 ','; Loading
mysql-test/t/create.test +13 −0 Original line number Diff line number Diff line Loading @@ -513,4 +513,17 @@ create table test.t1 like x; drop table if exists test.t1; --enable_warnings # # Bug #6008 MySQL does not create warnings when # creating database and using IF NOT EXISTS # create database mysqltest; create database if not exists mysqltest character set latin2; show create database mysqltest; drop database mysqltest; use test; create table t1 (a int); create table if not exists t1 (a int); drop table t1; # End of 4.1 tests
sql/sql_db.cc +5 −1 Original line number Diff line number Diff line Loading @@ -427,7 +427,11 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info, error= -1; goto exit; } result= 0; push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, ER_DB_CREATE_EXISTS, ER(ER_DB_CREATE_EXISTS), db); error= 0; send_ok(thd); goto exit; } else { Loading