Loading mysql-test/r/insert.result +6 −0 Original line number Diff line number Diff line Loading @@ -299,3 +299,9 @@ select count(*) from t2; count(*) 25500 drop table t1,t2,t3; create table t1 (n int); create view v1 as select * from t1; insert delayed into v1 values (1); ERROR HY000: 'test.v1' is not BASE TABLE drop table t1; drop view v1; mysql-test/t/insert.test +12 −0 Original line number Diff line number Diff line Loading @@ -175,3 +175,15 @@ select count(*) from t2; insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 = t3.id3; select count(*) from t2; drop table t1,t2,t3; # # Test for INSERT DELAYED INTO a <view> # BUG#13683: INSERT DELAYED into a view creates an infinite loop # create table t1 (n int); create view v1 as select * from t1; --error 1347 insert delayed into v1 values (1); drop table t1; drop view v1; sql/sql_insert.cc +1 −1 Original line number Diff line number Diff line Loading @@ -321,7 +321,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, if (!table_list->derived && !table_list->view) table_list->updatable= 1; // usual table } else else if (thd->net.last_errno != ER_WRONG_OBJECT) { /* Too many delayed insert threads; Use a normal insert */ table_list->lock_type= lock_type= TL_WRITE; Loading Loading
mysql-test/r/insert.result +6 −0 Original line number Diff line number Diff line Loading @@ -299,3 +299,9 @@ select count(*) from t2; count(*) 25500 drop table t1,t2,t3; create table t1 (n int); create view v1 as select * from t1; insert delayed into v1 values (1); ERROR HY000: 'test.v1' is not BASE TABLE drop table t1; drop view v1;
mysql-test/t/insert.test +12 −0 Original line number Diff line number Diff line Loading @@ -175,3 +175,15 @@ select count(*) from t2; insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 = t3.id3; select count(*) from t2; drop table t1,t2,t3; # # Test for INSERT DELAYED INTO a <view> # BUG#13683: INSERT DELAYED into a view creates an infinite loop # create table t1 (n int); create view v1 as select * from t1; --error 1347 insert delayed into v1 values (1); drop table t1; drop view v1;
sql/sql_insert.cc +1 −1 Original line number Diff line number Diff line Loading @@ -321,7 +321,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, if (!table_list->derived && !table_list->view) table_list->updatable= 1; // usual table } else else if (thd->net.last_errno != ER_WRONG_OBJECT) { /* Too many delayed insert threads; Use a normal insert */ table_list->lock_type= lock_type= TL_WRITE; Loading