mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
BUG#15101 SYSDATE() disregards SET TIMESTAMP.
After the ChangeSet 1.1892.20.1 2005/08/24 (Bug #12562) SYSDATE() is not an alias of NOW() and is unsafe for replication. `SYSDATE()' backward compatible aliasing clashes with the idea #12562 fix. To make it safe-replicatable we have to either use RBR or to restore the pre-5.0 style. --sysdate-is-now command line flag was introduced to provide backward compatibility. sql/mysqld.cc: New option to force SYSDATE's backward compatible with 4.1 aliasing to NOW (not default) sql/sql_class.h: new slot to fill at init time and check at parse sql/sql_yacc.yy: calling NOW's branches when --sysdate-is-now mysql-test/r/sysdate_is_now.result: New BitKeeper file ``mysql-test/r/sysdate_is_now.result'' mysql-test/t/sysdate_is_now-master.opt: New BitKeeper file ``mysql-test/t/sysdate_is_now-master.opt'' mysql-test/t/sysdate_is_now.test: New BitKeeper file ``mysql-test/t/sysdate_is_now.test''
This commit is contained in:
4
mysql-test/r/sysdate_is_now.result
Normal file
4
mysql-test/r/sysdate_is_now.result
Normal file
@ -0,0 +1,4 @@
|
||||
set timestamp=1;
|
||||
SELECT sleep(1),NOW()-SYSDATE() as zero;
|
||||
sleep(1) zero
|
||||
0 0
|
1
mysql-test/t/sysdate_is_now-master.opt
Normal file
1
mysql-test/t/sysdate_is_now-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--sysdate-is-now
|
11
mysql-test/t/sysdate_is_now.test
Normal file
11
mysql-test/t/sysdate_is_now.test
Normal file
@ -0,0 +1,11 @@
|
||||
#
|
||||
# BUG#15101 restore aliasing of SYSDATE to NOW in 5.0
|
||||
# this feature is activated via --sysdate-is-now mysqld init opt
|
||||
#
|
||||
# To test here
|
||||
# 1. SYSDATE() does not distiguish from NOW()
|
||||
# 2. SYSDATE() obeys set timestamp
|
||||
|
||||
set timestamp=1;
|
||||
SELECT sleep(1),NOW()-SYSDATE() as zero;
|
||||
# End of 5.0 tests
|
Reference in New Issue
Block a user