[MDEV-4654] Wrong warning for CAST(TIME('10:20:30') AS DATE) + INTERVAL 1 DAY Created: 2013-06-13  Updated: 2022-09-08

Status: Open
Project: MariaDB Server
Component/s: Data types, Temporal Types
Affects Version/s: 10.0.3, 5.5.31, 5.3.12
Fix Version/s: 5.5

Type: Bug Priority: Minor
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Unresolved Votes: 0
Labels: datatype

Issue Links:
Blocks
is blocked by MDEV-8778 Temporal fields with zero dates do no... Open
is blocked by MDEV-11137 TIMESTAMP has 2-level logic for defau... Open
Epic Link: Data type cleanups

 Description   

A confusing warning is printed in the following SQL script:

mysql> select CAST(TIME('10:20:30') AS DATE) + INTERVAL 1 DAY; show warnings;
+-------------------------------------------------+
| CAST(TIME('10:20:30') AS DATE) + INTERVAL 1 DAY |
+-------------------------------------------------+
| NULL                                            |
+-------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
 
+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect date value: '0000-00-00' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

The word "Truncated" is not appropriate here.

The expected warning is something like:
"Incorrect datetime value: '0000-00:00 00:00:00'"
or
"Incorrect date value: '0000-00:00".

A warning generated in MySQL-5.1 and 5.5 is also not perfect:
Incorrect datetime value: '10:20:30'
But at least does not contain the confusing word "Truncated".


Generated at Thu Feb 08 06:58:06 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.