diff options
author | unknown <evgen@moonbone.local> | 2007-02-07 00:46:03 +0300 |
---|---|---|
committer | unknown <evgen@moonbone.local> | 2007-02-07 00:46:03 +0300 |
commit | 976f0a391c9d20982d495cd01ab6e8f701d915fd (patch) | |
tree | 56c0e739bcc59645b6b36a4c468a1034d31858df /mysql-test/t/insert_select.test | |
parent | c35ceeca9e11062516bd93d10d89ac818a6e1f23 (diff) | |
download | mariadb-git-976f0a391c9d20982d495cd01ab6e8f701d915fd.tar.gz |
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
INSERT ... ON DUPLICATE KEY UPDATE reports that a record was updated when
the duplicate key occurs even if the record wasn't actually changed
because the update values are the same as those in the record.
Now the compare_record() function is used to check whether the record was
changed and the update of a record reported only if the record differs
from the original one.
sql/sql_update.cc:
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
The compare_record() function was changed to non-static one.
sql/sql_insert.cc:
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
Now the compare_record() function is used to check whether the record was
changed and the update of a record reported only if the record differs
from the original one.
sql/mysql_priv.h:
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
Added the prototype of the compare_record() function.
mysql-test/t/insert_select.test:
Added a test case for bug#19978: INSERT .. ON DUPLICATE erroneously reports
some records were updated.
mysql-test/r/insert_select.result:
Added a test case for bug#19978: INSERT .. ON DUPLICATE erroneously reports
some records were updated.
Diffstat (limited to 'mysql-test/t/insert_select.test')
-rw-r--r-- | mysql-test/t/insert_select.test | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mysql-test/t/insert_select.test b/mysql-test/t/insert_select.test index 404d67390ab..6302d5f1dae 100644 --- a/mysql-test/t/insert_select.test +++ b/mysql-test/t/insert_select.test @@ -265,4 +265,17 @@ INSERT INTO bug21774_2.t1 SELECT t1.* FROM t1; DROP DATABASE bug21774_1; DROP DATABASE bug21774_2; +USE test; +# +# Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were +# updated. +# +create table t1(f1 int primary key, f2 int); +--enable_info +insert into t1 values (1,1); +insert into t1 values (1,1) on duplicate key update f2=1; +insert into t1 values (1,1) on duplicate key update f2=2; +--disable_info +select * from t1; +drop table t1; |