Skip to content

Commit 2c1a6b9

Browse files
fix: Spark 4.0-preview1 SPARK-47120 (#1156)
## Which issue does this PR close? Part of #372 and #551 ## Rationale for this change To be ready for Spark 4.0 ## What changes are included in this PR? This PR fixes the new test SPARK-47120 added in Spark 4.0 ## How are these changes tested? tests enabled
1 parent 5c45fdc commit 2c1a6b9

File tree

3 files changed

+10
-18
lines changed

3 files changed

+10
-18
lines changed

dev/diffs/4.0.0-preview1.diff

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2088,7 +2088,7 @@ index cd6f41b4ef4..4b6a17344bc 100644
20882088
ParquetOutputFormat.WRITER_VERSION -> ParquetProperties.WriterVersion.PARQUET_2_0.toString
20892089
)
20902090
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetFilterSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetFilterSuite.scala
2091-
index 795e9f46a8d..6285a1e388b 100644
2091+
index 795e9f46a8d..5306c94a686 100644
20922092
--- a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetFilterSuite.scala
20932093
+++ b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetFilterSuite.scala
20942094
@@ -1100,7 +1100,11 @@ abstract class ParquetFilterSuite extends QueryTest with ParquetTest with Shared
@@ -2150,17 +2150,7 @@ index 795e9f46a8d..6285a1e388b 100644
21502150
// block 1:
21512151
// null count min max
21522152
// page-0 0 0 99
2153-
@@ -2211,7 +2225,8 @@ abstract class ParquetFilterSuite extends QueryTest with ParquetTest with Shared
2154-
}
2155-
}
2156-
2157-
- test("SPARK-47120: subquery literal filter pushdown") {
2158-
+ test("SPARK-47120: subquery literal filter pushdown",
2159-
+ IgnoreComet("TODO: https://github.com/apache/datafusion-comet/issues/551")) {
2160-
withTable("t1", "t2") {
2161-
sql("create table t1(d date) using parquet")
2162-
sql("create table t2(d date) using parquet")
2163-
@@ -2301,7 +2316,11 @@ class ParquetV1FilterSuite extends ParquetFilterSuite {
2153+
@@ -2301,7 +2315,11 @@ class ParquetV1FilterSuite extends ParquetFilterSuite {
21642154
assert(pushedParquetFilters.exists(_.getClass === filterClass),
21652155
s"${pushedParquetFilters.map(_.getClass).toList} did not contain ${filterClass}.")
21662156

@@ -2173,7 +2163,7 @@ index 795e9f46a8d..6285a1e388b 100644
21732163
} else {
21742164
assert(selectedFilters.isEmpty, "There is filter pushed down")
21752165
}
2176-
@@ -2362,7 +2381,11 @@ class ParquetV2FilterSuite extends ParquetFilterSuite {
2166+
@@ -2362,7 +2380,11 @@ class ParquetV2FilterSuite extends ParquetFilterSuite {
21772167
assert(pushedParquetFilters.exists(_.getClass === filterClass),
21782168
s"${pushedParquetFilters.map(_.getClass).toList} did not contain ${filterClass}.")
21792169

docs/source/user-guide/source.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Official source releases can be downloaded from https://dist.apache.org/repos/di
2727

2828
```console
2929
# Pick the latest version
30-
export COMET_VERSION=0.3.0
30+
export COMET_VERSION=0.4.0
3131
# Download the tarball
3232
curl -O "https://dist.apache.org/repos/dist/release/datafusion/datafusion-comet-$COMET_VERSION/apache-datafusion-comet-$COMET_VERSION.tar.gz"
3333
# Unpack

spark/src/main/scala/org/apache/comet/parquet/ParquetFilters.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -723,20 +723,22 @@ class ParquetFilters(
723723
.lift(nameToParquetField(name).fieldType)
724724
.map(_(nameToParquetField(name).fieldNames, value))
725725

726-
case sources.LessThan(name, value) if canMakeFilterOn(name, value) =>
726+
case sources.LessThan(name, value) if (value != null) && canMakeFilterOn(name, value) =>
727727
makeLt
728728
.lift(nameToParquetField(name).fieldType)
729729
.map(_(nameToParquetField(name).fieldNames, value))
730-
case sources.LessThanOrEqual(name, value) if canMakeFilterOn(name, value) =>
730+
case sources.LessThanOrEqual(name, value)
731+
if (value != null) && canMakeFilterOn(name, value) =>
731732
makeLtEq
732733
.lift(nameToParquetField(name).fieldType)
733734
.map(_(nameToParquetField(name).fieldNames, value))
734735

735-
case sources.GreaterThan(name, value) if canMakeFilterOn(name, value) =>
736+
case sources.GreaterThan(name, value) if (value != null) && canMakeFilterOn(name, value) =>
736737
makeGt
737738
.lift(nameToParquetField(name).fieldType)
738739
.map(_(nameToParquetField(name).fieldNames, value))
739-
case sources.GreaterThanOrEqual(name, value) if canMakeFilterOn(name, value) =>
740+
case sources.GreaterThanOrEqual(name, value)
741+
if (value != null) && canMakeFilterOn(name, value) =>
740742
makeGtEq
741743
.lift(nameToParquetField(name).fieldType)
742744
.map(_(nameToParquetField(name).fieldNames, value))

0 commit comments

Comments
 (0)