diff --git a/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenCoalesceAggregationUnionSuite.scala b/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenCoalesceAggregationUnionSuite.scala index e10cc90b49ad..7ed8bbdf1d4a 100644 --- a/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenCoalesceAggregationUnionSuite.scala +++ b/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenCoalesceAggregationUnionSuite.scala @@ -453,6 +453,23 @@ class GlutenCoalesceAggregationUnionSuite extends GlutenClickHouseWholeStageTran compareResultsAgainstVanillaSpark(sql, true, checkNoUnion, true) } + test("coalesce project union. case 1") { + + val sql = + """ + |select a, x, y, t from ( + | select a, x, y, 1 as t from coalesce_union_t1 where b % 2 = 0 + | union all + | select a, x, y, 2 as t from coalesce_union_t1 where b % 3 = 1 + | union all + | select a, x, y, 3 as t from coalesce_union_t1 where b % 4 = 1 + | union all + | select a, x, y, 4 as t from coalesce_union_t1 where b % 5 = 1 + |) order by a, x, y, t + |""".stripMargin + compareResultsAgainstVanillaSpark(sql, true, checkNoUnion, true) + } + test("no coalesce project union. case 1") { val sql = """ diff --git a/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala b/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala index 399bcf723d10..fe7958b67773 100644 --- a/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala +++ b/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala @@ -24,5 +24,6 @@ class GlutenDataFrameSetOperationsSuite override def sparkConf: SparkConf = super.sparkConf .set("spark.gluten.sql.columnar.backend.ch.enable.coalesce.project.union", "false") + .set("spark.gluten.sql.columnar.backend.ch.enable.coalesce.aggregation.union", "false") } diff --git a/gluten-ut/spark35/src/test/scala/org/apache/gluten/utils/clickhouse/ClickHouseTestSettings.scala b/gluten-ut/spark35/src/test/scala/org/apache/gluten/utils/clickhouse/ClickHouseTestSettings.scala index 3c1429a34f38..75e97b48a956 100644 --- a/gluten-ut/spark35/src/test/scala/org/apache/gluten/utils/clickhouse/ClickHouseTestSettings.scala +++ b/gluten-ut/spark35/src/test/scala/org/apache/gluten/utils/clickhouse/ClickHouseTestSettings.scala @@ -622,6 +622,8 @@ class ClickHouseTestSettings extends BackendTestSettings { .exclude("ordering and partitioning reporting") enableSuite[GlutenDatasetAggregatorSuite] enableSuite[GlutenDatasetCacheSuite] + // Disable this since coalesece union clauses rule will rewrite the query. + .exclude("SPARK-44653: non-trivial DataFrame unions should not break caching") enableSuite[GlutenDatasetOptimizationSuite] enableSuite[GlutenDatasetPrimitiveSuite] enableSuite[GlutenDatasetSerializerRegistratorSuite] diff --git a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala index 399bcf723d10..fe7958b67773 100644 --- a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala +++ b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/GlutenDataFrameSetOperationsSuite.scala @@ -24,5 +24,6 @@ class GlutenDataFrameSetOperationsSuite override def sparkConf: SparkConf = super.sparkConf .set("spark.gluten.sql.columnar.backend.ch.enable.coalesce.project.union", "false") + .set("spark.gluten.sql.columnar.backend.ch.enable.coalesce.aggregation.union", "false") }