Skip to content

Commit 5e0c80c

Browse files
committed
An extra test with NULLIF() for MDEV-13995 MAX(timestamp) returns a wrong result near DST change
1 parent 088de81 commit 5e0c80c

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

mysql-test/main/timezone2.result

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,22 @@ a b
574574
SELECT * FROM t1 WHERE a IN ((SELECT MAX(b) FROM t1), (SELECT MIN(b) FROM t1));
575575
a b
576576
DROP TABLE t1;
577+
SET time_zone='Europe/Moscow';
578+
CREATE TABLE t1 (a TIMESTAMP);
579+
CREATE TABLE t2 (a TIMESTAMP);
580+
SET timestamp=1288479599 /*summer time in Mowcow*/;
581+
INSERT INTO t1 VALUES (CURRENT_TIMESTAMP);
582+
SET timestamp=1288479599+3600 /*winter time in Mowcow*/;
583+
INSERT INTO t2 VALUES (CURRENT_TIMESTAMP);
584+
SELECT t1.a, UNIX_TIMESTAMP(t1.a), t2.a, UNIX_TIMESTAMP(t2.a) FROM t1, t2;
585+
a UNIX_TIMESTAMP(t1.a) a UNIX_TIMESTAMP(t2.a)
586+
2010-10-31 02:59:59 1288479599 2010-10-31 02:59:59 1288483199
587+
SELECT NULLIF(t1.a, t2.a) FROM t1,t2;
588+
NULLIF(t1.a, t2.a)
589+
2010-10-31 02:59:59
590+
DROP TABLE t1, t2;
591+
SET time_zone=DEFAULT;
592+
SET timestamp=DEFAULT;
577593
#
578594
# MDEV-17979 Assertion `0' failed in Item::val_native upon SELECT with timestamp, NULLIF, GROUP BY
579595
#

mysql-test/main/timezone2.test

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,23 @@ SELECT * FROM t1 WHERE a = (SELECT MIN(b) FROM t1);
521521
SELECT * FROM t1 WHERE a IN ((SELECT MAX(b) FROM t1), (SELECT MIN(b) FROM t1));
522522
DROP TABLE t1;
523523

524+
# NULLIF
525+
526+
SET time_zone='Europe/Moscow';
527+
528+
CREATE TABLE t1 (a TIMESTAMP);
529+
CREATE TABLE t2 (a TIMESTAMP);
530+
SET timestamp=1288479599 /*summer time in Mowcow*/;
531+
INSERT INTO t1 VALUES (CURRENT_TIMESTAMP);
532+
SET timestamp=1288479599+3600 /*winter time in Mowcow*/;
533+
INSERT INTO t2 VALUES (CURRENT_TIMESTAMP);
534+
SELECT t1.a, UNIX_TIMESTAMP(t1.a), t2.a, UNIX_TIMESTAMP(t2.a) FROM t1, t2;
535+
SELECT NULLIF(t1.a, t2.a) FROM t1,t2;
536+
DROP TABLE t1, t2;
537+
SET time_zone=DEFAULT;
538+
SET timestamp=DEFAULT;
539+
540+
524541
--echo #
525542
--echo # MDEV-17979 Assertion `0' failed in Item::val_native upon SELECT with timestamp, NULLIF, GROUP BY
526543
--echo #

0 commit comments

Comments
 (0)