Skip to content

Commit 24fce64

Browse files
author
Bhargava Vadlamani
committed
rebase
1 parent 065a822 commit 24fce64

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

native/spark-expr/src/math_funcs/div.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ 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 && is_integral_div && r.is_zero() {
91+
if eval_mode == EvalMode::Ansi && r.is_zero() {
92+
println!("ANSI MODE ENABLED AND R is ZERO !!!!");
9293
return Err(ArrowError::ComputeError(divide_by_zero_error().to_string()));
9394
}
9495
let div = if r.eq(&zero) { zero.clone() } else { &l / &r };
@@ -107,7 +108,8 @@ fn spark_decimal_div_internal(
107108
arrow::compute::kernels::arity::try_binary(left, right, |l, r| {
108109
let l = l * l_mul;
109110
let r = r * r_mul;
110-
if eval_mode == EvalMode::Ansi && is_integral_div && r.is_zero() {
111+
if eval_mode == EvalMode::Ansi && r.is_zero() {
112+
println!("ELSE ::: ANSI MODE ENABLED AND R is ZERO !!!!");
111113
return Err(ArrowError::ComputeError(divide_by_zero_error().to_string()));
112114
}
113115
let div = if r == 0 { 0 } else { l / r };

spark/src/main/scala/org/apache/comet/serde/arithmetic.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ object CometIntegralDivide extends CometExpressionSerde[IntegralDivide] with Mat
198198
if (expr.right.dataType.isInstanceOf[DecimalType]) expr.right
199199
else Cast(expr.right, DecimalType(19, 0))
200200

201-
val rightExpr = if (expr.evalMode != EvalMode.ANSI) right else nullIfWhenPrimitive(right)
201+
val rightExpr = if (expr.evalMode != EvalMode.ANSI) nullIfWhenPrimitive(right) else right
202202

203203
val dataType = (left.dataType, right.dataType) match {
204204
case (l: DecimalType, r: DecimalType) =>

spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2842,7 +2842,7 @@ class CometExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelper {
28422842
randomSize = 10000)
28432843
withParquetTable(path1.toString, "tbl1") {
28442844
withParquetTable(path2.toString, "tbl2") {
2845-
checkSparkAnswerAndOperator("""
2845+
val res = spark.sql("""
28462846
|select
28472847
| t1._2 div t2._2, div(t1._2, t2._2),
28482848
| t1._3 div t2._3, div(t1._3, t2._3),
@@ -2854,6 +2854,13 @@ class CometExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelper {
28542854
| from tbl1 t1 join tbl2 t2 on t1._id = t2._id
28552855
| order by t1._id""".stripMargin)
28562856

2857+
// res.show(10, false)
2858+
2859+
checkSparkAnswerAndOperator(res)
2860+
// withSQLConf(CometConf.COMET_ENABLED.key -> "false") {
2861+
// res.show(10, false)
2862+
// }
2863+
28572864
checkSparkAnswerAndOperator("""
28582865
|select
28592866
| t1._12 div t2._12, div(t1._12, t2._12),

0 commit comments

Comments
 (0)