[feature-wip] support datetimev2 (#11085)

This commit is contained in:
Gabriel
2022-07-23 16:07:59 +08:00
committed by GitHub
parent 0b6d2ae290
commit babab5d535
112 changed files with 3217 additions and 740 deletions

View File

@ -246,8 +246,7 @@ void* ExprContext::get_value(Expr* e, TupleRow* row, int precision, int scale) {
return &_result.string_val;
}
case TYPE_DATE:
case TYPE_DATETIME:
case TYPE_DATETIMEV2: {
case TYPE_DATETIME: {
doris_udf::DateTimeVal v = e->get_datetime_val(this, row);
if (v.is_null) {
return nullptr;
@ -260,9 +259,20 @@ void* ExprContext::get_value(Expr* e, TupleRow* row, int precision, int scale) {
if (v.is_null) {
return nullptr;
}
_result.datev2_val = doris::vectorized::DateV2Value::from_datev2_val(v);
_result.datev2_val =
doris::vectorized::DateV2Value<doris::vectorized::DateV2ValueType>::from_datev2_val(
v);
return &_result.datev2_val;
}
case TYPE_DATETIMEV2: {
doris_udf::DateTimeV2Val v = e->get_datetimev2_val(this, row);
if (v.is_null) {
return nullptr;
}
_result.datetimev2_val = doris::vectorized::DateV2Value<
doris::vectorized::DateTimeV2ValueType>::from_datetimev2_val(v);
return &_result.datetimev2_val;
}
case TYPE_DECIMALV2: {
DecimalV2Val v = e->get_decimalv2_val(this, row);
if (v.is_null) {
@ -371,6 +381,10 @@ DateV2Val ExprContext::get_datev2_val(TupleRow* row) {
return _root->get_datev2_val(this, row);
}
DateTimeV2Val ExprContext::get_datetimev2_val(TupleRow* row) {
return _root->get_datetimev2_val(this, row);
}
DecimalV2Val ExprContext::get_decimalv2_val(TupleRow* row) {
return _root->get_decimalv2_val(this, row);
}