diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-11-13 13:40:11 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-11-13 13:40:11 +0100 |
commit | 6a2c1701412d3951b7bae2f683e646b75b916cd2 (patch) | |
tree | 9f18977d2aa844f5f7baeccf747d506222af650f /mysql-test/include/function_defaults.inc | |
parent | 815667086cfa4ee28eb1bdc88d5ae86755c71b72 (diff) | |
download | mariadb-git-6a2c1701412d3951b7bae2f683e646b75b916cd2.tar.gz |
MDEV-6849 ON UPDATE CURRENT_TIMESTAMP doesn't always work
reset default fields not for every modified row, but only once,
at the beginning, as the set of modified fields doesn't change.
exception: INSERT ... ON DUPLICATE KEY UPDATE - the set of fields
does change per row and in that case we reset default fields per row.
Diffstat (limited to 'mysql-test/include/function_defaults.inc')
-rw-r--r-- | mysql-test/include/function_defaults.inc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/mysql-test/include/function_defaults.inc b/mysql-test/include/function_defaults.inc index e588c82df1b..ae058eddff6 100644 --- a/mysql-test/include/function_defaults.inc +++ b/mysql-test/include/function_defaults.inc @@ -408,15 +408,28 @@ UPDATE t1 SET c = 2; SELECT * FROM t1; --echo # +--echo # Test that ON UPDATE CURRENT_TIMESTAMP works after non-changing UPDATE. +--echo # + +--echo # 2011-04-20 09:54:13 UTC +SET TIMESTAMP = 1303293253.794613; + +UPDATE t1 SET c = 2, b = '2011-04-20 09:53:41.794613'; +SELECT * FROM t1; + +UPDATE t1 SET c = 3; +SELECT * FROM t1; + +--echo # --echo # Test of multiple-table UPDATE for ON UPDATE CURRENT_TIMESTAMP --echo # --echo # 2011-04-20 15:06:13 UTC SET TIMESTAMP = 1303311973.534231; -UPDATE t1 t11, t1 t12 SET t11.c = 2; +UPDATE t1 t11, t1 t12 SET t11.c = 3; SELECT * FROM t1; -UPDATE t1 t11, t1 t12 SET t11.c = 3; +UPDATE t1 t11, t1 t12 SET t11.c = 2; SELECT * FROM t1; DROP TABLE t1; |