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

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


The following commit(s) were added to refs/heads/main by this push:
     new f914fc85 Catch warnings in FFI unit tests (#1410)
f914fc85 is described below

commit f914fc854a54ba133ee8eb0c3cb0e9845a5d7f7f
Author: Tim Saucer <[email protected]>
AuthorDate: Fri Mar 6 21:12:56 2026 -0500

    Catch warnings in FFI unit tests (#1410)
    
    * Failed pytest in ffi crate when warnings are generated
    
    * Bump DF53 version
---
 Cargo.lock                                         | 72 ++++++++++----------
 Cargo.toml                                         |  8 +--
 examples/datafusion-ffi-example/Cargo.lock         | 79 ++++++++++++++--------
 examples/datafusion-ffi-example/Cargo.toml         | 13 ++--
 .../python/tests/conftest.py                       | 42 ++++++++++++
 examples/datafusion-ffi-example/src/lib.rs         |  2 +
 examples/datafusion-ffi-example/src/utils.rs       |  3 +-
 src/expr.rs                                        |  3 +-
 8 files changed, 145 insertions(+), 77 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 82d5c66d..40b1ba7f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -901,7 +901,7 @@ dependencies = [
 [[package]]
 name = "datafusion"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-schema",
@@ -956,7 +956,7 @@ dependencies = [
 [[package]]
 name = "datafusion-catalog"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -980,7 +980,7 @@ dependencies = [
 [[package]]
 name = "datafusion-catalog-listing"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1002,7 +1002,7 @@ dependencies = [
 [[package]]
 name = "datafusion-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "apache-avro",
@@ -1027,7 +1027,7 @@ dependencies = [
 [[package]]
 name = "datafusion-common-runtime"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "futures",
  "log",
@@ -1037,7 +1037,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-compression",
@@ -1071,7 +1071,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-arrow"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-ipc",
@@ -1094,7 +1094,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-avro"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "apache-avro",
  "arrow",
@@ -1113,7 +1113,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-csv"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1135,7 +1135,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-json"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1158,7 +1158,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-parquet"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1187,12 +1187,12 @@ dependencies = [
 [[package]]
 name = "datafusion-doc"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 
 [[package]]
 name = "datafusion-execution"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -1214,7 +1214,7 @@ dependencies = [
 [[package]]
 name = "datafusion-expr"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1236,7 +1236,7 @@ dependencies = [
 [[package]]
 name = "datafusion-expr-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1248,7 +1248,7 @@ dependencies = [
 [[package]]
 name = "datafusion-ffi"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "abi_stable",
  "arrow",
@@ -1277,7 +1277,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -1308,7 +1308,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-aggregate"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1329,7 +1329,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-aggregate-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1341,7 +1341,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-nested"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-ord",
@@ -1365,7 +1365,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-table"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -1380,7 +1380,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-window"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1397,7 +1397,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-window-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "datafusion-common",
  "datafusion-physical-expr-common",
@@ -1406,7 +1406,7 @@ dependencies = [
 [[package]]
 name = "datafusion-macros"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "datafusion-doc",
  "quote",
@@ -1416,7 +1416,7 @@ dependencies = [
 [[package]]
 name = "datafusion-optimizer"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "chrono",
@@ -1435,7 +1435,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-expr"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1458,7 +1458,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-expr-adapter"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1472,7 +1472,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-expr-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1488,7 +1488,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-optimizer"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1506,7 +1506,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-plan"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1537,7 +1537,7 @@ dependencies = [
 [[package]]
 name = "datafusion-proto"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "chrono",
@@ -1564,7 +1564,7 @@ dependencies = [
 [[package]]
 name = "datafusion-proto-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1574,7 +1574,7 @@ dependencies = [
 [[package]]
 name = "datafusion-pruning"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1619,7 +1619,7 @@ dependencies = [
 [[package]]
 name = "datafusion-session"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "async-trait",
  "datafusion-common",
@@ -1632,7 +1632,7 @@ dependencies = [
 [[package]]
 name = "datafusion-sql"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "bigdecimal",
@@ -1650,7 +1650,7 @@ dependencies = [
 [[package]]
 name = "datafusion-substrait"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "async-recursion",
  "async-trait",
diff --git a/Cargo.toml b/Cargo.toml
index dfc7e4b6..b584470d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -95,7 +95,7 @@ codegen-units = 1
 # We cannot publish to crates.io with any patches in the below section. 
Developers
 # must remove any entries in this section before creating a release candidate.
 [patch.crates-io]
-datafusion = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-substrait = { git = "https://github.com/apache/datafusion.git";, rev 
= "518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-proto = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-ffi = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
+datafusion = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-substrait = { git = "https://github.com/apache/datafusion.git";, rev 
= "35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-proto = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-ffi = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
diff --git a/examples/datafusion-ffi-example/Cargo.lock 
b/examples/datafusion-ffi-example/Cargo.lock
index a5dda657..ede9b446 100644
--- a/examples/datafusion-ffi-example/Cargo.lock
+++ b/examples/datafusion-ffi-example/Cargo.lock
@@ -115,6 +115,15 @@ version = "1.0.101"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea"
 
+[[package]]
+name = "arc-swap"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5"
+dependencies = [
+ "rustversion",
+]
+
 [[package]]
 name = "arrow"
 version = "58.0.0"
@@ -592,7 +601,7 @@ dependencies = [
 [[package]]
 name = "datafusion-catalog"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -616,7 +625,7 @@ dependencies = [
 [[package]]
 name = "datafusion-catalog-listing"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -638,7 +647,7 @@ dependencies = [
 [[package]]
 name = "datafusion-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -660,7 +669,7 @@ dependencies = [
 [[package]]
 name = "datafusion-common-runtime"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "futures",
  "log",
@@ -670,7 +679,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -698,7 +707,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-arrow"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-ipc",
@@ -721,7 +730,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-csv"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -743,7 +752,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-json"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -766,7 +775,7 @@ dependencies = [
 [[package]]
 name = "datafusion-datasource-parquet"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -795,12 +804,12 @@ dependencies = [
 [[package]]
 name = "datafusion-doc"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 
 [[package]]
 name = "datafusion-execution"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -822,7 +831,7 @@ dependencies = [
 [[package]]
 name = "datafusion-expr"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -843,7 +852,7 @@ dependencies = [
 [[package]]
 name = "datafusion-expr-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -855,7 +864,7 @@ dependencies = [
 [[package]]
 name = "datafusion-ffi"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "abi_stable",
  "arrow",
@@ -897,12 +906,13 @@ dependencies = [
  "datafusion-functions-window",
  "pyo3",
  "pyo3-build-config",
+ "pyo3-log",
 ]
 
 [[package]]
 name = "datafusion-functions"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -929,7 +939,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-aggregate"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -950,7 +960,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-aggregate-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -962,7 +972,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-table"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "async-trait",
@@ -977,7 +987,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-window"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -994,7 +1004,7 @@ dependencies = [
 [[package]]
 name = "datafusion-functions-window-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "datafusion-common",
  "datafusion-physical-expr-common",
@@ -1003,7 +1013,7 @@ dependencies = [
 [[package]]
 name = "datafusion-macros"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "datafusion-doc",
  "quote",
@@ -1013,7 +1023,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-expr"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1035,7 +1045,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-expr-adapter"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1049,7 +1059,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-expr-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1065,7 +1075,7 @@ dependencies = [
 [[package]]
 name = "datafusion-physical-plan"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "ahash",
  "arrow",
@@ -1096,7 +1106,7 @@ dependencies = [
 [[package]]
 name = "datafusion-proto"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "chrono",
@@ -1123,7 +1133,7 @@ dependencies = [
 [[package]]
 name = "datafusion-proto-common"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1133,7 +1143,7 @@ dependencies = [
 [[package]]
 name = "datafusion-pruning"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -1149,7 +1159,7 @@ dependencies = [
 [[package]]
 name = "datafusion-session"
 version = "53.0.0"
-source = 
"git+https://github.com/apache/datafusion.git?rev=518560246e87d489eba6d511fa167aa429b06728#518560246e87d489eba6d511fa167aa429b06728";
+source = 
"git+https://github.com/apache/datafusion.git?rev=35749607f585b3bf25b66b7d2289c56c18d03e4f#35749607f585b3bf25b66b7d2289c56c18d03e4f";
 dependencies = [
  "async-trait",
  "datafusion-common",
@@ -2067,6 +2077,17 @@ dependencies = [
  "pyo3-build-config",
 ]
 
+[[package]]
+name = "pyo3-log"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "26c2ec80932c5c3b2d4fbc578c9b56b2d4502098587edb8bef5b6bfcad43682e"
+dependencies = [
+ "arc-swap",
+ "log",
+ "pyo3",
+]
+
 [[package]]
 name = "pyo3-macros"
 version = "0.28.2"
diff --git a/examples/datafusion-ffi-example/Cargo.toml 
b/examples/datafusion-ffi-example/Cargo.toml
index 483838e3..be6096fa 100644
--- a/examples/datafusion-ffi-example/Cargo.toml
+++ b/examples/datafusion-ffi-example/Cargo.toml
@@ -37,6 +37,7 @@ arrow = { version = "58" }
 arrow-array = { version = "58" }
 arrow-schema = { version = "58" }
 async-trait = "0.1.89"
+pyo3-log = "0.13.2"
 
 [build-dependencies]
 pyo3-build-config = "0.28"
@@ -47,9 +48,9 @@ crate-type = ["cdylib", "rlib"]
 
 # TODO: remove when datafusion-53 is released
 [patch.crates-io]
-datafusion-catalog = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-common = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-functions-aggregate = { git = 
"https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-functions-window = { git = 
"https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-expr = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
-datafusion-ffi = { git = "https://github.com/apache/datafusion.git";, rev = 
"518560246e87d489eba6d511fa167aa429b06728" }
+datafusion-catalog = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-common = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-functions-aggregate = { git = 
"https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-functions-window = { git = 
"https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-expr = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
+datafusion-ffi = { git = "https://github.com/apache/datafusion.git";, rev = 
"35749607f585b3bf25b66b7d2289c56c18d03e4f" }
diff --git a/examples/datafusion-ffi-example/python/tests/conftest.py 
b/examples/datafusion-ffi-example/python/tests/conftest.py
new file mode 100644
index 00000000..68f8057a
--- /dev/null
+++ b/examples/datafusion-ffi-example/python/tests/conftest.py
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+import logging
+from typing import TYPE_CHECKING
+
+import pytest
+
+if TYPE_CHECKING:
+    from collections.abc import Generator
+    from typing import Any
+
+
+class _FailOnWarning(logging.Handler):
+    def emit(self, record: logging.LogRecord) -> None:
+        if record.levelno >= logging.WARNING:
+            err = f"Unexpected log warning from '{record.name}': 
{self.format(record)}"
+            raise AssertionError(err)
+
+
[email protected](autouse=True)
+def fail_on_log_warnings() -> Generator[None, Any, None]:
+    handler = _FailOnWarning()
+    logging.root.addHandler(handler)
+    yield
+    logging.root.removeHandler(handler)
diff --git a/examples/datafusion-ffi-example/src/lib.rs 
b/examples/datafusion-ffi-example/src/lib.rs
index 6c64c9fe..23f2001a 100644
--- a/examples/datafusion-ffi-example/src/lib.rs
+++ b/examples/datafusion-ffi-example/src/lib.rs
@@ -34,6 +34,8 @@ pub(crate) mod window_udf;
 
 #[pymodule]
 fn datafusion_ffi_example(m: &Bound<'_, PyModule>) -> PyResult<()> {
+    pyo3_log::init();
+
     m.add_class::<MyTableProvider>()?;
     m.add_class::<MyTableFunction>()?;
     m.add_class::<MyCatalogProvider>()?;
diff --git a/examples/datafusion-ffi-example/src/utils.rs 
b/examples/datafusion-ffi-example/src/utils.rs
index 5b066683..5f2865aa 100644
--- a/examples/datafusion-ffi-example/src/utils.rs
+++ b/examples/datafusion-ffi-example/src/utils.rs
@@ -15,13 +15,14 @@
 // specific language governing permissions and limitations
 // under the License.
 
+use std::ptr::NonNull;
+
 use datafusion_ffi::proto::logical_extension_codec::FFI_LogicalExtensionCodec;
 use pyo3::exceptions::PyValueError;
 use pyo3::ffi::c_str;
 use pyo3::prelude::{PyAnyMethods, PyCapsuleMethods};
 use pyo3::types::PyCapsule;
 use pyo3::{Bound, PyAny, PyResult};
-use std::ptr::NonNull;
 
 pub(crate) fn ffi_logical_codec_from_pycapsule(
     obj: Bound<PyAny>,
diff --git a/src/expr.rs b/src/expr.rs
index 4d4a73ff..c4f2a12d 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -779,7 +779,8 @@ impl PyExpr {
                 | Operator::AtQuestion
                 | Operator::Question
                 | Operator::QuestionAnd
-                | Operator::QuestionPipe => 
Err(py_type_err(format!("Unsupported expr: ${op}"))),
+                | Operator::QuestionPipe
+                | Operator::Colon => Err(py_type_err(format!("Unsupported 
expr: ${op}"))),
             },
             Expr::Cast(Cast { expr: _, data_type }) => 
DataTypeMap::map_from_arrow_type(data_type),
             Expr::Literal(scalar_value, _) => 
DataTypeMap::map_from_scalar_value(scalar_value),


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


Reply via email to