DEV-7221 from_days fails after null value
This commit is contained in:
parent
5257d71e0e
commit
357cb12d87
@ -2561,3 +2561,27 @@ Warning 1292 Truncated incorrect time value: '9336:00:00'
|
|||||||
Warning 1292 Truncated incorrect time value: '2952:00:00'
|
Warning 1292 Truncated incorrect time value: '2952:00:00'
|
||||||
Warning 1292 Truncated incorrect time value: '2952:00:00'
|
Warning 1292 Truncated incorrect time value: '2952:00:00'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-7221 from_days fails after null value
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id INT(11) NOT NULL PRIMARY KEY,
|
||||||
|
date1 DATE NULL DEFAULT NULL
|
||||||
|
);
|
||||||
|
INSERT INTO t1 VALUES (12, '2011-05-12');
|
||||||
|
INSERT INTO t1 VALUES (13, NULL);
|
||||||
|
INSERT INTO t1 VALUES (14, '2009-10-23');
|
||||||
|
INSERT INTO t1 VALUES (15, '2014-10-30');
|
||||||
|
INSERT INTO t1 VALUES (16, NULL);
|
||||||
|
INSERT INTO t1 VALUES (17, NULL);
|
||||||
|
INSERT INTO t1 VALUES (18, '2010-10-13');
|
||||||
|
SELECT a.id,a.date1,FROM_DAYS(TO_DAYS(a.date1)-10) as date2, DATE_ADD(a.date1,INTERVAL -10 DAY),TO_DAYS(a.date1)-10 FROM t1 a ORDER BY a.id;
|
||||||
|
id date1 date2 DATE_ADD(a.date1,INTERVAL -10 DAY) TO_DAYS(a.date1)-10
|
||||||
|
12 2011-05-12 2011-05-02 2011-05-02 734624
|
||||||
|
13 NULL NULL NULL NULL
|
||||||
|
14 2009-10-23 2009-10-13 2009-10-13 734058
|
||||||
|
15 2014-10-30 2014-10-20 2014-10-20 735891
|
||||||
|
16 NULL NULL NULL NULL
|
||||||
|
17 NULL NULL NULL NULL
|
||||||
|
18 2010-10-13 2010-10-03 2010-10-03 734413
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -1561,3 +1561,21 @@ CREATE TABLE t1 ( d DATE, t TIME );
|
|||||||
INSERT INTO t1 VALUES ('2008-12-05','22:34:09'),('2005-03-27','14:26:02');
|
INSERT INTO t1 VALUES ('2008-12-05','22:34:09'),('2005-03-27','14:26:02');
|
||||||
SELECT EXTRACT(DAY_MINUTE FROM GREATEST(t,d)), GREATEST(t,d) FROM t1;
|
SELECT EXTRACT(DAY_MINUTE FROM GREATEST(t,d)), GREATEST(t,d) FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-7221 from_days fails after null value
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id INT(11) NOT NULL PRIMARY KEY,
|
||||||
|
date1 DATE NULL DEFAULT NULL
|
||||||
|
);
|
||||||
|
INSERT INTO t1 VALUES (12, '2011-05-12');
|
||||||
|
INSERT INTO t1 VALUES (13, NULL);
|
||||||
|
INSERT INTO t1 VALUES (14, '2009-10-23');
|
||||||
|
INSERT INTO t1 VALUES (15, '2014-10-30');
|
||||||
|
INSERT INTO t1 VALUES (16, NULL);
|
||||||
|
INSERT INTO t1 VALUES (17, NULL);
|
||||||
|
INSERT INTO t1 VALUES (18, '2010-10-13');
|
||||||
|
SELECT a.id,a.date1,FROM_DAYS(TO_DAYS(a.date1)-10) as date2, DATE_ADD(a.date1,INTERVAL -10 DAY),TO_DAYS(a.date1)-10 FROM t1 a ORDER BY a.id;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -1488,10 +1488,9 @@ String *Item_temporal_func::val_str(String *str)
|
|||||||
bool Item_func_from_days::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
|
bool Item_func_from_days::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
|
||||||
{
|
{
|
||||||
longlong value=args[0]->val_int();
|
longlong value=args[0]->val_int();
|
||||||
if (args[0]->null_value)
|
if ((null_value= (args[0]->null_value ||
|
||||||
return (null_value= 1);
|
((fuzzy_date & TIME_NO_ZERO_DATE) && value == 0))))
|
||||||
if ((fuzzy_date & TIME_NO_ZERO_DATE) && value == 0)
|
return true;
|
||||||
return (null_value= 1);
|
|
||||||
bzero(ltime, sizeof(MYSQL_TIME));
|
bzero(ltime, sizeof(MYSQL_TIME));
|
||||||
if (get_date_from_daynr((long) value, <ime->year, <ime->month,
|
if (get_date_from_daynr((long) value, <ime->year, <ime->month,
|
||||||
<ime->day))
|
<ime->day))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user