1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +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

@ -60,6 +60,15 @@ public:
return new ArithmeticOperator (*this);
}
inline const std::string& timeZone() const
{
return fTimeZone;
}
inline void timeZone(const std::string& timeZone)
{
fTimeZone = timeZone;
}
/**
* The serialization interface
*/
@ -102,7 +111,7 @@ public:
virtual const std::string& getStrVal(rowgroup::Row& row, bool& isNull, ParseTree* lop, ParseTree* rop)
{
evaluate(row, isNull, lop, rop);
return TreeNode::getStrVal();
return TreeNode::getStrVal(fTimeZone);
}
virtual int64_t getIntVal(rowgroup::Row& row, bool& isNull, ParseTree* lop, ParseTree* rop)
{
@ -157,6 +166,11 @@ public:
evaluate(row, isNull, lop, rop);
return TreeNode::getDatetimeIntVal();
}
virtual int64_t getTimestampIntVal(rowgroup::Row& row, bool& isNull, ParseTree* lop, ParseTree* rop)
{
evaluate(row, isNull, lop, rop);
return TreeNode::getTimestampIntVal();
}
virtual int64_t getTimeIntVal(rowgroup::Row& row, bool& isNull, ParseTree* lop, ParseTree* rop)
{
evaluate(row, isNull, lop, rop);
@ -173,6 +187,7 @@ private:
template <typename result_t>
inline result_t execute(result_t op1, result_t op2, bool& isNull);
inline void execute(IDB_Decimal& result, IDB_Decimal op1, IDB_Decimal op2, bool& isNull);
std::string fTimeZone;
};
#include "parsetree.h"