1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-5505 Add TypeHandler functions.

This commit is contained in:
Denis Khalikov
2023-10-30 18:35:40 +03:00
committed by Leonid Fedorov
parent 491ba6e0aa
commit 865cca11c9
5 changed files with 360 additions and 289 deletions

View File

@ -1609,6 +1609,11 @@ boost::any TypeHandlerDate::convertFromString(const TypeAttributesStd& colType,
return dataconvert::DataConvert::StringToDate(data, pushWarning);
}
int32_t TypeHandlerDate::convertArrowColumnDate(int32_t dayVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnDate(dayVal, status);
}
boost::any TypeHandlerDatetime::convertFromString(const TypeAttributesStd& colType,
const ConvertFromStringParam& prm, const std::string& data,
bool& pushWarning) const
@ -1616,6 +1621,16 @@ boost::any TypeHandlerDatetime::convertFromString(const TypeAttributesStd& colTy
return dataconvert::DataConvert::StringToDatetime(data, pushWarning);
}
int64_t TypeHandlerDatetime::convertArrowColumnDatetime(int64_t timeVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnDatetime(timeVal, status);
}
int64_t TypeHandlerDatetime::convertArrowColumnDatetimeUs(int64_t timeVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnDatetimeUs(timeVal, status);
}
boost::any TypeHandlerTime::convertFromString(const TypeAttributesStd& colType,
const ConvertFromStringParam& prm, const std::string& data,
bool& pushWarning) const
@ -1623,6 +1638,16 @@ boost::any TypeHandlerTime::convertFromString(const TypeAttributesStd& colType,
return dataconvert::DataConvert::StringToTime(colType, data, pushWarning);
}
int64_t TypeHandlerTime::convertArrowColumnTime64(int64_t timeVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnTime64(timeVal, status);
}
int64_t TypeHandlerTime::convertArrowColumnTime32(int32_t timeVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnTime32(timeVal, status);
}
boost::any TypeHandlerTimestamp::convertFromString(const TypeAttributesStd& colType,
const ConvertFromStringParam& prm, const std::string& data,
bool& pushWarning) const
@ -1630,6 +1655,16 @@ boost::any TypeHandlerTimestamp::convertFromString(const TypeAttributesStd& colT
return dataconvert::DataConvert::StringToTimestamp(prm, data, pushWarning);
}
int64_t TypeHandlerTimestamp::convertArrowColumnTimestamp(int64_t timeVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnTimestamp(timeVal, status);
}
int64_t TypeHandlerTimestamp::convertArrowColumnTimestampUs(int64_t timeVal, int& status) const
{
return dataconvert::DataConvert::convertArrowColumnTimestampUs(timeVal, status);
}
boost::any TypeHandlerChar::convertFromString(const TypeAttributesStd& colType,
const ConvertFromStringParam& prm, const std::string& data,
bool& pushWarning) const

View File

@ -2276,6 +2276,10 @@ class TypeHandlerTemporal : public TypeHandler
class TypeHandlerDate : public TypeHandlerTemporal
{
public:
int32_t convertArrowColumnDate(int32_t dayVal, int& status) const;
private:
const string& name() const override;
code_t code() const override
{
@ -2301,6 +2305,11 @@ class TypeHandlerDate : public TypeHandlerTemporal
class TypeHandlerDatetime : public TypeHandlerTemporal
{
public:
int64_t convertArrowColumnDatetime(int64_t timeVal, int& status) const;
int64_t convertArrowColumnDatetimeUs(int64_t timeVal, int& status) const;
private:
const string& name() const override;
code_t code() const override
{
@ -2326,6 +2335,11 @@ class TypeHandlerDatetime : public TypeHandlerTemporal
class TypeHandlerTime : public TypeHandlerTemporal
{
public:
int64_t convertArrowColumnTime64(int64_t timeVal, int& status) const;
int64_t convertArrowColumnTime32(int32_t timeVal, int& status) const;
private:
const string& name() const override;
code_t code() const override
{
@ -2351,6 +2365,11 @@ class TypeHandlerTime : public TypeHandlerTemporal
class TypeHandlerTimestamp : public TypeHandlerTemporal
{
public:
int64_t convertArrowColumnTimestamp(int64_t timeVal, int& status) const;
int64_t convertArrowColumnTimestampUs(int64_t timeVal, int& status) const;
private:
const string& name() const override;
code_t code() const override
{