Loading mysql-test/r/myisam.result +8 −0 Original line number Diff line number Diff line Loading @@ -748,3 +748,11 @@ select count(id1) from t1 where id2 = 10; count(id1) 5 drop table t1; CREATE TABLE t1(a CHAR(9), b VARCHAR(7)) ENGINE=MyISAM; INSERT INTO t1(a) VALUES('xxxxxxxxx'),('xxxxxxxxx'); UPDATE t1 AS ta1,t1 AS ta2 SET ta1.b='aaaaaa',ta2.b='bbbbbb'; SELECT * FROM t1; a b xxxxxxxxx bbbbbb xxxxxxxxx bbbbbb DROP TABLE t1; mysql-test/t/myisam.test +9 −0 Original line number Diff line number Diff line Loading @@ -705,4 +705,13 @@ select count(*) from t1 where id2 = 10; select count(id1) from t1 where id2 = 10; drop table t1; # # BUG#18036 - update of table joined to self reports table as crashed # CREATE TABLE t1(a CHAR(9), b VARCHAR(7)) ENGINE=MyISAM; INSERT INTO t1(a) VALUES('xxxxxxxxx'),('xxxxxxxxx'); UPDATE t1 AS ta1,t1 AS ta2 SET ta1.b='aaaaaa',ta2.b='bbbbbb'; SELECT * FROM t1; DROP TABLE t1; # End of 4.1 tests sql/sql_update.cc +1 −1 Original line number Diff line number Diff line Loading @@ -862,7 +862,7 @@ int multi_update::prepare(List<Item> ¬_used_values, for (table_ref= all_tables; table_ref; table_ref=table_ref->next) { TABLE *table=table_ref->table; if (!(tables_to_update & table->map) && if ((tables_to_update & table->map) && mysql_lock_have_duplicate(thd, table, update_tables)) table->no_cache= 1; // Disable row cache } Loading Loading
mysql-test/r/myisam.result +8 −0 Original line number Diff line number Diff line Loading @@ -748,3 +748,11 @@ select count(id1) from t1 where id2 = 10; count(id1) 5 drop table t1; CREATE TABLE t1(a CHAR(9), b VARCHAR(7)) ENGINE=MyISAM; INSERT INTO t1(a) VALUES('xxxxxxxxx'),('xxxxxxxxx'); UPDATE t1 AS ta1,t1 AS ta2 SET ta1.b='aaaaaa',ta2.b='bbbbbb'; SELECT * FROM t1; a b xxxxxxxxx bbbbbb xxxxxxxxx bbbbbb DROP TABLE t1;
mysql-test/t/myisam.test +9 −0 Original line number Diff line number Diff line Loading @@ -705,4 +705,13 @@ select count(*) from t1 where id2 = 10; select count(id1) from t1 where id2 = 10; drop table t1; # # BUG#18036 - update of table joined to self reports table as crashed # CREATE TABLE t1(a CHAR(9), b VARCHAR(7)) ENGINE=MyISAM; INSERT INTO t1(a) VALUES('xxxxxxxxx'),('xxxxxxxxx'); UPDATE t1 AS ta1,t1 AS ta2 SET ta1.b='aaaaaa',ta2.b='bbbbbb'; SELECT * FROM t1; DROP TABLE t1; # End of 4.1 tests
sql/sql_update.cc +1 −1 Original line number Diff line number Diff line Loading @@ -862,7 +862,7 @@ int multi_update::prepare(List<Item> ¬_used_values, for (table_ref= all_tables; table_ref; table_ref=table_ref->next) { TABLE *table=table_ref->table; if (!(tables_to_update & table->map) && if ((tables_to_update & table->map) && mysql_lock_have_duplicate(thd, table, update_tables)) table->no_cache= 1; // Disable row cache } Loading