[MDEV-11555] CASE with a mixture of TIME and DATETIME returns a wrong result Created: 2016-12-13  Updated: 2017-05-25  Resolved: 2016-12-17

Status: Closed
Project: MariaDB Server
Component/s: Temporal Types
Affects Version/s: 10.0, 10.1, 10.2, 10.3
Fix Version/s: 10.3.0

Type: Bug Priority: Major
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: datatype

Issue Links:
Blocks
blocks MDEV-4912 Data type plugin API version 1 Closed
Relates
relates to MDEV-11514 IN with a mixture of TIME and DATETIM... Closed
relates to MDEV-11554 Wrong result for CASE on a mixture of... Closed

 Description   

This problem is similar to MDEV-11514, but now for the CASE operator.

SELECT
  CASE TIME'10:20:30'
    WHEN 102030 THEN 'one'
    WHEN TIME'10:20:31' THEN 'two'
  END AS good,
  CASE TIME'10:20:30'
    WHEN 102030 THEN 'one'
    WHEN TIME'10:20:31' THEN 'two'
    WHEN TIMESTAMP'2001-01-01 10:20:32' THEN 'three'
  END AS bad;
SHOW WARNINGS;

+------+------+
| good | bad  |
+------+------+
| one  | NULL |
+------+------+

+---------+------+------------------------------------+
| Level   | Code | Message                            |
+---------+------+------------------------------------+
| Warning | 1292 | Incorrect datetime value: '102030' |
+---------+------+------------------------------------+

The expected result is to return "one" in both columns.



 Comments   
Comment by Alexander Barkov [ 2016-12-17 ]

Pushed into bb-10.2-ext

Generated at Thu Feb 08 07:50:51 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.