mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			189 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
############# mysql-test\t\time_zone_func.test #############################
 | 
						|
#                                                                          #
 | 
						|
# Variable Name: time_zone                                                 #
 | 
						|
# Scope: GLOBAL, SESSION                                                   #
 | 
						|
# Access Type: Dynamic                                                     #
 | 
						|
# Data Type: STRING                                                        #
 | 
						|
# Default Value: TRUE 1, FALSE 0                                           #
 | 
						|
# Values:       FALSE 0                                                    #
 | 
						|
#                                                                          #
 | 
						|
#                                                                          #
 | 
						|
# Creation Date: 2008-02-25                                                #
 | 
						|
# Author:  Sharique Abdullah                                               #
 | 
						|
#                                                                          #
 | 
						|
# Description: Test Cases of Dynamic System Variable "time_zone"           #
 | 
						|
#              that checks behavior of this variable in the following ways #
 | 
						|
#              * Functionality based on different values                   #
 | 
						|
#                                                                          #
 | 
						|
# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html        #
 | 
						|
#                                                                          #
 | 
						|
############################################################################
 | 
						|
 | 
						|
--echo ** Setup **
 | 
						|
--echo
 | 
						|
#
 | 
						|
# Setup
 | 
						|
#
 | 
						|
 | 
						|
SET @session_time_zone = @@SESSION.time_zone;
 | 
						|
SET @global_time_zone = @@GLOBAL.time_zone;
 | 
						|
 | 
						|
CREATE TABLE t1 (a datetime);
 | 
						|
CREATE TABLE t2 (a timestamp);
 | 
						|
 | 
						|
--echo '#-----------------------------FN_DYNVARS_177_01--------------------#'
 | 
						|
#
 | 
						|
# Value DEFAULT
 | 
						|
#
 | 
						|
SET @@time_zone = DEFAULT;
 | 
						|
 | 
						|
SELECT @@time_zone;
 | 
						|
--echo SYSTEM Expected
 | 
						|
 | 
						|
--echo '#-----------------------------FN_DYNVARS_177_02-------------------#'
 | 
						|
#
 | 
						|
# Testing difference values
 | 
						|
#
 | 
						|
 | 
						|
SET @@time_zone = '+05:00';
 | 
						|
 | 
						|
SELECT @@time_zone;
 | 
						|
--echo +05:00 Expected
 | 
						|
 | 
						|
SET @@time_zone = '-01:00';
 | 
						|
 | 
						|
SELECT @@time_zone;
 | 
						|
--echo -01:00 Expected
 | 
						|
 | 
						|
SET @@time_zone = '+00:00';
 | 
						|
 | 
						|
SELECT @@time_zone;
 | 
						|
--echo +00:00 Expected
 | 
						|
 | 
						|
SET @@time_zone = '-00:00';
 | 
						|
 | 
						|
SELECT @@time_zone;
 | 
						|
--echo -00:00 Expected
 | 
						|
 | 
						|
--echo '#-----------------------------FN_DYNVARS_177_03----------------#'
 | 
						|
#
 | 
						|
# Setting possible values
 | 
						|
#
 | 
						|
 | 
						|
SET @@time_zone = '+00:00';
 | 
						|
 | 
						|
INSERT INTO t1 VALUES('2008-03-05 16:28:00');
 | 
						|
INSERT INTO t1 VALUES('1970-01-01 00:05:00'),('1970-01-01 01:05:00');
 | 
						|
INSERT INTO t2 VALUES(20080305162800);
 | 
						|
INSERT INTO t2 VALUES(19730101235900);
 | 
						|
INSERT INTO t2 VALUES('1970-01-01 00:05:00'),('1970-01-01 01:05:00');
 | 
						|
INSERT INTO t2 VALUES(19700101000500);
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = 'MET';
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = '+05:00';
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = '+06:00';
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = '+01:00';
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = '+02:00';
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = '+00:00';
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
SET @@time_zone = '+06:00';
 | 
						|
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t1;
 | 
						|
SELECT a,UNIX_TIMESTAMP(a) FROM t2;
 | 
						|
 | 
						|
--echo Potential Feature: upon recovery of timezone,
 | 
						|
--echo the original value of the timestamp should be recovered.
 | 
						|
 | 
						|
--echo '#-----------------------------FN_DYNVARS_177_04--------------------#'
 | 
						|
#
 | 
						|
# Testing invalid values
 | 
						|
#
 | 
						|
--error ER_UNKNOWN_TIME_ZONE
 | 
						|
SET @@time_zone = '6';
 | 
						|
 | 
						|
 | 
						|
--echo '#-----------------------------FN_DYNVARS_177_05---------------#'
 | 
						|
#
 | 
						|
# Session data integrity check & GLOBAL Value check
 | 
						|
#
 | 
						|
 | 
						|
SET GLOBAL time_zone = 'SYSTEM';
 | 
						|
 | 
						|
--echo ** Connecting con_int1 using root **
 | 
						|
connect (con_int1,localhost,root,,);
 | 
						|
 | 
						|
--echo ** Connection con_int1 **
 | 
						|
connection con_int1;
 | 
						|
SELECT @@SESSION.time_zone;
 | 
						|
--echo SYSTEM Expected
 | 
						|
 | 
						|
SET SESSION time_zone = '+05:00';
 | 
						|
 | 
						|
--echo ** Connecting con_int2 using root **
 | 
						|
connect (con_int2,localhost,root,,);
 | 
						|
 | 
						|
--echo ** Connection con_int2 **
 | 
						|
connection con_int2;
 | 
						|
SELECT @@SESSION.time_zone;
 | 
						|
--echo SYSTEM Expected
 | 
						|
 | 
						|
SET SESSION time_zone = '-10:00';
 | 
						|
 | 
						|
--echo ** Connection con_int2 **
 | 
						|
connection con_int2;
 | 
						|
SELECT @@SESSION.time_zone;
 | 
						|
--echo -10:00 Expected
 | 
						|
 | 
						|
--echo ** Connection con_int1 **
 | 
						|
connection con_int1;
 | 
						|
SELECT @@SESSION.time_zone;
 | 
						|
--echo +05:00 Expected
 | 
						|
 | 
						|
 | 
						|
SELECT @@GLOBAL.time_zone;
 | 
						|
--echo SYSTEM Expected
 | 
						|
 | 
						|
--echo ** Connection default **
 | 
						|
connection default;
 | 
						|
 | 
						|
--echo Disconnecting Connections con_int1, con_int2
 | 
						|
disconnect con_int1;
 | 
						|
disconnect con_int2;
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Cleanup
 | 
						|
#
 | 
						|
 | 
						|
 | 
						|
SET @@SESSION.time_zone = @session_time_zone;
 | 
						|
SET @@GLOBAL.time_zone = @global_time_zone;
 | 
						|
 | 
						|
DROP TABLE t1;
 | 
						|
DROP TABLE t2;
 |