summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/sys_vars/t/timestamp_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/timestamp_basic.test')
-rw-r--r--mysql-test/suite/sys_vars/t/timestamp_basic.test153
1 files changed, 153 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/timestamp_basic.test b/mysql-test/suite/sys_vars/t/timestamp_basic.test
new file mode 100644
index 00000000..5f780e7a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/timestamp_basic.test
@@ -0,0 +1,153 @@
+################## mysql-test/t/timestamp_basic.test ##########################
+# #
+# Variable Name: timestamp #
+# Scope: SESSION #
+# Access Type: Dynamic #
+# Data Type: string #
+# Default Value: #
+# Range: #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+# Description: Test Cases of Dynamic System Variable timestamp #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: #
+# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+#######################################################################
+# START OF timestamp TESTS #
+#######################################################################
+
+
+#######################################################################
+# Saving initial value of timestamp in a temporary variable #
+#######################################################################
+
+SET @session_start_value = @@session.timestamp;
+
+--echo '#--------------------FN_DYNVARS_001_01------------------------#'
+########################################################################
+# Display the DEFAULT value of timestamp #
+########################################################################
+
+
+SET @@timestamp = DEFAULT;
+SELECT floor(@@timestamp) = UNIX_TIMESTAMP(), @@timestamp = UNIX_TIMESTAMP(NOW(6));
+
+--echo '#---------------------FN_DYNVARS_001_02-------------------------#'
+##############################################################
+# see if accessible using global scope #
+##############################################################
+
+--Error ER_LOCAL_VARIABLE
+SET @@global.timestamp = "1000";
+
+--echo '#--------------------FN_DYNVARS_001_03------------------------#'
+########################################################################
+# Change the value of timestamp to a valid value #
+########################################################################
+
+SET @@timestamp = 0;
+SELECT floor(@@timestamp) = UNIX_TIMESTAMP(), @@timestamp = UNIX_TIMESTAMP(NOW(6));
+
+--echo 'Setting 0 resets timestamp to session default timestamp'
+
+SET @@timestamp = -1000000000;
+SELECT floor(@@timestamp) = UNIX_TIMESTAMP(), @@timestamp = UNIX_TIMESTAMP(NOW(6));
+
+SET @temp_ts = @@timestamp - @@timestamp;
+SELECT @temp_ts;
+
+SET @@timestamp = 1.1;
+SELECT @@timestamp;
+
+SET @@timestamp = 9999999999999999999999;
+SELECT @@timestamp;
+
+--echo '#--------------------FN_DYNVARS_001_04-------------------------#'
+###########################################################################
+# Change the value of timestamp to invalid value #
+###########################################################################
+
+# for session scope
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@timestamp = "100";
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@timestamp = " ";
+
+--echo '#----------------------FN_DYNVARS_001_06------------------------#'
+#########################################################################
+# Check if the value in SESSION Table matches value in variable #
+#########################################################################
+
+# disabled due to bug#41584
+#SELECT @@timestamp = VARIABLE_VALUE
+#FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+#WHERE VARIABLE_NAME='timestamp';
+
+--echo '#---------------------FN_DYNVARS_001_08-------------------------#'
+#############################################################################
+# Check if ON, OFF, TRUE and FALSE values can be used on variable #
+#############################################################################
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@timestamp = OFF;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@timestamp = ON;
+
+SET @@timestamp = TRUE;
+SELECT @@timestamp;
+
+SET @@timestamp = FALSE;
+#SELECT @@timestamp;
+
+
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+#############################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points
+# to same session variable
+#############################################################################
+
+SET @@timestamp = 123456;
+SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp;
+SET @@timestamp = 654321;
+SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp;
+
+
+--echo '#---------------------FN_DYNVARS_001_11----------------------#'
+#####################################################################
+# Check if timestamp can be accessed with and without @@ sign #
+#####################################################################
+
+SET timestamp = 1;
+SELECT @@timestamp;
+--Error ER_UNKNOWN_TABLE
+SELECT local.timestamp;
+--Error ER_UNKNOWN_TABLE
+SELECT session.timestamp;
+--Error ER_BAD_FIELD_ERROR
+SELECT timestamp = @@session.timestamp;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@timestamp = @session_start_value;
+
+#######################################################################
+# END OF timestamp TESTS #
+#######################################################################
+