Decimal optimize branch #695 (#727)

This commit is contained in:
lide
2019-03-22 17:22:16 +08:00
committed by ZHAO Chun
parent e60b71da8c
commit c34b306b4f
114 changed files with 3236 additions and 66 deletions

View File

@ -141,6 +141,7 @@ Expr::Expr(const TypeDescriptor& type) :
break;
case TYPE_DECIMAL:
case TYPE_DECIMALV2:
_node_type = (TExprNodeType::DECIMAL_LITERAL);
break;
@ -198,6 +199,7 @@ Expr::Expr(const TypeDescriptor& type, bool is_slotref) :
break;
case TYPE_DECIMAL:
case TYPE_DECIMALV2:
_node_type = (TExprNodeType::DECIMAL_LITERAL);
break;
@ -753,6 +755,10 @@ doris_udf::AnyVal* Expr::get_const_val(ExprContext* context) {
_constant_val.reset(new DecimalVal(get_decimal_val(context, NULL)));
break;
}
case TYPE_DECIMALV2: {
_constant_val.reset(new DecimalV2Val(get_decimalv2_val(context, NULL)));
break;
}
case TYPE_NULL: {
_constant_val.reset(new AnyVal(true));
break;
@ -836,6 +842,11 @@ DecimalVal Expr::get_decimal_val(ExprContext* context, TupleRow* row) {
return val;
}
DecimalV2Val Expr::get_decimalv2_val(ExprContext* context, TupleRow* row) {
DecimalV2Val val;
return val;
}
Status Expr::get_fn_context_error(ExprContext* ctx) {
if (_fn_context_index != -1) {
FunctionContext* fn_ctx = ctx->fn_context(_fn_context_index);