diff --git a/mysql-test/r/ndb_update.result b/mysql-test/r/ndb_update.result new file mode 100644 index 00000000000..5df5c861cfb --- /dev/null +++ b/mysql-test/r/ndb_update.result @@ -0,0 +1,13 @@ +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 ( +pk1 INT NOT NULL PRIMARY KEY, +b INT NOT NULL, +c INT NOT NULL +) ENGINE=ndbcluster; +INSERT INTO t1 VALUES (0, 0, 1),(1,1,2),(2,2,3); +UPDATE t1 set b = c; +select * from t1 order by pk1; +pk1 b c +0 1 1 +1 2 2 +2 3 3 diff --git a/mysql-test/t/ndb_update.test b/mysql-test/t/ndb_update.test new file mode 100644 index 00000000000..3b0e84e2344 --- /dev/null +++ b/mysql-test/t/ndb_update.test @@ -0,0 +1,22 @@ +-- source include/have_ndb.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +# +# Basic test of INSERT in NDB +# + +# +# Create a normal table with primary key +# +CREATE TABLE t1 ( + pk1 INT NOT NULL PRIMARY KEY, + b INT NOT NULL, + c INT NOT NULL +) ENGINE=ndbcluster; + +INSERT INTO t1 VALUES (0, 0, 1),(1,1,2),(2,2,3); +UPDATE t1 set b = c; +select * from t1 order by pk1; diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 21fcac34070..37c048356cd 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -110,7 +110,8 @@ int mysql_update(THD *thd, #ifndef NO_EMBEDDED_ACCESS_CHECKS table->grant.want_privilege=want_privilege; #endif - if (setup_fields(thd, 0, update_table_list, fields, 1, 0, 0)) + if (setup_fields(thd, 0, update_table_list, fields, 1, 0, 0) || + setup_fields(thd, 0, update_table_list, values, 1, 0, 0)) DBUG_RETURN(-1); /* purecov: inspected */ if (table->timestamp_field) {