Loading mysql-test/r/ndb_update.result +8 −0 Original line number Diff line number Diff line Loading @@ -31,3 +31,11 @@ pk1 b c 12 2 2 14 1 1 DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT NOT NULL, UNIQUE(a)) ENGINE=ndbcluster; INSERT INTO t1 VALUES(1),(2); UPDATE IGNORE t1, t1 AS t1a SET t1.a=3; SELECT a FROM t1 ORDER BY a; a 1 3 DROP TABLE t1; mysql-test/t/ndb_update.test +9 −0 Original line number Diff line number Diff line Loading @@ -33,4 +33,13 @@ select * from t1 order by pk1; DROP TABLE IF EXISTS t1; --enable_warnings # # BUG#21381 - Engine not notified about multi-table UPDATE IGNORE # CREATE TABLE t1(a INT NOT NULL, UNIQUE(a)) ENGINE=ndbcluster; INSERT INTO t1 VALUES(1),(2); UPDATE IGNORE t1, t1 AS t1a SET t1.a=3; SELECT a FROM t1 ORDER BY a; DROP TABLE t1; # End of 4.1 tests sql/sql_update.cc +6 −0 Original line number Diff line number Diff line Loading @@ -901,6 +901,8 @@ multi_update::initialize_tables(JOIN *join) List<Item> temp_fields= *fields_for_table[cnt]; ORDER group; if (ignore) table->file->extra(HA_EXTRA_IGNORE_DUP_KEY); if (table == main_table) // First table in join { if (safe_update_on_fly(join->join_tab, &temp_fields)) Loading Loading @@ -1007,7 +1009,11 @@ multi_update::~multi_update() { TABLE_LIST *table; for (table= update_tables ; table; table= table->next) { table->table->no_keyread= table->table->no_cache= 0; if (ignore) table->table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY); } if (tmp_tables) { Loading Loading
mysql-test/r/ndb_update.result +8 −0 Original line number Diff line number Diff line Loading @@ -31,3 +31,11 @@ pk1 b c 12 2 2 14 1 1 DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT NOT NULL, UNIQUE(a)) ENGINE=ndbcluster; INSERT INTO t1 VALUES(1),(2); UPDATE IGNORE t1, t1 AS t1a SET t1.a=3; SELECT a FROM t1 ORDER BY a; a 1 3 DROP TABLE t1;
mysql-test/t/ndb_update.test +9 −0 Original line number Diff line number Diff line Loading @@ -33,4 +33,13 @@ select * from t1 order by pk1; DROP TABLE IF EXISTS t1; --enable_warnings # # BUG#21381 - Engine not notified about multi-table UPDATE IGNORE # CREATE TABLE t1(a INT NOT NULL, UNIQUE(a)) ENGINE=ndbcluster; INSERT INTO t1 VALUES(1),(2); UPDATE IGNORE t1, t1 AS t1a SET t1.a=3; SELECT a FROM t1 ORDER BY a; DROP TABLE t1; # End of 4.1 tests
sql/sql_update.cc +6 −0 Original line number Diff line number Diff line Loading @@ -901,6 +901,8 @@ multi_update::initialize_tables(JOIN *join) List<Item> temp_fields= *fields_for_table[cnt]; ORDER group; if (ignore) table->file->extra(HA_EXTRA_IGNORE_DUP_KEY); if (table == main_table) // First table in join { if (safe_update_on_fly(join->join_tab, &temp_fields)) Loading Loading @@ -1007,7 +1009,11 @@ multi_update::~multi_update() { TABLE_LIST *table; for (table= update_tables ; table; table= table->next) { table->table->no_keyread= table->table->no_cache= 0; if (ignore) table->table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY); } if (tmp_tables) { Loading