summaryrefslogtreecommitdiff
path: root/mysql-test/include/function_defaults.inc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-11-13 13:40:11 +0100
committerSergei Golubchik <sergii@pisem.net>2014-11-13 13:40:11 +0100
commit6a2c1701412d3951b7bae2f683e646b75b916cd2 (patch)
tree9f18977d2aa844f5f7baeccf747d506222af650f /mysql-test/include/function_defaults.inc
parent815667086cfa4ee28eb1bdc88d5ae86755c71b72 (diff)
downloadmariadb-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.inc17
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;