List:Commits« Previous MessageNext Message »
From:Horst Hunger Date:November 26 2008 9:33am
Subject:bzr commit into mysql-5.1 branch (horst:2727) Bug#37702
View as plain text  
#At file:///work/bzr/mysql-5.1-37702/

 2727 Horst Hunger	2008-11-26
      Fix for bug#37702: Inserted the review results into the patch.
added:
  mysql-test/r/timestamp_sysdate_is_now_func.result
  mysql-test/t/timestamp_sysdate_is_now_func-master.opt
  mysql-test/t/timestamp_sysdate_is_now_func.test
modified:
  mysql-test/r/timestamp_func.result
  mysql-test/t/timestamp_func.test

=== modified file 'mysql-test/r/timestamp_func.result'
--- a/mysql-test/r/timestamp_func.result	2008-04-23 09:36:17 +0000
+++ b/mysql-test/r/timestamp_func.result	2008-11-26 08:33:41 +0000
@@ -1,33 +1,25 @@
-** Setup **
-
-** Connecting con0 using root **
 ** Connecting con1 using root **
-'#-----------------------------FN_DYNVARS_179_01------------------#'
-** Connection con0 **
-SET @ts_old = @@SESSION.timestamp;
-waiting 1 sec
-SET @ts_new = @@SESSION.timestamp;
-SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference';
-Timestamp Difference
+SELECT date(now()) = date(sysdate());
+date(now()) = date(sysdate())
+1
+SET @@session.timestamp = 1100000000;
+SELECT date(now()) != date(sysdate());
+date(now()) != date(sysdate())
+1
+** Connecting con0 using root **
+SELECT @@session.timestamp != 1100000000;
+@@session.timestamp != 1100000000
+1
+SET @@session.timestamp = 1000000000;
+SELECT date(now()) != date(sysdate());
+date(now()) != date(sysdate())
 1
-1 means >=1 expected is true
 ** Connection con1 **
-SET @ts_old = @@SESSION.timestamp;
-waiting 4 sec
-SET @ts_new = @@SESSION.timestamp;
-SELECT @ts_new - @ts_old >= 4 AS 'Timestamp Difference';
-Timestamp Difference
-1
-1 means >=4 expected is true
-'#-----------------------------FN_DYNVARS_179_02---------------------#'
-SET @ts_old = @@SESSION.timestamp;
-Changing time zone
-SET time_zone = 'MET';
-SET @ts_new = @@SESSION.timestamp;
-SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference';
-Timestamp Difference
+SELECT @@session.timestamp != 1000000000;
+@@session.timestamp != 1000000000
+1
+SELECT @@session.timestamp = 1100000000;
+@@session.timestamp = 1100000000
 1
-1 means >=1 expected is true
-** Cleanup **
 ** Connection default **
 Disconnecting Connections con0, con1

=== added file 'mysql-test/r/timestamp_sysdate_is_now_func.result'
--- a/mysql-test/r/timestamp_sysdate_is_now_func.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/timestamp_sysdate_is_now_func.result	2008-11-26 08:33:41 +0000
@@ -0,0 +1,25 @@
+** Connecting con1 using root **
+SELECT date(now()) = date(sysdate());
+date(now()) = date(sysdate())
+1
+SET @@session.timestamp = 1100000000;
+SELECT date(now()) != date(sysdate());
+date(now()) != date(sysdate())
+0
+** Connecting con0 using root **
+SELECT @@session.timestamp != 1100000000;
+@@session.timestamp != 1100000000
+1
+SET @@session.timestamp = 1000000000;
+SELECT date(now()) != date(sysdate());
+date(now()) != date(sysdate())
+0
+** Connection con1 **
+SELECT @@session.timestamp != 1000000000;
+@@session.timestamp != 1000000000
+1
+SELECT @@session.timestamp = 1100000000;
+@@session.timestamp = 1100000000
+1
+** Connection default **
+Disconnecting Connections con0, con1

=== modified file 'mysql-test/t/timestamp_func.test'
--- a/mysql-test/t/timestamp_func.test	2008-04-23 09:36:17 +0000
+++ b/mysql-test/t/timestamp_func.test	2008-11-26 08:33:41 +0000
@@ -9,6 +9,8 @@
 # Creation Date: 2008-02-25                                                #
 # Author:  Sharique Abdullah                                               #
 #                                                                          #
+# Modified: HHunger 2008-08-28 Reimplemented the test completely.          #
+#                                                                          #
 # Description: Test Cases of Dynamic System Variable "timestamp"           #
 #              that checks behavior of this variable in the following ways #
 #              * Functionality based on different values                   #
@@ -17,63 +19,32 @@
 #                                                                          #
 ############################################################################
 
