diff --git a/cpp/src/gandiva/function_registry_arithmetic.cc b/cpp/src/gandiva/function_registry_arithmetic.cc index 2d119afb8fda6..b57e69e388a59 100644 --- a/cpp/src/gandiva/function_registry_arithmetic.cc +++ b/cpp/src/gandiva/function_registry_arithmetic.cc @@ -66,6 +66,7 @@ std::vector GetArithmeticFunctionRegistry() { UNARY_SAFE_NULL_IF_NULL(castBIGINT, {}, float32, int64), UNARY_SAFE_NULL_IF_NULL(castBIGINT, {}, float64, int64), UNARY_SAFE_NULL_IF_NULL(castBIGINT, {}, date64, int64), + UNARY_SAFE_NULL_IF_NULL(castBIGINT, {}, boolean, int64), UNARY_SAFE_NULL_IF_NULL(castINT, {}, int8, int32), UNARY_SAFE_NULL_IF_NULL(castINT, {}, int16, int32), UNARY_SAFE_NULL_IF_NULL(castINT, {}, int64, int32), diff --git a/cpp/src/gandiva/precompiled/arithmetic_ops.cc b/cpp/src/gandiva/precompiled/arithmetic_ops.cc index 676a52795e309..bc55726c2da0b 100644 --- a/cpp/src/gandiva/precompiled/arithmetic_ops.cc +++ b/cpp/src/gandiva/precompiled/arithmetic_ops.cc @@ -251,6 +251,9 @@ NORMALIZE(float32, float32) CAST_UNARY(castBIGINT, int32, int64) CAST_UNARY(castBIGINT, date64, int64) +CAST_UNARY(castBIGINT, float32, int64) +CAST_UNARY(castBIGINT, float64, int64) +CAST_UNARY(castBIGINT, boolean, int64) CAST_UNARY(castINT, int8, int32) CAST_UNARY(castINT, int16, int32) CAST_UNARY(castINT, int64, int32)