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]