File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed
native/spark-expr/src/math_funcs Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -88,7 +88,7 @@ fn spark_decimal_div_internal(
8888 arrow:: compute:: kernels:: arity:: try_binary ( left, right, |l, r| {
8989 let l = BigInt :: from ( l) * & l_mul;
9090 let r = BigInt :: from ( r) * & r_mul;
91- if eval_mode == EvalMode :: Ansi && r. is_zero ( ) {
91+ if eval_mode == EvalMode :: Ansi && is_integral_div && r. is_zero ( ) {
9292 return Err ( ArrowError :: ComputeError ( divide_by_zero_error ( ) . to_string ( ) ) ) ;
9393 }
9494 let div = if r. eq ( & zero) { zero. clone ( ) } else { & l / & r } ;
@@ -107,7 +107,7 @@ fn spark_decimal_div_internal(
107107 arrow:: compute:: kernels:: arity:: try_binary ( left, right, |l, r| {
108108 let l = l * l_mul;
109109 let r = r * r_mul;
110- if eval_mode == EvalMode :: Ansi && r. is_zero ( ) {
110+ if eval_mode == EvalMode :: Ansi && is_integral_div && r. is_zero ( ) {
111111 return Err ( ArrowError :: ComputeError ( divide_by_zero_error ( ) . to_string ( ) ) ) ;
112112 }
113113 let div = if r == 0 { 0 } else { l / r } ;
You can’t perform that action at this time.
0 commit comments