summaryrefslogtreecommitdiff
path: root/mysql-test/t/func_time.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/func_time.test')
-rw-r--r--mysql-test/t/func_time.test30
1 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test
index 09c13598cfd..0066d4a434b 100644
--- a/mysql-test/t/func_time.test
+++ b/mysql-test/t/func_time.test
@@ -1945,3 +1945,33 @@ SELECT CONVERT_TZ(ROW(1,1),1,1);
SELECT CONVERT_TZ(1, ROW(1,1), 1);
--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION
SELECT CONVERT_TZ(1, 1, ROW(1,1));
+
+
+--echo #
+--echo # MDEV-15340 Wrong result HOUR(case_expression_with_time_and_datetime)
+--echo #
+
+SET TIMESTAMP=UNIX_TIMESTAMP('2018-02-17 01:02:03');
+SELECT
+ COALESCE(TIME'800:00:00', NOW()) AS c,
+ HOUR(COALESCE(TIME'800:00:00',NOW())) AS hc;
+
+SELECT
+ CASE WHEN TRUE THEN TIME'800:00:00' ELSE NOW() END AS c,
+ HOUR(CASE WHEN TRUE THEN TIME'800:00:00' ELSE NOW() END) AS hc;
+
+SELECT
+ IFNULL(TIME'800:00:00', NOW()) AS c,
+ HOUR(IFNULL(TIME'800:00:00', NOW())) AS hc;
+
+SELECT
+ IF(TRUE,TIME'800:00:00', NOW()) AS c,
+ HOUR(IF(TRUE,TIME'800:00:00', NOW())) AS hc;
+
+SELECT
+ ADDTIME(TIME'10:20:30', TIMESTAMP'2001-01-01 00:00:00') AS c1,
+ ADDTIME(TIME'10:20:30', COALESCE(TIMESTAMP'2001-01-01 00:00:00',TIMESTAMP'2001-01-01 00:00:00')) AS c2,
+ ADDTIME(TIME'10:20:30', DATE'2001-01-01') AS c3,
+ ADDTIME(TIME'10:20:30', COALESCE(DATE'2001-01-01',TIMESTAMP'2001-01-01 00:00:00')) AS c4;
+
+SET TIMESTAMP=DEFAULT;