mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-18402 Assertion `sec.sec() <= 59' failed in Item_func_maketime::get_date
This commit is contained in:
parent
b9ea778f6c
commit
ea5cda5269
3 changed files with 18 additions and 1 deletions
|
@ -6336,3 +6336,12 @@ Warnings:
|
|||
Warning 1292 Truncated incorrect DECIMAL value: 'foo'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'foo'
|
||||
SET time_zone=DEFAULT;
|
||||
#
|
||||
# MDEV-18402 Assertion `sec.sec() <= 59' failed in Item_func_maketime::get_date
|
||||
#
|
||||
SELECT MAKETIME('01', '01', LEAST( -100, NULL ));
|
||||
MAKETIME('01', '01', LEAST( -100, NULL ))
|
||||
NULL
|
||||
SELECT CONCAT(MAKETIME('01', '01', LEAST( -100, NULL )));
|
||||
CONCAT(MAKETIME('01', '01', LEAST( -100, NULL )))
|
||||
NULL
|
||||
|
|
|
@ -3162,3 +3162,11 @@ SELECT TIME('- 01:00:00'), TIME('- 1 01:00:00');
|
|||
SET time_zone='+00:00';
|
||||
SELECT NULLIF(FROM_UNIXTIME('foo'), '2012-12-12 21:10:14');
|
||||
SET time_zone=DEFAULT;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-18402 Assertion `sec.sec() <= 59' failed in Item_func_maketime::get_date
|
||||
--echo #
|
||||
|
||||
SELECT MAKETIME('01', '01', LEAST( -100, NULL ));
|
||||
SELECT CONCAT(MAKETIME('01', '01', LEAST( -100, NULL )));
|
||||
|
|
|
@ -2595,7 +2595,7 @@ bool Item_func_maketime::get_date(THD *thd, MYSQL_TIME *ltime, date_mode_t fuzzy
|
|||
longlong minute= args[1]->val_int();
|
||||
VSec9 sec(thd, args[2], "seconds", 59);
|
||||
|
||||
DBUG_ASSERT(sec.sec() <= 59);
|
||||
DBUG_ASSERT(sec.is_null() || sec.sec() <= 59);
|
||||
if (args[0]->null_value || args[1]->null_value || sec.is_null() ||
|
||||
minute < 0 || minute > 59 || sec.neg() || sec.truncated())
|
||||
return (null_value= 1);
|
||||
|
|
Loading…
Reference in a new issue