diff --git a/Cargo.lock b/Cargo.lock index 82d5c66d0..40b1ba7f1 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 dfc7e4b60..b584470d6 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 a5dda6575..ede9b446b 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 483838e31..be6096faf 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 000000000..68f8057af --- /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) + + +@pytest.fixture(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 6c64c9fe5..23f2001a2 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::()?; m.add_class::()?; m.add_class::()?; diff --git a/examples/datafusion-ffi-example/src/utils.rs b/examples/datafusion-ffi-example/src/utils.rs index 5b0666837..5f2865aa2 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, diff --git a/src/expr.rs b/src/expr.rs index 4d4a73ff3..c4f2a12da 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),