diff --git a/be/src/exprs/case_expr.cpp b/be/src/exprs/case_expr.cpp index 102dc78f2d3f73..e2be189e4b0e5f 100644 --- a/be/src/exprs/case_expr.cpp +++ b/be/src/exprs/case_expr.cpp @@ -335,6 +335,9 @@ void CaseExpr::get_child_val(int child_idx, ExprContext* ctx, TupleRow* row, Any case TYPE_DECIMAL: *reinterpret_cast(dst) = _children[child_idx]->get_decimal_val(ctx, row); break; + case TYPE_LARGEINT: + *reinterpret_cast(dst) = _children[child_idx]->get_large_int_val(ctx, row); + break; default: DCHECK(false) << _children[child_idx]->type(); } @@ -375,6 +378,9 @@ bool CaseExpr::any_val_eq(const TypeDescriptor& type, const AnyVal* v1, const An case TYPE_DECIMAL: return AnyValUtil::equals(type, *reinterpret_cast(v1), *reinterpret_cast(v2)); + case TYPE_LARGEINT: + return AnyValUtil::equals(type, *reinterpret_cast(v1), + *reinterpret_cast(v2)); default: DCHECK(false) << type; return false;