1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-24 14:20:59 +03:00

MCOL-265 Add support for TIMESTAMP data type

This commit is contained in:
Gagan Goel
2019-03-17 14:14:03 -04:00
parent 8a7ccd7d93
commit e89d1ac3cf
167 changed files with 4346 additions and 250 deletions

View File

@@ -71,6 +71,16 @@ public:
{
fFuncName = funcName;
}
const std::string timeZone() const
{
return fTimeZone;
}
void timeZone(const std::string timeZone)
{
fTimeZone = timeZone;
}
virtual execplan::CalpontSystemCatalog::ColType operationType(FunctionParm& fp, execplan::CalpontSystemCatalog::ColType& resultType) = 0;
virtual int64_t getIntVal(rowgroup::Row& row,
@@ -125,6 +135,14 @@ public:
return intToDatetime(getIntVal(row, fp, isNull, op_ct));
}
virtual int64_t getTimestampIntVal(rowgroup::Row& row,
FunctionParm& fp,
bool& isNull,
execplan::CalpontSystemCatalog::ColType& op_ct)
{
return intToTimestamp(getIntVal(row, fp, isNull, op_ct));
}
virtual int64_t getTimeIntVal(rowgroup::Row& row,
FunctionParm& fp,
bool& isNull,
@@ -167,10 +185,12 @@ public:
protected:
virtual uint32_t stringToDate(std::string);
virtual uint64_t stringToDatetime(std::string);
virtual uint64_t stringToTimestamp(std::string);
virtual int64_t stringToTime(std::string);
virtual uint32_t intToDate(int64_t);
virtual uint64_t intToDatetime(int64_t);
virtual uint64_t intToTimestamp(int64_t);
virtual int64_t intToTime(int64_t);
virtual std::string intToString(int64_t);
@@ -182,6 +202,7 @@ protected:
virtual int64_t addTime(dataconvert::Time& dt1, dataconvert::Time& dt2);
std::string fFuncName;
std::string fTimeZone;
private:
//defaults okay