1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-1433 Fix some functions for TIME

Fixes the following:

* CAST() (as DATE/DATETIME)
* DATE()
* DATE_FORMAT()
* MAKEDATE()
* NULLIF()
* TIMEDIFF()
* TO_DAYS() / DATEDIFF()
This commit is contained in:
Andrew Hutchings
2018-07-12 15:13:43 +01:00
parent 1fa2537575
commit fb8aab959d
7 changed files with 134 additions and 1 deletions

View File

@ -82,6 +82,17 @@ int64_t Func_date::getIntVal(rowgroup::Row& row,
aDateTime = static_cast<DateTime>(nowDatetime());
aTime = parm[0]->data()->getTimeIntVal(row, isNull);
aTime.day = 0;
aDateTime.hour = 0;
aDateTime.minute = 0;
aDateTime.second = 0;
aDateTime.msecond = 0;
if ((aTime.hour < 0) || (aTime.is_neg))
{
aTime.hour = -abs(aTime.hour);
aTime.minute = -abs(aTime.minute);
aTime.second = -abs(aTime.second);
aTime.msecond = -abs(aTime.msecond);
}
val = addTime(aDateTime, aTime);
value = dataconvert::DataConvert::datetimeToString(val);
value = value.substr(0, 10);