diff options
| author | unknown <aelkin@mysql.com> | 2006-03-10 16:47:56 +0200 |
|---|---|---|
| committer | unknown <aelkin@mysql.com> | 2006-03-10 16:47:56 +0200 |
| commit | 8f543b5eb8daccc3d58a6856fa71ae34fec2ccf4 (patch) | |
| tree | 67d0f445b3cd9e840e9096f915f396e07eabc134 /mysql-test | |
| parent | 696367399bd1013b5db7701659117dde9297f08c (diff) | |
| download | mariadb-git-8f543b5eb8daccc3d58a6856fa71ae34fec2ccf4.tar.gz | |
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''
Diffstat (limited to 'mysql-test')
| -rw-r--r-- | mysql-test/r/sysdate_is_now.result | 4 | ||||
| -rw-r--r-- | mysql-test/t/sysdate_is_now-master.opt | 1 | ||||
| -rw-r--r-- | mysql-test/t/sysdate_is_now.test | 11 |
3 files changed, 16 insertions, 0 deletions
diff --git a/mysql-test/r/sysdate_is_now.result b/mysql-test/r/sysdate_is_now.result new file mode 100644 index 00000000000..82861436ff6 --- /dev/null +++ b/mysql-test/r/sysdate_is_now.result @@ -0,0 +1,4 @@ +set timestamp=1; +SELECT sleep(1),NOW()-SYSDATE() as zero; +sleep(1) zero +0 0 diff --git a/mysql-test/t/sysdate_is_now-master.opt b/mysql-test/t/sysdate_is_now-master.opt new file mode 100644 index 00000000000..97a58d28032 --- /dev/null +++ b/mysql-test/t/sysdate_is_now-master.opt @@ -0,0 +1 @@ +--sysdate-is-now diff --git a/mysql-test/t/sysdate_is_now.test b/mysql-test/t/sysdate_is_now.test new file mode 100644 index 00000000000..166914e20c8 --- /dev/null +++ b/mysql-test/t/sysdate_is_now.test @@ -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 |