---echo ** Setup **
---echo
-#
-# Setup
-#
+# Change timestamp which must have an effect on now(), but not on sysdate().
+# Use Unix epoch timestamp
+# All comparisons must deliver true(1)
+# Exception: --sysdate-is-now switches off this behaviour and must not be set.
+
+--echo ** Connecting con1 using root **
+connect (con1,localhost,root,,);
+SELECT date(now()) = date(sysdate());
+SET @@session.timestamp = 1100000000;
+SELECT date(now()) != date(sysdate());
+
+# Assure that setting of the variable has no effect on other session.
 --echo ** Connecting con0 using root **
 connect (con0,localhost,root,,);
---echo ** Connecting con1 using root **
-connect (con1, localhost, root,,);
+SELECT @@session.timestamp != 1100000000;
+SET @@session.timestamp = 1000000000;
+SELECT date(now()) != date(sysdate());
 
---echo '#-----------------------------FN_DYNVARS_179_01------------------#'
-#
-# Checking for connection 1
-#
-
---echo ** Connection con0 **
-connection con0;
-SET @ts_old = @@SESSION.timestamp;
---echo waiting 1 sec
---sleep 1
-SET @ts_new = @@SESSION.timestamp;
-SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference';
---echo 1 means >=1 expected is true
-
-
-#
-# Checking for connection 2
-#
 --echo ** Connection con1 **
 connection con1;
-SET @ts_old = @@SESSION.timestamp;
---echo waiting 4 sec
---sleep 4
-SET @ts_new = @@SESSION.timestamp;
-SELECT @ts_new - @ts_old >= 4 AS 'Timestamp Difference';
---echo 1 means >=4 expected is true
-
---echo '#-----------------------------FN_DYNVARS_179_02---------------------#'
-#
-# Testing timezone change effect
-#
-
-SET @ts_old = @@SESSION.timestamp;
---sleep 1
---echo Changing time zone
-SET time_zone = 'MET';
-SET @ts_new = @@SESSION.timestamp;
-SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference';
---echo 1 means >=1 expected is true
-
-#
-# Cleanup
-#
---echo ** Cleanup **
+SELECT @@session.timestamp != 1000000000;
+SELECT @@session.timestamp = 1100000000;
 
 --echo ** Connection default **
 connection default;
 --echo Disconnecting Connections con0, con1
 disconnect con0;
 disconnect con1;
+

=== added file 'mysql-test/t/timestamp_sysdate_is_now_func-master.opt'
--- a/mysql-test/t/timestamp_sysdate_is_now_func-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/timestamp_sysdate_is_now_func-master.opt	2008-11-26 08:33:41 +0000
@@ -0,0 +1 @@
+--sysdate-is-now

=== added file 'mysql-test/t/timestamp_sysdate_is_now_func.test'
--- a/mysql-test/t/timestamp_sysdate_is_now_func.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/timestamp_sysdate_is_now_func.test	2008-11-26 08:33:41 +0000
@@ -0,0 +1,47 @@
+############################################################################
+#                                                                          #
+# Variable Name: timestamp with sysdate-is-now                             #
+# Scope: GLOBAL                                                            #
+# Access Type: Dynamic                                                     #
+# Data Type: INTEGER                                                       #
+#                                                                          #
+#                                                                          #
+# Creation Date: 2008-11-25                                                #
+# Author:  Horst Hunger                                                    #
+#                                                                          #
+# Description: Test Cases of Dynamic System Variable "timestamp"           #
+#              that checks behavior of this variable in the following ways #
+#              * Like timstamp_func, but with set "sysdate-is-now".        #
+#                                                                          #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html        #
+#                                                                          #
+############################################################################
+
+# Use Unix epoch timestamp
+# Due to "--sysdate-is-now" timestamp must have an effect on both.
+# See also timestamp_func.test.
+
+--echo ** Connecting con1 using root **
+connect (con1,localhost,root,,);
+SELECT date(now()) = date(sysdate());
+SET @@session.timestamp = 1100000000;
+SELECT date(now()) != date(sysdate());
+
+# Assure that setting of the variable has no effect on other session.
+--echo ** Connecting con0 using root **
+connect (con0,localhost,root,,);
+SELECT @@session.timestamp != 1100000000;
+SET @@session.timestamp = 1000000000;
+SELECT date(now()) != date(sysdate());
+
+--echo ** Connection con1 **
+connection con1;
+SELECT @@session.timestamp != 1000000000;
+SELECT @@session.timestamp = 1100000000;
+
+--echo ** Connection default **
+connection default;
+--echo Disconnecting Connections con0, con1
+disconnect con0;
+disconnect con1;
+

Thread
bzr commit into mysql-5.1 branch (horst:2727) Bug#37702Horst Hunger26 Nov