Current Path : /compat/linux/proc/self/root/home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/home/usr.opt/mysql57/mysql-test/r/insert.result |
drop table if exists t1,t2,t3; SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. create table t1 (a int not null); insert into t1 values (1); insert into t1 values (a+2); insert into t1 values (a+3),(a+4); insert into t1 values (5),(a+6); select * from t1; a 1 2 3 4 5 6 drop table t1; create table t1 (id int not null auto_increment primary key, username varchar(32) not null, unique (username)); insert into t1 values (0,"mysql"); insert into t1 values (0,"mysql ab"); insert into t1 values (0,"mysql a"); insert into t1 values (0,"r1manic"); insert into t1 values (0,"r1man"); drop table t1; create table t1 (a int not null auto_increment, primary key (a), t timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c char(10) default "hello", i int); insert into t1 values (default,default,default,default), (default,default,default,default), (4,0,"a",5),(default,default,default,default); select a,t>0,c,i from t1; a t>0 c i 1 1 hello NULL 2 1 hello NULL 4 0 a 5 5 1 hello NULL truncate table t1; insert into t1 set a=default,t=default,c=default; insert into t1 set a=default,t=default,c=default,i=default; insert into t1 set a=4,t=0,c="a",i=5; insert into t1 set a=5,t=0,c="a",i=null; insert into t1 set a=default,t=default,c=default,i=default; select a,t>0,c,i from t1; a t>0 c i 1 1 hello NULL 2 1 hello NULL 4 0 a 5 5 0 a NULL 6 1 hello NULL drop table t1; create table t1 (sid char(20), id int(2) NOT NULL auto_increment, key(sid, id)) engine=myisam; insert into t1 values ('skr',NULL),('skr',NULL),('test',NULL); select * from t1; sid id skr 1 skr 2 test 1 insert into t1 values ('rts',NULL),('rts',NULL),('test',NULL); select * from t1; sid id rts 1 rts 2 skr 1 skr 2 test 1 test 2 drop table t1; create table t1 (id int NOT NULL DEFAULT 8); insert into t1 values(NULL); ERROR 23000: Column 'id' cannot be null insert into t1 values (1), (NULL), (2); Warnings: Warning 1048 Column 'id' cannot be null select * from t1; id 1 0 2 drop table t1; create table t1 (email varchar(50)); insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com'); create table t2(id int not null auto_increment primary key, t2 varchar(50), unique(t2)); insert into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1; select * from t2; id t2 3 aol.com 2 hotmail.com 1 mysql.com drop table t1,t2; drop database if exists mysqltest; create database mysqltest; use mysqltest; create table t1 (c int); insert into mysqltest.t1 set mysqltest.t1.c = '1'; drop database mysqltest; use test; create table t1(number int auto_increment primary key, original_value varchar(50), f_double double, f_float float, f_double_7_2 double(7,2), f_float_4_3 float (4,3), f_double_u double unsigned, f_float_u float unsigned, f_double_15_1_u double(15,1) unsigned, f_float_3_1_u float (3,1) unsigned); set @value= "aa"; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1265 Data truncated for column 'f_double' at row 1 Warning 1265 Data truncated for column 'f_float' at row 1 Warning 1265 Data truncated for column 'f_double_7_2' at row 1 Warning 1265 Data truncated for column 'f_float_4_3' at row 1 Warning 1265 Data truncated for column 'f_double_u' at row 1 Warning 1265 Data truncated for column 'f_float_u' at row 1 Warning 1265 Data truncated for column 'f_double_15_1_u' at row 1 Warning 1265 Data truncated for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 1 original_value aa f_double 0 f_float 0 f_double_7_2 0.00 f_float_4_3 0.000 f_double_u 0 f_float_u 0 f_double_15_1_u 0.0 f_float_3_1_u 0.0 set @value= "1aa"; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1265 Data truncated for column 'f_double' at row 1 Warning 1265 Data truncated for column 'f_float' at row 1 Warning 1265 Data truncated for column 'f_double_7_2' at row 1 Warning 1265 Data truncated for column 'f_float_4_3' at row 1 Warning 1265 Data truncated for column 'f_double_u' at row 1 Warning 1265 Data truncated for column 'f_float_u' at row 1 Warning 1265 Data truncated for column 'f_double_15_1_u' at row 1 Warning 1265 Data truncated for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 2 original_value 1aa f_double 1 f_float 1 f_double_7_2 1.00 f_float_4_3 1.000 f_double_u 1 f_float_u 1 f_double_15_1_u 1.0 f_float_3_1_u 1.0 set @value= "aa1"; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1265 Data truncated for column 'f_double' at row 1 Warning 1265 Data truncated for column 'f_float' at row 1 Warning 1265 Data truncated for column 'f_double_7_2' at row 1 Warning 1265 Data truncated for column 'f_float_4_3' at row 1 Warning 1265 Data truncated for column 'f_double_u' at row 1 Warning 1265 Data truncated for column 'f_float_u' at row 1 Warning 1265 Data truncated for column 'f_double_15_1_u' at row 1 Warning 1265 Data truncated for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 3 original_value aa1 f_double 0 f_float 0 f_double_7_2 0.00 f_float_4_3 0.000 f_double_u 0 f_float_u 0 f_double_15_1_u 0.0 f_float_3_1_u 0.0 set @value= "1e+1111111111a"; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1264 Out of range value for column 'f_double' at row 1 Warning 1264 Out of range value for column 'f_float' at row 1 Warning 1264 Out of range value for column 'f_float' at row 1 Warning 1264 Out of range value for column 'f_double_7_2' at row 1 Warning 1264 Out of range value for column 'f_double_7_2' at row 1 Warning 1264 Out of range value for column 'f_float_4_3' at row 1 Warning 1264 Out of range value for column 'f_float_4_3' at row 1 Warning 1264 Out of range value for column 'f_double_u' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 4 original_value 1e+1111111111a f_double 1.7976931348623157e308 f_float 3.40282e38 f_double_7_2 99999.99 f_float_4_3 9.999 f_double_u 1.7976931348623157e308 f_float_u 3.40282e38 f_double_15_1_u 99999999999999.9 f_float_3_1_u 99.9 set @value= "-1e+1111111111a"; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1264 Out of range value for column 'f_double' at row 1 Warning 1264 Out of range value for column 'f_float' at row 1 Warning 1264 Out of range value for column 'f_float' at row 1 Warning 1264 Out of range value for column 'f_double_7_2' at row 1 Warning 1264 Out of range value for column 'f_double_7_2' at row 1 Warning 1264 Out of range value for column 'f_float_4_3' at row 1 Warning 1264 Out of range value for column 'f_float_4_3' at row 1 Warning 1264 Out of range value for column 'f_double_u' at row 1 Warning 1264 Out of range value for column 'f_double_u' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 5 original_value -1e+1111111111a f_double -1.7976931348623157e308 f_float -3.40282e38 f_double_7_2 -99999.99 f_float_4_3 -9.999 f_double_u 0 f_float_u 0 f_double_15_1_u 0.0 f_float_3_1_u 0.0 set @value= 1e+1111111111; ERROR 22007: Illegal double '1e+1111111111' value found during parsing set @value= -1e+1111111111; ERROR 22007: Illegal double '1e+1111111111' value found during parsing set @value= 1e+111; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1264 Out of range value for column 'f_float' at row 1 Warning 1264 Out of range value for column 'f_double_7_2' at row 1 Warning 1264 Out of range value for column 'f_float_4_3' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 6 original_value 1e111 f_double 1e111 f_float 3.40282e38 f_double_7_2 99999.99 f_float_4_3 9.999 f_double_u 1e111 f_float_u 3.40282e38 f_double_15_1_u 99999999999999.9 f_float_3_1_u 99.9 set @value= -1e+111; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1264 Out of range value for column 'f_float' at row 1 Warning 1264 Out of range value for column 'f_double_7_2' at row 1 Warning 1264 Out of range value for column 'f_float_4_3' at row 1 Warning 1264 Out of range value for column 'f_double_u' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 7 original_value -1e111 f_double -1e111 f_float -3.40282e38 f_double_7_2 -99999.99 f_float_4_3 -9.999 f_double_u 0 f_float_u 0 f_double_15_1_u 0.0 f_float_3_1_u 0.0 set @value= 1; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); select * from t1 where number =last_insert_id(); number 8 original_value 1 f_double 1 f_float 1 f_double_7_2 1.00 f_float_4_3 1.000 f_double_u 1 f_float_u 1 f_double_15_1_u 1.0 f_float_3_1_u 1.0 set @value= -1; insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); Warnings: Warning 1264 Out of range value for column 'f_double_u' at row 1 Warning 1264 Out of range value for column 'f_float_u' at row 1 Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1 Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1 select * from t1 where number =last_insert_id(); number 9 original_value -1 f_double -1 f_float -1 f_double_7_2 -1.00 f_float_4_3 -1.000 f_double_u 0 f_float_u 0 f_double_15_1_u 0.0 f_float_3_1_u 0.0 drop table t1; create table t1(id1 int not null auto_increment primary key, t char(12)); create table t2(id2 int not null, t char(12)); create table t3(id3 int not null, t char(12), index(id3)); select count(*) from t2; count(*) 500 insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 = t3.id3; select count(*) from t2; count(*) 25500 drop table t1,t2,t3; create table t1 (a int, b int); insert into t1 (a,b) values (a,b); insert into t1 SET a=1, b=a+1; insert into t1 (a,b) select 1,2; INSERT INTO t1 ( a ) SELECT 0 ON DUPLICATE KEY UPDATE a = a + VALUES (a); prepare stmt1 from ' replace into t1 (a,a) select 100, ''hundred'' '; ERROR 42000: Column 'a' specified twice insert into t1 (a,b,b) values (1,1,1); ERROR 42000: Column 'b' specified twice insert into t1 (a,a) values (1,1,1); ERROR 21S01: Column count doesn't match value count at row 1 insert into t1 (a,a) values (1,1); ERROR 42000: Column 'a' specified twice insert into t1 SET a=1,b=2,a=1; ERROR 42000: Column 'a' specified twice insert into t1 (b,b) select 1,2; ERROR 42000: Column 'b' specified twice INSERT INTO t1 (b,b) SELECT 0,0 ON DUPLICATE KEY UPDATE a = a + VALUES (a); ERROR 42000: Column 'b' specified twice drop table t1; create table t1 (id int primary key, data int); insert into t1 values (1, 1), (2, 2), (3, 3); select row_count(); row_count() 3 insert ignore into t1 values (1, 1); Warnings: Warning 1062 Duplicate entry '1' for key 'PRIMARY' select row_count(); row_count() -1 replace into t1 values (1, 11); select row_count(); row_count() 2 replace into t1 values (4, 4); select row_count(); row_count() 1 insert into t1 values (2, 2) on duplicate key update data= data + 10; select row_count(); row_count() 2 insert into t1 values (5, 5) on duplicate key update data= data + 10; select row_count(); row_count() 1 drop table t1; create table t1 (f1 int unique, f2 int); create table t2 (f3 int, f4 int); create view v1 as select * from t1, t2 where f1= f3; insert into t1 values (1,11), (2,22); insert into t2 values (1,12), (2,24); insert into v1 (f1) values (3) on duplicate key update f3= f3 + 10; ERROR HY000: Can not modify more than one base table through a join view 'test.v1' insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10; ERROR HY000: Can not modify more than one base table through a join view 'test.v1' select * from t1; f1 f2 1 11 2 22 insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10; ERROR HY000: Can not modify more than one base table through a join view 'test.v1' select * from t1; f1 f2 1 11 2 22 drop view v1; drop table t1,t2; create table t1 (id int primary key auto_increment, data int, unique(data)) engine=myisam; insert ignore into t1 values(NULL,100),(NULL,110),(NULL,120); insert ignore into t1 values(NULL,10),(NULL,20),(NULL,110),(NULL,120),(NULL,100),(NULL,90); Warnings: Warning 1062 Duplicate entry '110' for key 'data' Warning 1062 Duplicate entry '120' for key 'data' Warning 1062 Duplicate entry '100' for key 'data' insert ignore into t1 values(NULL,130),(NULL,140),(500,110),(550,120),(450,100),(NULL,150); Warnings: Warning 1062 Duplicate entry '110' for key 'data' Warning 1062 Duplicate entry '120' for key 'data' Warning 1062 Duplicate entry '100' for key 'data' select * from t1 order by id; id data 1 100 2 110 3 120 4 10 5 20 6 90 7 130 8 140 9 150 drop table t1; CREATE TABLE t1 ( a char(20) NOT NULL, b char(7) DEFAULT NULL, c char(4) DEFAULT NULL ); INSERT INTO t1(a,b,c) VALUES (9.999999e+0, 9.999999e+0, 9.999e+0); INSERT INTO t1(a,b,c) VALUES (1.225e-05, 1.225e-05, 1.225e-05); Warnings: Warning 1265 Data truncated for column 'c' at row 1 INSERT INTO t1(a,b) VALUES (1.225e-04, 1.225e-04); INSERT INTO t1(a,b) VALUES (1.225e-01, 1.225e-01); INSERT INTO t1(a,b) VALUES (1.225877e-01, 1.225877e-01); INSERT INTO t1(a,b) VALUES (1.225e+01, 1.225e+01); INSERT INTO t1(a,b,c) VALUES (1.225e+01, 1.225e+01, 1.225e+01); INSERT INTO t1(a,b) VALUES (1.225e+05, 1.225e+05); INSERT INTO t1(a,b) VALUES (1.225e+10, 1.225e+10); INSERT INTO t1(a,b) VALUES (1.225e+15, 1.225e+15); INSERT INTO t1(a,b) VALUES (5000000e+0, 5000000e+0); INSERT INTO t1(a,b) VALUES (1.25e+78, 1.25e+78); INSERT INTO t1(a,b) VALUES (1.25e-94, 1.25e-94); INSERT INTO t1(a,b) VALUES (1.25e+203, 1.25e+203); INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175); INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0); INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0); INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0); INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3); Warnings: Warning 1265 Data truncated for column 'c' at row 1 INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2); INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0); INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0); SELECT * FROM t1; a b c 9.999999 10 10 0.00001225 1.22e-5 1e-5 0.0001225 1.22e-4 NULL 0.1225 0.1225 NULL 0.1225877 0.12259 NULL 12.25 12.25 NULL 12.25 12.25 12.2 122500 122500 NULL 12250000000 1.22e10 NULL 1.225e15 1.22e15 NULL 5000000 5000000 NULL 1.25e78 1.25e78 NULL 1.25e-94 1.2e-94 NULL 1.25e203 1.2e203 NULL 1.25e-175 1e-175 NULL 1.225 NULL 1.23 1.37 NULL 1.37 -1.37 NULL -1.4 0.00187 NULL 2e-3 -0.0187 NULL 0 5000 NULL 5000 -5000 NULL -5e3 DROP TABLE t1; CREATE TABLE t1 ( a char(20) NOT NULL, b char(7) DEFAULT NULL, c char(5) ); INSERT INTO t1(a,b,c) VALUES (9.999999e+0, 9.999999e+0, 9.999e+0); INSERT INTO t1(a,b,c) VALUES (1.225e-05, 1.225e-05, 1.225e-05); INSERT INTO t1(a,b) VALUES (1.225e-04, 1.225e-04); INSERT INTO t1(a,b) VALUES (1.225e-01, 1.225e-01); INSERT INTO t1(a,b) VALUES (1.225877e-01, 1.225877e-01); INSERT INTO t1(a,b) VALUES (1.225e+01, 1.225e+01); INSERT INTO t1(a,b,c) VALUES (1.225e+01, 1.225e+01, 1.225e+01); INSERT INTO t1(a,b) VALUES (1.225e+05, 1.225e+05); INSERT INTO t1(a,b) VALUES (1.225e+10, 1.225e+10); INSERT INTO t1(a,b) VALUES (1.225e+15, 1.225e+15); INSERT INTO t1(a,b) VALUES (5000000e+0, 5000000e+0); INSERT INTO t1(a,b) VALUES (1.25e+78, 1.25e+78); INSERT INTO t1(a,b) VALUES (1.25e-94, 1.25e-94); INSERT INTO t1(a,b) VALUES (1.25e+203, 1.25e+203); INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175); INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0); INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0); INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0); INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3); INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2); INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0); INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0); SELECT * FROM t1; a b c 9.999999 10 9.999 0.00001225 1.22e-5 1e-5 0.0001225 1.22e-4 NULL 0.1225 0.1225 NULL 0.1225877 0.12259 NULL 12.25 12.25 NULL 12.25 12.25 12.25 122500 122500 NULL 12250000000 1.22e10 NULL 1.225e15 1.22e15 NULL 5000000 5000000 NULL 1.25e78 1.25e78 NULL 1.25e-94 1.2e-94 NULL 1.25e203 1.2e203 NULL 1.25e-175 1e-175 NULL 1.225 NULL 1.225 1.37 NULL 1.37 -1.37 NULL -1.37 0.00187 NULL 0.002 -0.0187 NULL -0.02 5000 NULL 5000 -5000 NULL -5000 DROP TABLE t1; SET sql_mode = default; CREATE TABLE t (a CHAR(10),b INT); INSERT INTO t VALUES (),(),(); INSERT INTO t(a) SELECT rand() FROM t; DROP TABLE t; CREATE TABLE t1 (c1 INT NOT NULL); INSERT INTO t1 VALUES(4188.32999999999992724042385816574096679687500), ('4188.32999999999992724042385816574096679687500'), (4188); SELECT * FROM t1; c1 4188 4188 4188 CREATE TABLE t2 (c1 BIGINT); INSERT INTO t2 VALUES('15449237462.0000000000'); SELECT * FROM t2; c1 15449237462 DROP TABLE t1, t2; CREATE TABLE t1(f1 FLOAT); INSERT INTO t1 VALUES (1.23); CREATE TABLE t2(f1 CHAR(1)); INSERT INTO t2 SELECT f1 FROM t1; DROP TABLE t1, t2; End of 5.0 tests. # # Bug#34898 "mysql_info() reports 0 warnings while # mysql_warning_count() reports 1" # Check that the number of warnings reported by # mysql_info() is correct. # drop table if exists t1; create table t1 (data varchar(4) not null); # # Demonstrate that the number of warnings matches # the information in mysql_info(). # insert ignore t1 (data) values ('letter'), (1/0); affected rows: 2 info: Records: 2 Duplicates: 0 Warnings: 3 Warnings: Warning 1265 Data truncated for column 'data' at row 1 Warning 1365 Division by 0 Warning 1048 Column 'data' cannot be null update ignore t1 set data='envelope' where 1/0 or 1; affected rows: 2 info: Rows matched: 2 Changed: 2 Warnings: 3 Warnings: Warning 1365 Division by 0 Warning 1265 Data truncated for column 'data' at row 1 Warning 1265 Data truncated for column 'data' at row 2 insert ignore t1 (data) values (default), (1/0), ('dead beef'); affected rows: 3 info: Records: 3 Duplicates: 0 Warnings: 4 Warnings: Warning 1364 Field 'data' doesn't have a default value Warning 1365 Division by 0 Warning 1048 Column 'data' cannot be null Warning 1265 Data truncated for column 'data' at row 3 drop table t1; # # End of 5.4 tests # # # Bug#54106 assert in Protocol::end_statement, # INSERT IGNORE ... SELECT ... UNION SELECT ... # DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a INT); INSERT INTO t1 (a, a) VALUES (1, 1); ERROR 42000: Column 'a' specified twice INSERT IGNORE t1 (a, a) VALUES (1, 1); ERROR 42000: Column 'a' specified twice INSERT IGNORE t1 (a, a) SELECT 1,1; ERROR 42000: Column 'a' specified twice INSERT IGNORE t1 (a, a) SELECT 1,1 UNION SELECT 2,2; ERROR 42000: Column 'a' specified twice DROP TABLE t1; # # Worklog #6073: Remove INSERT DELAYED # CREATE TABLE t1( a INT ); INSERT DELAYED INTO t1 VALUES ( 1 ); Warnings: Warning 3005 INSERT DELAYED is no longer supported. The statement was converted to INSERT. REPLACE DELAYED INTO t1 VALUES ( 1 ); Warnings: Warning 3005 REPLACE DELAYED is no longer supported. The statement was converted to REPLACE. DROP TABLE t1; SET GLOBAL delayed_insert_limit = DEFAULT; Warnings: Warning 1287 '@@delayed_insert_limit' is deprecated and will be removed in a future release. SET GLOBAL delayed_insert_timeout = DEFAULT; Warnings: Warning 1287 '@@delayed_insert_timeout' is deprecated and will be removed in a future release. SET GLOBAL delayed_queue_size = DEFAULT; Warnings: Warning 1287 '@@delayed_queue_size' is deprecated and will be removed in a future release. SET GLOBAL max_insert_delayed_threads = DEFAULT; Warnings: Warning 1287 '@@max_insert_delayed_threads' is deprecated and will be removed in a future release. SET GLOBAL max_delayed_threads = DEFAULT; Warnings: Warning 1287 '@@max_delayed_threads' is deprecated and will be removed in a future release. # # Bug#18064775 Assertion failed: fields.elements == values.elements # CREATE TABLE t1(a INTEGER); INSERT INTO t1(a) values(); ERROR 21S01: Column count doesn't match value count at row 1 DROP TABLE t1; # # Bug#11745889 Traditional: INSERT accepts invalid date from default val # SET sql_mode=''; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. CREATE TABLE default_date(a DATE NOT NULL DEFAULT '0000-00-00'); INSERT INTO default_date VALUES(); SET sql_mode=default; INSERT INTO default_date VALUES(); ERROR 22007: Incorrect date value: '0000-00-00' for column 'a' at row 1 INSERT INTO default_date VALUES('0000-00-00'); ERROR 22007: Incorrect date value: '0000-00-00' for column 'a' at row 1 SELECT * FROM default_date; a 0000-00-00 DROP TABLE default_date; # Bug#11744960 : INSERT IGNORE SHOULD RETURN WARNINGS # CREATE TABLE t (a INT PRIMARY KEY); affected rows: 0 INSERT IGNORE INTO t VALUES (1); affected rows: 1 INSERT IGNORE INTO t VALUES (1),(1); affected rows: 0 info: Records: 2 Duplicates: 2 Warnings: 2 Warnings: Warning 1062 Duplicate entry '1' for key 'PRIMARY' Warning 1062 Duplicate entry '1' for key 'PRIMARY' DROP TABLE t; affected rows: 0 # # WL#5275 Process subqueries in FROM clause in the same way as view # CREATE TABLE t1(pk INTEGER PRIMARY KEY, a INTEGER); CREATE TABLE t2(pk INTEGER PRIMARY KEY, a INTEGER); CREATE TABLE t3(a INTEGER); CREATE TABLE t4(b INTEGER); INSERT INTO t2 VALUES(1, 10), (2, 20), (3, 30), (4, 40); INSERT INTO t3 VALUES(1), (3); INSERT INTO t4 VALUES(1); CREATE VIEW v1 AS SELECT * FROM t1 WHERE pk IN (SELECT a FROM t3); CREATE VIEW v2 AS SELECT * FROM t2 WHERE pk IN (SELECT a FROM t3); CREATE VIEW v3 AS SELECT t1.pk,t1.a FROM t1 JOIN t4 ON pk IN (SELECT a FROM t3); EXPLAIN INSERT INTO v1 SELECT * FROM v2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t1 NULL ALL NULL NULL NULL NULL NULL NULL NULL 1 PRIMARY <subquery5> NULL ALL NULL NULL NULL NULL NULL 100.00 Using where 1 PRIMARY t2 NULL eq_ref PRIMARY PRIMARY 4 <subquery5>.a 1 100.00 NULL 5 MATERIALIZED t3 NULL ALL NULL NULL NULL NULL 2 100.00 NULL 3 DEPENDENT SUBQUERY t3 NULL ALL NULL NULL NULL NULL 2 50.00 Using where INSERT INTO v1 SELECT * FROM v2; DELETE FROM t1; EXPLAIN INSERT INTO v3(pk,a) SELECT * FROM v2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t1 NULL ALL NULL NULL NULL NULL NULL NULL NULL 1 PRIMARY <subquery5> NULL ALL NULL NULL NULL NULL NULL 100.00 Using where 1 PRIMARY t2 NULL eq_ref PRIMARY PRIMARY 4 <subquery5>.a 1 100.00 NULL 5 MATERIALIZED t3 NULL ALL NULL NULL NULL NULL 2 100.00 NULL 3 DEPENDENT SUBQUERY t3 NULL ALL NULL NULL NULL NULL 2 50.00 Using where INSERT INTO v3(pk,a) SELECT * FROM v2; DELETE FROM t1; EXPLAIN INSERT INTO v1 SELECT dt.pk, v2.a FROM (SELECT * FROM v2) AS dt JOIN v2 ON dt.pk=v2.pk; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t1 NULL ALL NULL NULL NULL NULL NULL NULL NULL 1 PRIMARY t3 NULL ALL NULL NULL NULL NULL 2 100.00 Using where; Start temporary 1 PRIMARY t3 NULL ALL NULL NULL NULL NULL 2 50.00 Using where; Using join buffer (Block Nested Loop) 1 PRIMARY t2 NULL eq_ref PRIMARY PRIMARY 4 test.t3.a 1 100.00 Using index 1 PRIMARY t2 NULL eq_ref PRIMARY PRIMARY 4 test.t3.a 1 100.00 End temporary 4 DEPENDENT SUBQUERY t3 NULL ALL NULL NULL NULL NULL 2 50.00 Using where INSERT INTO v1 SELECT dt.pk, v2.a FROM (SELECT * FROM v2) AS dt JOIN v2 ON dt.pk=v2.pk; DROP VIEW v1, v2, v3; DROP TABLE t1, t2, t3, t4; # Bug#20310257 Explain for insert into a view show wrong table for ins. CREATE TABLE t1(a INTEGER); CREATE TABLE t2(b INTEGER); CREATE VIEW v AS SELECT * FROM t1 JOIN t2 ON TRUE; explain INSERT INTO v(a) VALUES(1); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t1 NULL ALL NULL NULL NULL NULL NULL NULL NULL INSERT INTO v(a) VALUES(1); explain INSERT INTO v(b) VALUES(1); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t2 NULL ALL NULL NULL NULL NULL NULL NULL NULL INSERT INTO v(b) VALUES(1); explain INSERT INTO v(a) SELECT 2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t1 NULL ALL NULL NULL NULL NULL NULL NULL NULL INSERT INTO v(a) SELECT 2; explain INSERT INTO v(b) SELECT 2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 INSERT t2 NULL ALL NULL NULL NULL NULL NULL NULL NULL INSERT INTO v(b) SELECT 2; SELECT * FROM t1; a 1 2 SELECT * FROM t2; b 1 2 DROP VIEW v; DROP TABLE t1, t2; CREATE TABLE t1(a1 INTEGER PRIMARY KEY, b1 INTEGER); CREATE TABLE t2(a2 INTEGER PRIMARY KEY, b2 INTEGER); CREATE VIEW v AS SELECT * FROM t1 JOIN t2 ON TRUE; INSERT INTO v(a1,b1) VALUES (11, 0) ON DUPLICATE KEY UPDATE b1=b1+1; INSERT INTO v(a1,b1) VALUES (11, 0) ON DUPLICATE KEY UPDATE b1=b1+1; INSERT INTO v(a2,b2) VALUES (21, 0) ON DUPLICATE KEY UPDATE b2=b2+1; INSERT INTO v(a2,b2) VALUES (21, 0) ON DUPLICATE KEY UPDATE b2=b2+1; SELECT * FROM v; a1 b1 a2 b2 11 1 21 1 DELETE FROM t1; DELETE FROM t2; INSERT INTO v(a1,b1) SELECT 11, 0 ON DUPLICATE KEY UPDATE b1=b1+1; INSERT INTO v(a1,b1) SELECT 11, 0 ON DUPLICATE KEY UPDATE b1=b1+1; INSERT INTO v(a2,b2) SELECT 21, 0 ON DUPLICATE KEY UPDATE b2=b2+1; INSERT INTO v(a2,b2) SELECT 21, 0 ON DUPLICATE KEY UPDATE b2=b2+1; SELECT * FROM v; a1 b1 a2 b2 11 1 21 1 DROP VIEW v; DROP TABLE t1, t2; # Bug#20753569: handle_fatal_signal (sig=11) in # st_select_lex::merge_derived CREATE TABLE t1(a INTEGER); CREATE VIEW v1 AS SELECT a FROM t1 ORDER BY a; INSERT INTO v1 SELECT 3; REPLACE INTO v1 SELECT 3; INSERT INTO v1 VALUES(3); REPLACE INTO v1 VALUES(3); DROP VIEW v1; DROP TABLE t1; # # Bug#21696206: ASSERTION `TRANSL->ITEM->FIXED' FAILED IN # SELECT_LEX::DELETE_UNUSED_MERGED_COLUMN # CREATE TABLE t1 ( pk INT, PRIMARY KEY (pk)); CREATE TABLE t2 LIKE t1; INSERT INTO t1 VALUES (2); INSERT INTO t2 VALUES (2); CREATE VIEW v1 AS SELECT * FROM t2 AS a WHERE a.pk IN ( SELECT pk FROM t1 AS b WHERE b.pk = a.pk ); CREATE VIEW v2 AS SELECT * FROM t1 AS a WHERE a.pk IN ( SELECT pk FROM v1 AS b WHERE b.pk = a.pk ); PREPARE st1 FROM 'INSERT INTO v2 (pk) VALUES ( 1 )'; EXECUTE st1; SELECT * FROM t1; pk 1 2 SELECT * FROM t2; pk 2 DROP TABLE t1, t2; DROP VIEW v1, v2; # # Bug#21696641: ASSERTION !(WANT_PRIVILEGE & ~(GRANT->WANT_PRIVILEGE | # GRANT->PRIVILEGE))' # CREATE TABLE t1 (pk INT, PRIMARY KEY (pk)); INSERT INTO t1 VALUES (1); CREATE ALGORITHM = TEMPTABLE VIEW v2 AS SELECT * FROM t1 AS a NATURAL JOIN t1 b WHERE pk BETWEEN 1 AND 2; CREATE ALGORITHM = UNDEFINED VIEW v1 AS SELECT * FROM t1 AS a WHERE a.pk IN ( SELECT pk FROM v2 AS b WHERE b.pk = a.pk ); PREPARE st1 FROM "INSERT INTO v1 (pk) VALUES (2)"; EXECUTE st1; SELECT * FROM t1; pk 1 2 DROP VIEW v1, v2; DROP TABLE t1; # # BUG#22037930: INSERT IGNORE FAILS TO IGNORE # FOREIGN KEY CONSTRAINT # Setup. CREATE TABLE t1 (fld1 INT PRIMARY KEY) ENGINE=INNODB; CREATE TABLE t2 (fld2 INT, FOREIGN KEY (fld2) REFERENCES t1 (fld1)) ENGINE=INNODB; INSERT INTO t1 VALUES(0); INSERT INTO t2 VALUES(0); # Without fix, an error is reported. INSERT IGNORE INTO t2 VALUES(1); Warnings: Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE IGNORE t2 SET fld2=20 WHERE fld2=0; Warnings: Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE IGNORE t1 SET fld1=20 WHERE fld1=0; Warnings: Warning 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) # Test for multi update. UPDATE IGNORE t1, t2 SET t2.fld2= t2.fld2 + 3; Warnings: Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE IGNORE t1, t2 SET t1.fld1= t1.fld1 + 3; Warnings: Warning 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) # Reports an error since IGNORE is not used. INSERT INTO t2 VALUES(1); ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE t2 SET fld2=20 WHERE fld2=0; ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE t1 SET fld1=20 WHERE fld1=0; ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE t1, t2 SET t2.fld2= t2.fld2 + 3; ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) UPDATE t1, t2 SET t1.fld1= t1.fld1 + 3; ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) DROP TABLE t2, t1; # # BUG#22037930: INSERT IGNORE FAILS TO IGNORE FOREIGN # KEY CONSTRAINT CREATE TABLE t1 (fld1 INT PRIMARY KEY) ENGINE= INNODB; CREATE TABLE t2 (fld1 VARCHAR(10), fld2 INT NOT NULL, CONSTRAINT fk FOREIGN KEY (fld2) REFERENCES t1(fld1)) ENGINE= INNODB; # Without patch, reports incorrect error. INSERT INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def'; ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) REPLACE INTO t2 VALUES('abc', 2); ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def'; Warnings: Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) DROP TABLE t2, t1;