This is an automated email from the ASF dual-hosted git repository.

agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/main by this push:
     new 7c0c596c chore: Upgrade to DataFusion 43.0.0-rc1 (#1057)
7c0c596c is described below

commit 7c0c596c4ee42cbde68c09caa973834ad055876d
Author: Andy Grove <[email protected]>
AuthorDate: Tue Nov 5 13:23:02 2024 -0700

    chore: Upgrade to DataFusion 43.0.0-rc1 (#1057)
    
    * Use DataFusion 43.0.0-rc1
    
    * Fix compilation issues
    
    * clippy
    
    * fix
    
    * fix
    
    * ignore failing test
---
 native/Cargo.lock                                  | 140 +++++++++++----------
 native/Cargo.toml                                  |  30 ++---
 native/core/benches/aggregate.rs                   |   2 +-
 native/core/benches/bloom_filter_agg.rs            |   2 +-
 .../datafusion/expressions/sum_decimal.rs          |   2 +-
 native/core/src/execution/datafusion/planner.rs    |   6 +-
 .../src/scalar_funcs/hash_expressions.rs           |   8 +-
 .../org/apache/comet/exec/CometJoinSuite.scala     |   3 +-
 8 files changed, 102 insertions(+), 91 deletions(-)

diff --git a/native/Cargo.lock b/native/Cargo.lock
index 39db7f9d..9799358c 100644
--- a/native/Cargo.lock
+++ b/native/Cargo.lock
@@ -114,9 +114,9 @@ checksum = 
"7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
 
 [[package]]
 name = "arrow"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a9ba0d7248932f4e2a12fb37f0a2e3ec82b3bdedbac2a1dce186e036843b8f8c"
+checksum = "4caf25cdc4a985f91df42ed9e9308e1adbcd341a31a72605c697033fcef163e3"
 dependencies = [
  "arrow-arith",
  "arrow-array",
@@ -135,9 +135,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-arith"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d60afcdc004841a5c8d8da4f4fa22d64eb19c0c01ef4bcedd77f175a7cf6e38f"
+checksum = "91f2dfd1a7ec0aca967dfaa616096aec49779adc8eccec005e2f5e4111b1192a"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -150,9 +150,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-array"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7f16835e8599dbbb1659fd869d865254c4cf32c6c2bb60b6942ac9fc36bfa5da"
+checksum = "d39387ca628be747394890a6e47f138ceac1aa912eab64f02519fed24b637af8"
 dependencies = [
  "ahash",
  "arrow-buffer",
@@ -167,9 +167,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-buffer"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1a1f34f0faae77da6b142db61deba2cb6d60167592b178be317b341440acba80"
+checksum = "9e51e05228852ffe3eb391ce7178a0f97d2cf80cc6ef91d3c4a6b3cb688049ec"
 dependencies = [
  "bytes",
  "half",
@@ -178,9 +178,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-cast"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "450e4abb5775bca0740bec0bcf1b1a5ae07eff43bd625661c4436d8e8e4540c4"
+checksum = "d09aea56ec9fa267f3f3f6cdab67d8a9974cbba90b3aa38c8fe9d0bb071bd8c1"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -199,9 +199,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-csv"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d3a4e4d63830a341713e35d9a42452fbc6241d5f42fa5cf6a4681b8ad91370c4"
+checksum = "c07b5232be87d115fde73e32f2ca7f1b353bff1b44ac422d3c6fc6ae38f11f0d"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -218,9 +218,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-data"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2b1e618bbf714c7a9e8d97203c806734f012ff71ae3adc8ad1b075689f540634"
+checksum = "b98ae0af50890b494cebd7d6b04b35e896205c1d1df7b29a6272c5d0d0249ef5"
 dependencies = [
  "arrow-buffer",
  "arrow-schema",
@@ -230,9 +230,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-ipc"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f98e983549259a2b97049af7edfb8f28b8911682040e99a94e4ceb1196bd65c2"
+checksum = "0ed91bdeaff5a1c00d28d8f73466bcb64d32bbd7093b5a30156b4b9f4dba3eee"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -245,9 +245,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-json"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b198b9c6fcf086501730efbbcb483317b39330a116125af7bb06467d04b352a3"
+checksum = "0471f51260a5309307e5d409c9dc70aede1cd9cf1d4ff0f0a1e8e1a2dd0e0d3c"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -265,9 +265,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-ord"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2427f37b4459a4b9e533045abe87a5183a5e0995a3fc2c2fd45027ae2cc4ef3f"
+checksum = "2883d7035e0b600fb4c30ce1e50e66e53d8656aa729f2bfa4b51d359cf3ded52"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -280,9 +280,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-row"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "15959657d92e2261a7a323517640af87f5afd9fd8a6492e424ebee2203c567f6"
+checksum = "552907e8e587a6fde4f8843fd7a27a576a260f65dab6c065741ea79f633fc5be"
 dependencies = [
  "ahash",
  "arrow-array",
@@ -294,18 +294,18 @@ dependencies = [
 
 [[package]]
 name = "arrow-schema"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fbf0388a18fd7f7f3fe3de01852d30f54ed5182f9004db700fbe3ba843ed2794"
+checksum = "539ada65246b949bd99ffa0881a9a15a4a529448af1a07a9838dd78617dafab1"
 dependencies = [
  "bitflags 2.6.0",
 ]
 
 [[package]]
 name = "arrow-select"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b83e5723d307a38bf00ecd2972cd078d1339c7fd3eb044f609958a9a24463f3a"
+checksum = "6259e566b752da6dceab91766ed8b2e67bf6270eb9ad8a6e07a33c1bede2b125"
 dependencies = [
  "ahash",
  "arrow-array",
@@ -317,9 +317,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-string"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7ab3db7c09dd826e74079661d84ed01ed06547cf75d52c2818ef776d0d852305"
+checksum = "f3179ccbd18ebf04277a095ba7321b93fd1f774f18816bd5f6b3ce2f594edb6c"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -805,8 +805,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -853,8 +853,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-catalog"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow-schema",
  "async-trait",
@@ -949,8 +949,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-common"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -960,6 +960,7 @@ dependencies = [
  "chrono",
  "half",
  "hashbrown",
+ "indexmap",
  "instant",
  "libc",
  "num_cpus",
@@ -971,8 +972,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-common-runtime"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "log",
  "tokio",
@@ -980,8 +981,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-execution"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "chrono",
@@ -1000,8 +1001,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-expr"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -1023,18 +1024,19 @@ dependencies = [
 
 [[package]]
 name = "datafusion-expr-common"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "datafusion-common",
+ "itertools 0.13.0",
  "paste",
 ]
 
 [[package]]
 name = "datafusion-functions"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -1059,8 +1061,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-functions-aggregate"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -1079,8 +1081,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-functions-aggregate-common"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -1092,8 +1094,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-functions-nested"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "arrow-array",
@@ -1114,12 +1116,13 @@ dependencies = [
 
 [[package]]
 name = "datafusion-functions-window"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "datafusion-common",
  "datafusion-expr",
  "datafusion-functions-window-common",
+ "datafusion-physical-expr",
  "datafusion-physical-expr-common",
  "log",
  "paste",
@@ -1127,8 +1130,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-functions-window-common"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "datafusion-common",
  "datafusion-physical-expr-common",
@@ -1136,8 +1139,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-optimizer"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1155,8 +1158,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-expr"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -1182,8 +1185,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-expr-common"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -1195,8 +1198,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-optimizer"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "arrow-schema",
@@ -1210,8 +1213,8 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-plan"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "ahash",
  "arrow",
@@ -1244,14 +1247,15 @@ dependencies = [
 
 [[package]]
 name = "datafusion-sql"
-version = "42.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=3b6aac2#3b6aac2fcecdb003427f9475f061ed2cc52e8558";
+version = "43.0.0"
+source = 
"git+https://github.com/apache/datafusion.git?rev=43.0.0-rc1#88f58bf929167c5c5e2250ad87caa88d4dff11e5";
 dependencies = [
  "arrow",
  "arrow-array",
  "arrow-schema",
  "datafusion-common",
  "datafusion-expr",
+ "indexmap",
  "log",
  "regex",
  "sqlparser",
@@ -2170,9 +2174,9 @@ dependencies = [
 
 [[package]]
 name = "parquet"
-version = "53.1.0"
+version = "53.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "310c46a70a3ba90d98fec39fa2da6d9d731e544191da6fb56c9d199484d0dd3e"
+checksum = "dea02606ba6f5e856561d8d507dba8bac060aefca2a6c0f1aa1d361fed91ff3e"
 dependencies = [
  "ahash",
  "bytes",
diff --git a/native/Cargo.toml b/native/Cargo.toml
index 943d591d..85146afe 100644
--- a/native/Cargo.toml
+++ b/native/Cargo.toml
@@ -30,23 +30,23 @@ license = "Apache-2.0"
 edition = "2021"
 
 # Comet uses the same minimum Rust version as DataFusion
-rust-version = "1.75"
+rust-version = "1.79"
 
 [workspace.dependencies]
-arrow = { version = "53.1.0", features = ["prettyprint", "ffi", "chrono-tz"] }
-arrow-array = { version = "53.1.0" }
-arrow-buffer = { version = "53.1.0" }
-arrow-data = { version = "53.1.0" }
-arrow-schema = { version = "53.1.0" }
-parquet = { version = "53.1.0", default-features = false, features = 
["experimental"] }
-datafusion-common = { git = "https://github.com/apache/datafusion.git";, rev = 
"3b6aac2" }
-datafusion = { git = "https://github.com/apache/datafusion.git";, rev = 
"3b6aac2", default-features = false, features = ["unicode_expressions", 
"crypto_expressions"] }
-datafusion-functions = { git = "https://github.com/apache/datafusion.git";, rev 
= "3b6aac2", features = ["crypto_expressions"] }
-datafusion-functions-nested = { git = 
"https://github.com/apache/datafusion.git";, rev = "3b6aac2", default-features = 
false }
-datafusion-expr = { git = "https://github.com/apache/datafusion.git";, rev = 
"3b6aac2", default-features = false }
-datafusion-execution = { git = "https://github.com/apache/datafusion.git";, rev 
= "3b6aac2", default-features = false }
-datafusion-physical-plan = { git = "https://github.com/apache/datafusion.git";, 
rev = "3b6aac2", default-features = false }
-datafusion-physical-expr = { git = "https://github.com/apache/datafusion.git";, 
rev = "3b6aac2", default-features = false }
+arrow = { version = "53.2.0", features = ["prettyprint", "ffi", "chrono-tz"] }
+arrow-array = { version = "53.2.0" }
+arrow-buffer = { version = "53.2.0" }
+arrow-data = { version = "53.2.0" }
+arrow-schema = { version = "53.2.0" }
+parquet = { version = "53.2.0", default-features = false, features = 
["experimental"] }
+datafusion-common = { git = "https://github.com/apache/datafusion.git";, rev = 
"43.0.0-rc1" }
+datafusion = { git = "https://github.com/apache/datafusion.git";, rev = 
"43.0.0-rc1", default-features = false, features = ["unicode_expressions", 
"crypto_expressions"] }
+datafusion-functions = { git = "https://github.com/apache/datafusion.git";, rev 
= "43.0.0-rc1", features = ["crypto_expressions"] }
+datafusion-functions-nested = { git = 
"https://github.com/apache/datafusion.git";, rev = "43.0.0-rc1", 
default-features = false }
+datafusion-expr = { git = "https://github.com/apache/datafusion.git";, rev = 
"43.0.0-rc1", default-features = false }
+datafusion-execution = { git = "https://github.com/apache/datafusion.git";, rev 
= "43.0.0-rc1", default-features = false }
+datafusion-physical-plan = { git = "https://github.com/apache/datafusion.git";, 
rev = "43.0.0-rc1", default-features = false }
+datafusion-physical-expr = { git = "https://github.com/apache/datafusion.git";, 
rev = "43.0.0-rc1", default-features = false }
 datafusion-comet-spark-expr = { path = "spark-expr", version = "0.4.0" }
 datafusion-comet-proto = { path = "proto", version = "0.4.0" }
 chrono = { version = "0.4", default-features = false, features = ["clock"] }
diff --git a/native/core/benches/aggregate.rs b/native/core/benches/aggregate.rs
index 14425f76..c6209406 100644
--- a/native/core/benches/aggregate.rs
+++ b/native/core/benches/aggregate.rs
@@ -151,7 +151,7 @@ fn create_aggregate(
         AggregateExec::try_new(
             AggregateMode::Partial,
             PhysicalGroupBy::new_single(vec![(c0, "c0".to_string())]),
-            vec![aggr_expr],
+            vec![aggr_expr.into()],
             vec![None], // no filter expressions
             scan,
             Arc::clone(schema),
diff --git a/native/core/benches/bloom_filter_agg.rs 
b/native/core/benches/bloom_filter_agg.rs
index 90e3e3f6..af3eb919 100644
--- a/native/core/benches/bloom_filter_agg.rs
+++ b/native/core/benches/bloom_filter_agg.rs
@@ -121,7 +121,7 @@ fn create_aggregate(
         AggregateExec::try_new(
             mode,
             PhysicalGroupBy::new_single(vec![]),
-            vec![aggr_expr],
+            vec![aggr_expr.into()],
             vec![None],
             scan,
             Arc::clone(schema),
diff --git a/native/core/src/execution/datafusion/expressions/sum_decimal.rs 
b/native/core/src/execution/datafusion/expressions/sum_decimal.rs
index a3ce96b6..d885ff90 100644
--- a/native/core/src/execution/datafusion/expressions/sum_decimal.rs
+++ b/native/core/src/execution/datafusion/expressions/sum_decimal.rs
@@ -536,7 +536,7 @@ mod tests {
         let aggregate = Arc::new(AggregateExec::try_new(
             AggregateMode::Partial,
             PhysicalGroupBy::new_single(vec![(c0, "c0".to_string())]),
-            vec![aggr_expr],
+            vec![aggr_expr.into()],
             vec![None], // no filter expressions
             scan,
             Arc::clone(&schema),
diff --git a/native/core/src/execution/datafusion/planner.rs 
b/native/core/src/execution/datafusion/planner.rs
index e2ea3863..6f41bf0a 100644
--- a/native/core/src/execution/datafusion/planner.rs
+++ b/native/core/src/execution/datafusion/planner.rs
@@ -111,6 +111,7 @@ use datafusion_expr::{
 };
 use datafusion_physical_expr::expressions::{Literal, StatsType};
 use datafusion_physical_expr::window::WindowExpr;
+use datafusion_physical_expr::LexOrdering;
 use itertools::Itertools;
 use jni::objects::GlobalRef;
 use num::{BigInt, ToPrimitive};
@@ -873,11 +874,12 @@ impl PhysicalPlanner {
                     .collect();
 
                 let num_agg = agg.agg_exprs.len();
+                let aggr_expr = agg_exprs?.into_iter().map(Arc::new).collect();
                 let aggregate = Arc::new(
                     
datafusion::physical_plan::aggregates::AggregateExec::try_new(
                         mode,
                         group_by,
-                        agg_exprs?,
+                        aggr_expr,
                         vec![None; num_agg], // no filter expressions
                         Arc::clone(&child),
                         Arc::clone(&schema),
@@ -935,7 +937,7 @@ impl PhysicalPlanner {
 
                 Ok((
                     scans,
-                    Arc::new(SortExec::new(exprs?, child).with_fetch(fetch)),
+                    Arc::new(SortExec::new(LexOrdering::new(exprs?), 
child).with_fetch(fetch)),
                 ))
             }
             OpStruct::Scan(scan) => {
diff --git a/native/spark-expr/src/scalar_funcs/hash_expressions.rs 
b/native/spark-expr/src/scalar_funcs/hash_expressions.rs
index 33c8cc5e..af423677 100644
--- a/native/spark-expr/src/scalar_funcs/hash_expressions.rs
+++ b/native/spark-expr/src/scalar_funcs/hash_expressions.rs
@@ -18,7 +18,7 @@
 use crate::scalar_funcs::hex::hex_strings;
 use crate::spark_hash::{create_murmur3_hashes, create_xxhash64_hashes};
 
-use arrow_array::{ArrayRef, Int32Array, Int64Array, StringArray};
+use arrow_array::{Array, ArrayRef, Int32Array, Int64Array, StringArray};
 use datafusion::functions::crypto::{sha224, sha256, sha384, sha512};
 use datafusion_common::cast::as_binary_array;
 use datafusion_common::{exec_err, internal_err, DataFusionError, ScalarValue};
@@ -139,7 +139,11 @@ fn wrap_digest_result_as_hex_string(
     args: &[ColumnarValue],
     digest: Arc<ScalarUDF>,
 ) -> Result<ColumnarValue, DataFusionError> {
-    let value = digest.invoke(args)?;
+    let row_count = match &args[0] {
+        ColumnarValue::Array(array) => array.len(),
+        ColumnarValue::Scalar(_) => 1,
+    };
+    let value = digest.invoke_batch(args, row_count)?;
     match value {
         ColumnarValue::Array(array) => {
             let binary_array = as_binary_array(&array)?;
diff --git a/spark/src/test/scala/org/apache/comet/exec/CometJoinSuite.scala 
b/spark/src/test/scala/org/apache/comet/exec/CometJoinSuite.scala
index d787a9b1..ad1aef4a 100644
--- a/spark/src/test/scala/org/apache/comet/exec/CometJoinSuite.scala
+++ b/spark/src/test/scala/org/apache/comet/exec/CometJoinSuite.scala
@@ -338,7 +338,8 @@ class CometJoinSuite extends CometTestBase {
     }
   }
 
-  test("SortMergeJoin with join filter") {
+  // https://github.com/apache/datafusion-comet/issues/398
+  ignore("SortMergeJoin with join filter") {
     withSQLConf(
       CometConf.COMET_EXEC_SORT_MERGE_JOIN_WITH_JOIN_FILTER_ENABLED.key -> 
"true",
       SQLConf.ADAPTIVE_AUTO_BROADCASTJOIN_THRESHOLD.key -> "-1",


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to