summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authormonty@narttu.mysql.fi <>2003-05-27 16:40:14 +0300
committermonty@narttu.mysql.fi <>2003-05-27 16:40:14 +0300
commit381492093e6ec8d8afc0432347a890cdf452bf50 (patch)
tree3dbb25b0c8865f6a219078ba4e0aa4d829addb42 /mysql-test
parent553637cbc48e0126997a44ab34463d8deabb1f1c (diff)
downloadmariadb-git-381492093e6ec8d8afc0432347a890cdf452bf50.tar.gz
Fixed problem with mysql prompt when server disconnect. (Bug 356)
Fixed problem with localtime -> gmt where some times resulted in different (but correct) timestamps. Now MySQL should use the smallest possible timestamp value in this case. (Bug 316)
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/mysql-test-run.sh12
-rw-r--r--mysql-test/r/have_mest_timezone.require2
-rw-r--r--mysql-test/r/timezone.result25
-rw-r--r--mysql-test/t/raid.test2
-rw-r--r--mysql-test/t/timezone-master.opt1
-rw-r--r--mysql-test/t/timezone.test28
6 files changed, 69 insertions, 1 deletions
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh
index 65f40c5dc73..ab4a5354dae 100644
--- a/mysql-test/mysql-test-run.sh
+++ b/mysql-test/mysql-test-run.sh
@@ -13,7 +13,8 @@ DB=test
DBPASSWD=
VERBOSE=""
USE_MANAGER=0
-TZ=GMT-3; export TZ # for UNIX_TIMESTAMP tests to work
+MY_TZ=GMT-3
+TZ=$MY_TZ; export TZ # for UNIX_TIMESTAMP tests to work
#++
# Program Definitions
@@ -1161,9 +1162,18 @@ run_testcase ()
if [ -f $master_opt_file ] ;
then
EXTRA_MASTER_OPT=`$CAT $master_opt_file | $SED -e "s;\\$MYSQL_TEST_DIR;$MYSQL_TEST_DIR;"`
+ case "$EXTRA_MASTER_OPT" in
+ --timezone=*)
+ TZ=`$ECHO "$EXTRA_MASTER_OPT" | $SED -e "s;--timezone=;;"`
+ export TZ
+ # Note that this must be set to space, not "" for test-reset to work
+ EXTRA_MASTER_OPT=" "
+ ;;
+ esac
stop_master
echo "CURRENT_TEST: $tname" >> $MASTER_MYERR
start_master
+ TZ=$MY_TZ; export TZ
else
if [ ! -z "$EXTRA_MASTER_OPT" ] || [ x$MASTER_RUNNING != x1 ] || [ -f $master_init_script ]
then
diff --git a/mysql-test/r/have_mest_timezone.require b/mysql-test/r/have_mest_timezone.require
new file mode 100644
index 00000000000..2a219f39b7e
--- /dev/null
+++ b/mysql-test/r/have_mest_timezone.require
@@ -0,0 +1,2 @@
+Variable_name Value
+timezone MEST
diff --git a/mysql-test/r/timezone.result b/mysql-test/r/timezone.result
new file mode 100644
index 00000000000..b82b39da262
--- /dev/null
+++ b/mysql-test/r/timezone.result
@@ -0,0 +1,25 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (ts int);
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 03:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 02:59:59'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 03:00:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 03:59:59'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 04:00:01'));
+SELECT ts,from_unixtime(ts) FROM t1;
+ts from_unixtime(ts)
+1035673200 2002-10-27 01:00:00
+1035680400 2002-10-27 02:00:00
+1035684000 2002-10-27 03:00:00
+1035680400 2002-10-27 02:00:00
+1035673200 2002-10-27 01:00:00
+1035680400 2002-10-27 02:00:00
+1048986000 2003-03-30 03:00:00
+1048986000 2003-03-30 03:00:00
+1048989599 2003-03-30 03:59:59
+1048989601 2003-03-30 04:00:01
+DROP TABLE t1;
diff --git a/mysql-test/t/raid.test b/mysql-test/t/raid.test
index 4dbaf84a836..4032993f2da 100644
--- a/mysql-test/t/raid.test
+++ b/mysql-test/t/raid.test
@@ -1,5 +1,7 @@
-- require r/have_raid.require
+disable_query_log;
show variables like "have_raid";
+enable_query_log;
#
# Test of raided tables
diff --git a/mysql-test/t/timezone-master.opt b/mysql-test/t/timezone-master.opt
new file mode 100644
index 00000000000..0477f941e9d
--- /dev/null
+++ b/mysql-test/t/timezone-master.opt
@@ -0,0 +1 @@
+--timezone=MET
diff --git a/mysql-test/t/timezone.test b/mysql-test/t/timezone.test
new file mode 100644
index 00000000000..14facc0374a
--- /dev/null
+++ b/mysql-test/t/timezone.test
@@ -0,0 +1,28 @@
+#
+# Test of timezone handling. This script must be run with TZ=MEST
+
+-- require r/have_mest_timezone.require
+disable_query_log;
+show variables like "timezone";
+enable_query_log;
+
+# Initialization
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+
+CREATE TABLE t1 (ts int);
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 03:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 02:59:59'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 03:00:00'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 03:59:59'));
+INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 04:00:01'));
+
+SELECT ts,from_unixtime(ts) FROM t1;
+DROP TABLE t1;