This is an automated email from the ASF dual-hosted git repository.
changchen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new a6369a0bdd [Gluten-8715][CH] Fix NaN diff (#8718)
a6369a0bdd is described below
commit a6369a0bddfe77721c387496352674992244a8ec
Author: zhanglistar <[email protected]>
AuthorDate: Wed Feb 19 22:45:54 2025 +0800
[Gluten-8715][CH] Fix NaN diff (#8718)
* fix nan
* add more tests
---
.../execution/GlutenFunctionValidateSuite.scala | 87 ++++++++++++++++++++++
cpp-ch/clickhouse.version | 2 +-
2 files changed, 88 insertions(+), 1 deletion(-)
diff --git
a/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenFunctionValidateSuite.scala
b/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenFunctionValidateSuite.scala
index a2de084ad3..5192dd0e47 100644
---
a/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenFunctionValidateSuite.scala
+++
b/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenFunctionValidateSuite.scala
@@ -1044,4 +1044,91 @@ class GlutenFunctionValidateSuite extends
GlutenClickHouseWholeStageTransformerS
compareResultsAgainstVanillaSpark(select2_sql, true, { _ => })
spark.sql(drop_sql)
}
+
+ test("GLUTEN-8715 nan semantics") {
+ withTable("test_8715") {
+ spark.sql("create table test_8715(c1 int, c2 double) using parquet")
+ val insert_sql =
+ """
+ |insert into test_8715 values
+ |(1, double('infinity'))
+ |,(2, double('infinity'))
+ |,(3, double('inf'))
+ |,(4, double('-inf'))
+ |,(5, double('NaN'))
+ |,(6, double('NaN'))
+ |,(7, double('-infinity'))
+ |""".stripMargin
+ spark.sql(insert_sql)
+ val sql =
+ """
+ |select c2 = cast('nan' as double) from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql, true, { _ => })
+ val sql5 =
+ """
+ |select c2 <= cast('nan' as double) from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql5, true, { _ => })
+ val sql6 =
+ """
+ |select c2 >= cast('nan' as double) from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql6, true, { _ => })
+ val sql7 =
+ """
+ |select c2 > cast('1.1' as double) from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql7, true, { _ => })
+ val sql9 =
+ """
+ |select c2 >= cast('1.1' as double) from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql9, true, { _ => })
+ val sql8 =
+ """
+ |select cast('1.1' as double) < c2 from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql8, true, { _ => })
+ val sql10 =
+ """
+ |select cast('1.1' as double) <= c2 from test_8715 where c1=5
+ |order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql10, true, { _ => })
+ val sql1 =
+ """
+ |select sum(c1) from test_8715
+ |group by c2 order by c2 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql1, true, { _ => })
+ val sql2 =
+ """
+ |select * from test_8715
+ |order by c2 asc, c1 asc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql2, true, { _ => })
+ val sql3 =
+ """
+ |select * from test_8715
+ |order by c2 desc, c1 desc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql3, true, { _ => })
+ val sql4 =
+ """
+ |select a.c1 as a_c1, a.c2 as a_c2,
+ |b.c1 as b_c1, b.c2 as b_c2
+ |from test_8715 a
+ |join test_8715 b on a.c2 = b.c2
+ |order by a.c1, b.c1 desc
+ |""".stripMargin
+ compareResultsAgainstVanillaSpark(sql4, true, { _ => })
+ }
+ }
}
diff --git a/cpp-ch/clickhouse.version b/cpp-ch/clickhouse.version
index 4c17357eeb..aae4e16a40 100644
--- a/cpp-ch/clickhouse.version
+++ b/cpp-ch/clickhouse.version
@@ -1,3 +1,3 @@
CH_ORG=Kyligence
CH_BRANCH=rebase_ch/20250215
-CH_COMMIT=ad96a5bf776
+CH_COMMIT=fa944483093
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]