From 9ad2115075b1b634794e36d74bdcb1390151a59e Mon Sep 17 00:00:00 2001 From: Gabriel Musat Mestre Date: Tue, 9 Dec 2025 13:29:54 +0100 Subject: [PATCH 1/3] Use DataDog fork --- Cargo.lock | 928 ++++++++++++-------------- Cargo.toml | 34 +- benchmarks/Cargo.toml | 6 +- benchmarks/src/util/memory.rs | 4 +- src/distributed_ext.rs | 2 +- src/flight_service/do_get.rs | 3 +- src/flight_service/session_builder.rs | 2 +- src/metrics/proto.rs | 4 - src/protobuf/distributed_codec.rs | 63 +- src/protobuf/errors/arrow_error.rs | 7 - tests/custom_config_extension.rs | 4 +- tests/custom_extension_codec.rs | 4 +- tests/error_propagation.rs | 4 +- tests/stateful_execution_plan.rs | 4 +- 14 files changed, 498 insertions(+), 571 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fc93ec9b..c39056d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -126,11 +126,23 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + [[package]] name = "arrow" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df8bb5b0bd64c0b9bc61317fcc480bad0f00e56d3bc32c69a4c8dada4786bae" +checksum = "6e833808ff2d94ed40d9379848a950d995043c7fb3e81a30b383f4c6033821cc" dependencies = [ "arrow-arith", "arrow-array", @@ -149,23 +161,23 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a640186d3bd30a24cb42264c2dafb30e236a6f50d510e56d40b708c9582491" +checksum = "ad08897b81588f60ba983e3ca39bda2b179bdd84dced378e7df81a5313802ef8" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", - "num-traits", + "num", ] [[package]] name = "arrow-array" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219fe420e6800979744c8393b687afb0252b3f8a89b91027d27887b72aa36d31" +checksum = "8548ca7c070d8db9ce7aa43f37393e4bfcf3f2d3681df278490772fd1673d08d" dependencies = [ "ahash", "arrow-buffer", @@ -175,28 +187,25 @@ dependencies = [ "chrono-tz", "half", "hashbrown 0.16.1", - "num-complex", - "num-integer", - "num-traits", + "num", ] [[package]] name = "arrow-buffer" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76885a2697a7edf6b59577f568b456afc94ce0e2edc15b784ce3685b6c3c5c27" +checksum = "e003216336f70446457e280807a73899dd822feaf02087d31febca1363e2fccc" dependencies = [ "bytes", "half", - "num-bigint", - "num-traits", + "num", ] [[package]] name = "arrow-cast" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9ebb4c987e6b3b236fb4a14b20b34835abfdd80acead3ccf1f9bf399e1f168" +checksum = "919418a0681298d3a77d1a315f625916cb5678ad0d74b9c60108eb15fd083023" dependencies = [ "arrow-array", "arrow-buffer", @@ -204,20 +213,20 @@ dependencies = [ "arrow-schema", "arrow-select", "atoi", - "base64 0.22.1", + "base64", "chrono", "comfy-table", "half", "lexical-core", - "num-traits", + "num", "ryu", ] [[package]] name = "arrow-csv" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92386159c8d4bce96f8bd396b0642a0d544d471bdc2ef34d631aec80db40a09c" +checksum = "bfa9bf02705b5cf762b6f764c65f04ae9082c7cfc4e96e0c33548ee3f67012eb" dependencies = [ "arrow-array", "arrow-cast", @@ -230,42 +239,40 @@ dependencies = [ [[package]] name = "arrow-data" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727681b95de313b600eddc2a37e736dcb21980a40f640314dcf360e2f36bc89b" +checksum = "a5c64fff1d142f833d78897a772f2e5b55b36cb3e6320376f0961ab0db7bd6d0" dependencies = [ "arrow-buffer", "arrow-schema", "half", - "num-integer", - "num-traits", + "num", ] [[package]] name = "arrow-flight" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f70bb56412a007b0cfc116d15f24dda6adeed9611a213852a004cda20085a3b9" +checksum = "8c8b0ba0784d56bc6266b79f5de7a24b47024e7b3a0045d2ad4df3d9b686099f" dependencies = [ "arrow-array", "arrow-buffer", "arrow-cast", "arrow-ipc", "arrow-schema", - "base64 0.22.1", + "base64", "bytes", "futures", - "prost", + "prost 0.13.5", "prost-types", "tonic", - "tonic-prost", ] [[package]] name = "arrow-ipc" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9ba92e3de170295c98a84e5af22e2b037f0c7b32449445e6c493b5fca27f27" +checksum = "1d3594dcddccc7f20fd069bc8e9828ce37220372680ff638c5e00dea427d88f5" dependencies = [ "arrow-array", "arrow-buffer", @@ -278,9 +285,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b969b4a421ae83828591c6bf5450bd52e6d489584142845ad6a861f42fe35df8" +checksum = "88cf36502b64a127dc659e3b305f1d993a544eab0d48cce704424e62074dc04b" dependencies = [ "arrow-array", "arrow-buffer", @@ -290,21 +297,19 @@ dependencies = [ "chrono", "half", "indexmap", - "itoa", "lexical-core", "memchr", - "num-traits", - "ryu", - "serde_core", + "num", + "serde", "serde_json", "simdutf8", ] [[package]] name = "arrow-ord" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "141c05298b21d03e88062317a1f1a73f5ba7b6eb041b350015b1cd6aabc0519b" +checksum = "3c8f82583eb4f8d84d4ee55fd1cb306720cddead7596edce95b50ee418edf66f" dependencies = [ "arrow-array", "arrow-buffer", @@ -315,9 +320,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f3c06a6abad6164508ed283c7a02151515cef3de4b4ff2cebbcaeb85533db2" +checksum = "9d07ba24522229d9085031df6b94605e0f4b26e099fb7cdeec37abd941a73753" dependencies = [ "arrow-array", "arrow-buffer", @@ -328,33 +333,33 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cfa7a03d1eee2a4d061476e1840ad5c9867a544ca6c4c59256496af5d0a8be5" +checksum = "b3aa9e59c611ebc291c28582077ef25c97f1975383f1479b12f3b9ffee2ffabe" dependencies = [ - "serde_core", + "serde", "serde_json", ] [[package]] name = "arrow-select" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafa595babaad59f2455f4957d0f26448fb472722c186739f4fac0823a1bdb47" +checksum = "8c41dbbd1e97bfcaee4fcb30e29105fb2c75e4d82ae4de70b792a5d3f66b2e7a" dependencies = [ "ahash", "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", - "num-traits", + "num", ] [[package]] name = "arrow-string" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f46457dbbb99f2650ff3ac23e46a929e0ab81db809b02aa5511c258348bef2" +checksum = "53f5183c150fbc619eede22b861ea7c0eebed8eaac0333eaa7f6da5205fd504d" dependencies = [ "arrow-array", "arrow-buffer", @@ -362,7 +367,7 @@ dependencies = [ "arrow-schema", "arrow-select", "memchr", - "num-traits", + "num", "regex", "regex-syntax", ] @@ -375,7 +380,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -471,7 +476,7 @@ dependencies = [ "aws-credential-types", "aws-sigv4", "aws-smithy-async", - "aws-smithy-http 0.62.5", + "aws-smithy-http 0.62.6", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -519,8 +524,8 @@ dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.8", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -541,8 +546,8 @@ dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.8", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -563,8 +568,8 @@ dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.8", "aws-smithy-query", "aws-smithy-runtime", "aws-smithy-runtime-api", @@ -584,7 +589,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c35452ec3f001e1f2f6db107b6373f1f48f05ec63ba2c5c9fa91f07dad32af11" dependencies = [ "aws-credential-types", - "aws-smithy-http 0.62.5", + "aws-smithy-http 0.62.6", "aws-smithy-runtime-api", "aws-smithy-types", "bytes", @@ -592,7 +597,7 @@ dependencies = [ "hex", "hmac", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "percent-encoding", "sha2", "time", @@ -601,9 +606,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.2.6" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "127fcfad33b7dfc531141fda7e1c402ac65f88aca5511a4d31e2e3d2cd01ce9c" +checksum = "9ee19095c7c4dda59f1697d028ce704c24b2d33c6718790c7f1d5a3015b4107c" dependencies = [ "futures-util", "pin-project-lite", @@ -632,9 +637,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.62.5" +version = "0.62.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445d5d720c99eed0b4aa674ed00d835d9b1427dd73e04adaf2f94c6b2d6f9fca" +checksum = "826141069295752372f8203c17f28e30c464d22899a43a0c9fd9c458d469c88b" dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", @@ -643,7 +648,7 @@ dependencies = [ "futures-core", "futures-util", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "percent-encoding", "pin-project-lite", @@ -653,9 +658,9 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "623254723e8dfd535f566ee7b2381645f8981da086b5c4aa26c0c41582bb1d2c" +checksum = "59e62db736db19c488966c8d787f52e6270be565727236fd5579eaa301e7bc4a" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -668,6 +673,7 @@ dependencies = [ "hyper-rustls 0.24.2", "pin-project-lite", "rustls 0.21.12", + "rustls-native-certs", "tokio", "tracing", ] @@ -683,27 +689,27 @@ dependencies = [ [[package]] name = "aws-smithy-json" -version = "0.61.7" +version = "0.61.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2db31f727935fc63c6eeae8b37b438847639ec330a9161ece694efba257e0c54" +checksum = "a6864c190cbb8e30cf4b77b2c8f3b6dfffa697a09b7218d2f7cd3d4c4065a9f7" dependencies = [ "aws-smithy-types", ] [[package]] name = "aws-smithy-observability" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1881b1ea6d313f9890710d65c158bdab6fb08c91ea825f74c1c8c357baf4cc" +checksum = "17f616c3f2260612fe44cede278bafa18e73e6479c4e393e2c4518cf2a9a228a" dependencies = [ "aws-smithy-runtime-api", ] [[package]] name = "aws-smithy-query" -version = "0.60.8" +version = "0.60.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d28a63441360c477465f80c7abac3b9c4d075ca638f982e605b7dc2a2c7156c9" +checksum = "ae5d689cf437eae90460e944a58b5668530d433b4ff85789e69d2f2a556e057d" dependencies = [ "aws-smithy-types", "urlencoding", @@ -711,12 +717,12 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bbe9d018d646b96c7be063dd07987849862b0e6d07c778aad7d93d1be6c1ef0" +checksum = "a392db6c583ea4a912538afb86b7be7c5d8887d91604f50eb55c262ee1b4a5f5" dependencies = [ "aws-smithy-async", - "aws-smithy-http 0.62.5", + "aws-smithy-http 0.62.6", "aws-smithy-http-client", "aws-smithy-observability", "aws-smithy-runtime-api", @@ -724,7 +730,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "http-body 1.0.1", "pin-project-lite", @@ -735,15 +741,15 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7204f9fd94749a7c53b26da1b961b4ac36bf070ef1e0b94bb09f79d4f6c193" +checksum = "ab0d43d899f9e508300e587bf582ba54c27a452dd0a9ea294690669138ae14a2" dependencies = [ "aws-smithy-async", "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "pin-project-lite", "tokio", "tracing", @@ -752,16 +758,16 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.3.4" +version = "1.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f535879a207fce0db74b679cfc3e91a3159c8144d717d55f5832aea9eef46e" +checksum = "905cb13a9895626d49cf2ced759b062d913834c7482c38e49557eac4e6193f01" dependencies = [ "base64-simd", "bytes", "bytes-utils", "futures-core", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -778,9 +784,9 @@ dependencies = [ [[package]] name = "aws-smithy-xml" -version = "0.60.12" +version = "0.60.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab77cdd036b11056d2a30a7af7b775789fb024bf216acc13884c6c97752ae56" +checksum = "11b2f670422ff42bf7065031e72b45bc52a3508bd089f743ea90731ca2b6ea57" dependencies = [ "xmlparser", ] @@ -809,7 +815,7 @@ dependencies = [ "axum-core 0.4.5", "bytes", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper 1.8.1", @@ -842,7 +848,7 @@ dependencies = [ "axum-core 0.5.5", "bytes", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "itoa", @@ -867,7 +873,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", @@ -887,7 +893,7 @@ checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", @@ -897,12 +903,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -944,6 +944,28 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "blake3" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -1004,9 +1026,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.47" +version = "1.2.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" +checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" dependencies = [ "find-msvc-tools", "jobserver", @@ -1073,11 +1095,12 @@ checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "comfy-table" -version = "7.2.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b7db8e0b4b2fdad6c551e634134e99ec000e5c8c3b6856c65e8bbaded7a3b" +checksum = "e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56" dependencies = [ - "unicode-segmentation", + "strum", + "strum_macros", "unicode-width 0.2.2", ] @@ -1114,14 +1137,10 @@ dependencies = [ ] [[package]] -name = "core-foundation" -version = "0.9.4" +name = "constant_time_eq" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" @@ -1216,11 +1235,11 @@ dependencies = [ [[package]] name = "datafusion" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba7cb113e9c0bedf9e9765926031e132fa05a1b09ba6e93a6d1a4d7044457b8" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", + "arrow-ipc", "arrow-schema", "async-trait", "bytes", @@ -1230,7 +1249,6 @@ dependencies = [ "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", - "datafusion-datasource-arrow", "datafusion-datasource-csv", "datafusion-datasource-json", "datafusion-datasource-parquet", @@ -1258,7 +1276,6 @@ dependencies = [ "parquet", "rand 0.9.2", "regex", - "rstest", "sqlparser", "tempfile", "tokio", @@ -1268,9 +1285,8 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a3a799f914a59b1ea343906a0486f17061f39509af74e874a866428951130d" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", @@ -1283,6 +1299,7 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-plan", "datafusion-session", + "datafusion-sql", "futures", "itertools", "log", @@ -1293,9 +1310,8 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db1b113c80d7a0febcd901476a57aef378e717c54517a163ed51417d87621b0" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", @@ -1305,11 +1321,10 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-physical-expr", - "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-plan", + "datafusion-session", "futures", - "itertools", "log", "object_store", "tokio", @@ -1317,13 +1332,13 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c10f7659e96127d25e8366be7c8be4109595d6a2c3eac70421f380a7006a1b0" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "ahash", "arrow", "arrow-ipc", + "base64", "chrono", "half", "hashbrown 0.14.5", @@ -1340,9 +1355,8 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b92065bbc6532c6651e2f7dd30b55cba0c7a14f860c7e1d15f165c41a1868d95" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "futures", "log", @@ -1351,9 +1365,8 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde13794244bc7581cd82f6fff217068ed79cdc344cafe4ab2c3a1c3510b38d6" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", @@ -1373,49 +1386,28 @@ dependencies = [ "itertools", "log", "object_store", + "parquet", "rand 0.9.2", + "tempfile", "tokio", "url", ] -[[package]] -name = "datafusion-datasource-arrow" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804fa9b4ecf3157982021770617200ef7c1b2979d57bec9044748314775a9aea" -dependencies = [ - "arrow", - "arrow-ipc", - "async-trait", - "bytes", - "datafusion-common", - "datafusion-common-runtime", - "datafusion-datasource", - "datafusion-execution", - "datafusion-expr", - "datafusion-physical-expr-common", - "datafusion-physical-plan", - "datafusion-session", - "futures", - "itertools", - "object_store", - "tokio", -] - [[package]] name = "datafusion-datasource-csv" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a1641a40b259bab38131c5e6f48fac0717bedb7dc93690e604142a849e0568" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", "bytes", + "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", "datafusion-execution", "datafusion-expr", + "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", @@ -1427,44 +1419,47 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adeacdb00c1d37271176f8fb6a1d8ce096baba16ea7a4b2671840c5c9c64fe85" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", "bytes", + "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", "datafusion-execution", "datafusion-expr", + "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", "futures", "object_store", + "serde_json", "tokio", ] [[package]] name = "datafusion-datasource-parquet" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d0b60ffd66f28bfb026565d62b0a6cbc416da09814766a3797bba7d85a3cd9" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", "bytes", + "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", "datafusion-execution", "datafusion-expr", - "datafusion-functions-aggregate-common", + "datafusion-functions-aggregate", "datafusion-physical-expr", "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", + "datafusion-physical-optimizer", "datafusion-physical-plan", "datafusion-pruning", "datafusion-session", @@ -1474,6 +1469,7 @@ dependencies = [ "object_store", "parking_lot", "parquet", + "rand 0.9.2", "tokio", ] @@ -1492,7 +1488,7 @@ dependencies = [ "datafusion-proto", "delegate", "futures", - "http 1.3.1", + "http 1.4.0", "hyper-util", "insta", "itertools", @@ -1500,7 +1496,7 @@ dependencies = [ "parquet", "pin-project", "pretty_assertions", - "prost", + "prost 0.13.5", "rand 0.8.5", "structopt", "tokio", @@ -1532,7 +1528,7 @@ dependencies = [ "log", "object_store", "parquet", - "prost", + "prost 0.14.1", "serde", "serde_json", "structopt", @@ -1543,15 +1539,13 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b99e13947667b36ad713549237362afb054b2d8f8cc447751e23ec61202db07" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" [[package]] name = "datafusion-execution" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63695643190679037bc946ad46a263b62016931547bf119859c511f7ff2f5178" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", @@ -1569,9 +1563,8 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a4787cbf5feb1ab351f789063398f67654a6df75c4d37d7f637dc96f951a91" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", @@ -1583,7 +1576,6 @@ dependencies = [ "datafusion-functions-window-common", "datafusion-physical-expr-common", "indexmap", - "itertools", "paste", "serde_json", "sqlparser", @@ -1591,9 +1583,8 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce2fb1b8c15c9ac45b0863c30b268c69dc9ee7a1ee13ecf5d067738338173dc" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "datafusion-common", @@ -1604,13 +1595,14 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794a9db7f7b96b3346fc007ff25e994f09b8f0511b4cf7dff651fadfe3ebb28f" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "arrow-buffer", - "base64 0.22.1", + "base64", + "blake2", + "blake3", "chrono", "datafusion-common", "datafusion-doc", @@ -1621,18 +1613,18 @@ dependencies = [ "hex", "itertools", "log", - "num-traits", + "md-5", "rand 0.9.2", "regex", + "sha2", "unicode-segmentation", "uuid", ] [[package]] name = "datafusion-functions-aggregate" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c25210520a9dcf9c2b2cbbce31ebd4131ef5af7fc60ee92b266dc7d159cb305" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "ahash", "arrow", @@ -1651,9 +1643,8 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f4a66f3b87300bb70f4124b55434d2ae3fe80455f3574701d0348da040b55d" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "ahash", "arrow", @@ -1664,9 +1655,8 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5c06eed03918dc7fe7a9f082a284050f0e9ecf95d72f57712d1496da03b8c4" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "arrow-ord", @@ -1674,7 +1664,6 @@ dependencies = [ "datafusion-doc", "datafusion-execution", "datafusion-expr", - "datafusion-expr-common", "datafusion-functions", "datafusion-functions-aggregate", "datafusion-functions-aggregate-common", @@ -1687,9 +1676,8 @@ dependencies = [ [[package]] name = "datafusion-functions-table" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4fed1d71738fbe22e2712d71396db04c25de4111f1ec252b8f4c6d3b25d7f5" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "async-trait", @@ -1703,9 +1691,8 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d92206aa5ae21892f1552b4d61758a862a70956e6fd7a95cb85db1de74bc6d1" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "datafusion-common", @@ -1721,9 +1708,8 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53ae9bcc39800820d53a22d758b3b8726ff84a5a3e24cecef04ef4e5fdf1c7cc" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -1731,20 +1717,18 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1063ad4c9e094b3f798acee16d9a47bd7372d9699be2de21b05c3bd3f34ab848" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ - "datafusion-doc", + "datafusion-expr", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] name = "datafusion-optimizer" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35f9ec5d08b87fd1893a30c2929f2559c2f9806ca072d8fefca5009dc0f06a" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "chrono", @@ -1761,9 +1745,8 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c30cc8012e9eedcb48bbe112c6eff4ae5ed19cf3003cb0f505662e88b7014c5d" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "ahash", "arrow", @@ -1776,16 +1759,17 @@ dependencies = [ "hashbrown 0.14.5", "indexmap", "itertools", + "log", "parking_lot", "paste", "petgraph", + "tokio", ] [[package]] name = "datafusion-physical-expr-adapter" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9ff2dbd476221b1f67337699eff432781c4e6e1713d2aefdaa517dfbf79768" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "datafusion-common", @@ -1798,9 +1782,8 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90da43e1ec550b172f34c87ec68161986ced70fd05c8d2a2add66eef9c276f03" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "ahash", "arrow", @@ -1812,9 +1795,8 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce9804f799acd7daef3be7aaffe77c0033768ed8fdbf5fb82fc4c5f2e6bc14e6" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "datafusion-common", @@ -1826,13 +1808,13 @@ dependencies = [ "datafusion-physical-plan", "datafusion-pruning", "itertools", + "log", ] [[package]] name = "datafusion-physical-plan" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0acf0ad6b6924c6b1aa7d213b181e012e2d3ec0a64ff5b10ee6282ab0f8532ac" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "ahash", "arrow", @@ -1844,7 +1826,7 @@ dependencies = [ "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", - "datafusion-functions-aggregate-common", + "datafusion-functions-aggregate", "datafusion-functions-window-common", "datafusion-physical-expr", "datafusion-physical-expr-common", @@ -1861,49 +1843,36 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d368093a98a17d1449b1083ac22ed16b7128e4c67789991869480d8c4a40ecb9" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "chrono", - "datafusion-catalog", - "datafusion-catalog-listing", + "datafusion", "datafusion-common", - "datafusion-datasource", - "datafusion-datasource-arrow", - "datafusion-datasource-csv", - "datafusion-datasource-json", - "datafusion-datasource-parquet", - "datafusion-execution", "datafusion-expr", - "datafusion-functions-table", - "datafusion-physical-expr", - "datafusion-physical-expr-common", - "datafusion-physical-plan", "datafusion-proto-common", "object_store", - "prost", + "prost 0.13.5", ] [[package]] name = "datafusion-proto-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6aef3d5e5c1d2bc3114c4876730cb76a9bdc5a8df31ef1b6db48f0c1671895" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "datafusion-common", - "prost", + "prost 0.13.5", ] [[package]] name = "datafusion-pruning" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2c2498a1f134a9e11a9f5ed202a2a7d7e9774bd9249295593053ea3be999db" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", + "arrow-schema", "datafusion-common", "datafusion-datasource", "datafusion-expr-common", @@ -1916,27 +1885,34 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f96eebd17555386f459037c65ab73aae8df09f464524c709d6a3134ad4f4776" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ + "arrow", "async-trait", + "dashmap", "datafusion-common", + "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", + "datafusion-physical-expr", "datafusion-physical-plan", + "datafusion-sql", + "futures", + "itertools", + "log", + "object_store", "parking_lot", + "tokio", ] [[package]] name = "datafusion-sql" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc195fe60634b2c6ccfd131b487de46dc30eccae8a3c35a13f136e7f440414f" +version = "50.0.0" +source = "git+https://github.com/DataDog/datafusion?rev=4cc47d3418ee7dfe8f82394d356560401b950d63#4cc47d3418ee7dfe8f82394d356560401b950d63" dependencies = [ "arrow", "bigdecimal", - "chrono", "datafusion-common", "datafusion-expr", "indexmap", @@ -1953,7 +1929,7 @@ checksum = "780eb241654bf097afb00fc5f054a09b687dad862e485fdcf8399bb056565370" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -1990,7 +1966,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2160,7 +2136,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2175,12 +2151,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - [[package]] name = "futures-util" version = "0.3.31" @@ -2272,7 +2242,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.3.1", + "http 1.4.0", "indexmap", "slab", "tokio", @@ -2326,6 +2296,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -2363,12 +2339,11 @@ dependencies = [ [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -2390,7 +2365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.3.1", + "http 1.4.0", ] [[package]] @@ -2401,7 +2376,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "pin-project-lite", ] @@ -2459,7 +2434,7 @@ dependencies = [ "futures-channel", "futures-core", "h2 0.4.12", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "httparse", "httpdate", @@ -2482,7 +2457,6 @@ dependencies = [ "hyper 0.14.32", "log", "rustls 0.21.12", - "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", ] @@ -2493,11 +2467,11 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.3.1", + "http 1.4.0", "hyper 1.8.1", "hyper-util", "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls 0.26.4", @@ -2519,16 +2493,16 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-channel", "futures-core", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "hyper 1.8.1", "ipnet", @@ -2679,9 +2653,9 @@ dependencies = [ [[package]] name = "insta" -version = "1.44.1" +version = "1.44.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8732d3774162a0851e3f2b150eb98f31a9885dd75985099421d393385a01dfd" +checksum = "b5c943d4415edd8153251b6f197de5eb1640e56d84e8d9159bea190421c73698" dependencies = [ "console", "once_cell", @@ -2753,7 +2727,7 @@ checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2768,9 +2742,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ "once_cell", "wasm-bindgen", @@ -2841,9 +2815,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.177" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libm" @@ -2853,9 +2827,9 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libz-rs-sys" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" +checksum = "8b484ba8d4f775eeca644c452a56650e544bf7e617f1d170fe7298122ead5222" dependencies = [ "zlib-rs", ] @@ -2883,9 +2857,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru-slab" @@ -2948,15 +2922,29 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "wasi", "windows-sys 0.61.2", ] +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -2991,6 +2979,28 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -3008,12 +3018,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c1be0c6c22ec0817cdc77d3842f721a17fd30ab6965001415b5402a74e6b740" dependencies = [ "async-trait", - "base64 0.22.1", + "base64", "bytes", "chrono", "form_urlencoded", "futures", - "http 1.3.1", + "http 1.4.0", "http-body-util", "humantime", "hyper 1.8.1", @@ -3095,9 +3105,9 @@ dependencies = [ [[package]] name = "parquet" -version = "57.0.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a0f31027ef1af7549f7cec603a9a21dce706d3f8d7c2060a68f43c1773be95a" +checksum = "f0dbd48ad52d7dccf8ea1b90a3ddbfaea4f69878dd7683e51c507d4bc52b5b27" dependencies = [ "ahash", "arrow-array", @@ -3107,7 +3117,7 @@ dependencies = [ "arrow-ipc", "arrow-schema", "arrow-select", - "base64 0.22.1", + "base64", "brotli", "bytes", "chrono", @@ -3116,11 +3126,11 @@ dependencies = [ "half", "hashbrown 0.16.1", "lz4_flex", + "num", "num-bigint", - "num-integer", - "num-traits", "object_store", "paste", + "ring", "seq-macro", "simdutf8", "snap", @@ -3189,7 +3199,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3259,15 +3269,6 @@ dependencies = [ "yansi", ] -[[package]] -name = "proc-macro-crate" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" -dependencies = [ - "toml_edit", -] - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -3301,6 +3302,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prost" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +dependencies = [ + "bytes", + "prost-derive 0.13.5", +] + [[package]] name = "prost" version = "0.14.1" @@ -3308,7 +3319,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.14.1", +] + +[[package]] +name = "prost-derive" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] @@ -3321,16 +3345,16 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] name = "prost-types" -version = "0.14.1" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" dependencies = [ - "prost", + "prost 0.13.5", ] [[package]] @@ -3516,24 +3540,18 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" -[[package]] -name = "relative-path" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" - [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "b6eff9328d40131d43bd911d42d79eb6a47312002a4daefc9e37f17e74a7701a" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-core", "futures-util", "h2 0.4.12", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper 1.8.1", @@ -3545,7 +3563,7 @@ dependencies = [ "pin-project-lite", "quinn", "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls-native-certs", "rustls-pki-types", "serde", "serde_json", @@ -3578,35 +3596,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rstest" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" -dependencies = [ - "futures-timer", - "futures-util", - "rstest_macros", -] - -[[package]] -name = "rstest_macros" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" -dependencies = [ - "cfg-if", - "glob", - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.110", - "unicode-ident", -] - [[package]] name = "rustc-hash" version = "2.1.1" @@ -3661,18 +3650,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework 2.11.1", -] - [[package]] name = "rustls-native-certs" version = "0.8.2" @@ -3682,23 +3659,14 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.5.1", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", + "security-framework", ] [[package]] name = "rustls-pki-types" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" dependencies = [ "web-time", "zeroize", @@ -3771,19 +3739,6 @@ dependencies = [ "untrusted", ] -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.10.0", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - [[package]] name = "security-framework" version = "3.5.1" @@ -3791,7 +3746,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ "bitflags 2.10.0", - "core-foundation 0.10.1", + "core-foundation", "core-foundation-sys", "libc", "security-framework-sys", @@ -3846,7 +3801,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3904,18 +3859,18 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" dependencies = [ "libc", ] [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simdutf8" @@ -3975,9 +3930,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.59.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4591acadbcf52f0af60eafbb2c003232b2b4cd8de5f0e9437cb8b1b59046cc0f" +checksum = "ec4b661c54b1e4b603b37873a18c59920e4c51ea8ea2cf527d925424dbd4437c" dependencies = [ "log", "sqlparser_derive", @@ -3991,7 +3946,7 @@ checksum = "da5fc6819faabb412da764b99d3b713bb55083c11e7e0c00144d386cd6a1939c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4023,13 +3978,32 @@ version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ - "heck", + "heck 0.3.3", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.111", +] + [[package]] name = "subtle" version = "2.6.1" @@ -4049,9 +4023,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.110" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -4075,7 +4049,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4117,7 +4091,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4220,7 +4194,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4267,48 +4241,18 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml_datetime" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.23.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" -dependencies = [ - "indexmap", - "toml_datetime", - "toml_parser", - "winnow", -] - -[[package]] -name = "toml_parser" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" -dependencies = [ - "winnow", -] - [[package]] name = "tonic" -version = "0.14.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ "async-trait", "axum 0.8.7", - "base64 0.22.1", + "base64", "bytes", "h2 0.4.12", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper 1.8.1", @@ -4316,8 +4260,8 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "socket2 0.6.1", - "sync_wrapper", + "prost 0.13.5", + "socket2 0.5.10", "tokio", "tokio-stream", "tower", @@ -4326,17 +4270,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tonic-prost" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" -dependencies = [ - "bytes", - "prost", - "tonic", -] - [[package]] name = "tower" version = "0.5.2" @@ -4358,14 +4291,14 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags 2.10.0", "bytes", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "iri-string", "pin-project-lite", @@ -4389,12 +4322,12 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tpchgen" version = "2.0.1" -source = "git+https://github.com/clflushopt/tpchgen-rs?rev=e83365a5a9101906eb9f78c5607b83bc59849acf#e83365a5a9101906eb9f78c5607b83bc59849acf" +source = "git+https://github.com/clflushopt/tpchgen-rs?rev=482ee68#482ee68404d61a5308ca1fd0095b347b3831a5b4" [[package]] name = "tpchgen-arrow" version = "2.0.1" -source = "git+https://github.com/clflushopt/tpchgen-rs?rev=e83365a5a9101906eb9f78c5607b83bc59849acf#e83365a5a9101906eb9f78c5607b83bc59849acf" +source = "git+https://github.com/clflushopt/tpchgen-rs?rev=482ee68#482ee68404d61a5308ca1fd0095b347b3831a5b4" dependencies = [ "arrow", "tpchgen", @@ -4402,9 +4335,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" dependencies = [ "log", "pin-project-lite", @@ -4414,20 +4347,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" dependencies = [ "once_cell", ] @@ -4512,9 +4445,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ "getrandom 0.3.4", "js-sys", @@ -4575,9 +4508,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -4588,9 +4521,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.55" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ "cfg-if", "js-sys", @@ -4601,9 +4534,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4611,22 +4544,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -4646,9 +4579,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -4716,7 +4649,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4727,7 +4660,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4919,15 +4852,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" -[[package]] -name = "winnow" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" -dependencies = [ - "memchr", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -4971,28 +4895,28 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.28" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.28" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -5012,7 +4936,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "synstructure", ] @@ -5052,14 +4976,14 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] name = "zlib-rs" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" +checksum = "36134c44663532e6519d7a6dfdbbe06f6f8192bde8ae9ed076e9b213f0e31df7" [[package]] name = "zstd" diff --git a/Cargo.toml b/Cargo.toml index 16db0654..7c91449a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,8 +2,8 @@ members = ["benchmarks"] [workspace.dependencies] -datafusion = { version = "51.0.0", default-features = false } -datafusion-proto = { version = "51.0.0" } +datafusion = { version = "50.0.0", default-features = false } +datafusion-proto = { version = "50.0.0" } [package] name = "datafusion-distributed" @@ -14,16 +14,15 @@ edition = "2024" chrono = { version = "0.4.42" } datafusion = { workspace = true, features = [ "parquet", - "sql", "unicode_expressions", "datetime_expressions", ] } datafusion-proto = { workspace = true } -arrow-flight = "57.0.0" -arrow-select = "57.0.0" +arrow-flight = "56.0.0" +arrow-select = "56.0.0" async-trait = "0.1.88" tokio = { version = "1.46.1", features = ["full"] } -tonic = { version = "0.14.1", features = ["transport"] } +tonic = { version = "0.13", features = ["transport"] } tower = "0.5.2" http = "1.3.1" itertools = "0.14.0" @@ -32,7 +31,7 @@ url = "2.5.4" uuid = "1.17.0" delegate = "0.13.4" dashmap = "6.1.0" -prost = "0.14.0" +prost = "0.13" rand = "0.8.5" object_store = "0.12.3" bytes = "1.10.1" @@ -41,10 +40,10 @@ tokio-stream = "0.1.17" # integration_tests deps insta = { version = "1.43.1", features = ["filters"], optional = true } -tpchgen = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "e83365a5a9101906eb9f78c5607b83bc59849acf", optional = true } -tpchgen-arrow = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "e83365a5a9101906eb9f78c5607b83bc59849acf", optional = true } -parquet = { version = "57.0.0", optional = true } -arrow = { version = "57.0.0", optional = true } +tpchgen = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "482ee68", optional = true } +tpchgen-arrow = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "482ee68", optional = true } +parquet = { version = "56.0.0", optional = true } +arrow = { version = "56.0.0", optional = true } hyper-util = { version = "0.1.16", optional = true } pretty_assertions = { version = "1.4", optional = true } @@ -65,10 +64,15 @@ tpcds = ["integration"] [dev-dependencies] structopt = "0.3" insta = { version = "1.43.1", features = ["filters"] } -tpchgen = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "e83365a5a9101906eb9f78c5607b83bc59849acf" } -tpchgen-arrow = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "e83365a5a9101906eb9f78c5607b83bc59849acf" } -parquet = "57.0.0" -arrow = "57.0.0" +tpchgen = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "482ee68" } +tpchgen-arrow = { git = "https://github.com/clflushopt/tpchgen-rs", rev = "482ee68" } +parquet = "56.0.0" +arrow = "56.0.0" tokio-stream = "0.1.17" hyper-util = "0.1.16" pretty_assertions = "1.4" + +[patch.crates-io] +datafusion = { git = "https://github.com/DataDog/datafusion", rev = "4cc47d3418ee7dfe8f82394d356560401b950d63", package = "datafusion" } +datafusion-proto = { git = "https://github.com/DataDog/datafusion", rev = "4cc47d3418ee7dfe8f82394d356560401b950d63", package = "datafusion-proto" } +datafusion-proto-common = { git = "https://github.com/DataDog/datafusion", rev = "4cc47d3418ee7dfe8f82394d356560401b950d63", package = "datafusion-proto-common" } diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml index 5ec19f80..ba127cb7 100644 --- a/benchmarks/Cargo.toml +++ b/benchmarks/Cargo.toml @@ -9,7 +9,7 @@ datafusion = { workspace = true } datafusion-proto = { workspace = true } datafusion-distributed = { path = "..", features = ["integration"] } tokio = { version = "1.46.1", features = ["full"] } -parquet = { version = "57.0.0" } +parquet = { version = "56.0.0" } structopt = { version = "0.3.26" } log = "0.4.27" serde = "1.0.219" @@ -21,8 +21,8 @@ futures = "0.3.31" dashmap = "6.1.0" prost = "0.14.0" url = "2.5.4" -arrow-flight = "57.0.0" -tonic = { version = "0.14.1", features = ["transport"] } +arrow-flight = "56.0.0" +tonic = { version = "0.13", features = ["transport"] } axum = "0.7" object_store = { version = "0.12.4", features = ["aws"] } aws-config = "<1.1.1" diff --git a/benchmarks/src/util/memory.rs b/benchmarks/src/util/memory.rs index cfa7591d..61f7e451 100644 --- a/benchmarks/src/util/memory.rs +++ b/benchmarks/src/util/memory.rs @@ -4,7 +4,7 @@ use datafusion::common::tree_node::{Transformed, TreeNode}; use datafusion::common::{exec_err, extensions_options, plan_err}; use datafusion::config::{ConfigExtension, ConfigOptions}; use datafusion::error::DataFusionError; -use datafusion::execution::{SendableRecordBatchStream, TaskContext}; +use datafusion::execution::{FunctionRegistry, SendableRecordBatchStream, TaskContext}; use datafusion::physical_optimizer::PhysicalOptimizerRule; use datafusion::physical_plan::stream::RecordBatchStreamAdapter; use datafusion::physical_plan::{ @@ -150,7 +150,7 @@ impl PhysicalExtensionCodec for InMemoryCacheExecCodec { &self, buf: &[u8], inputs: &[Arc], - _ctx: &TaskContext, + _registry: &dyn FunctionRegistry, ) -> datafusion::common::Result> { let Ok(proto) = InMemoryCacheExecProto::decode(buf) else { return plan_err!("no InMemoryDataSourceExecProto"); diff --git a/src/distributed_ext.rs b/src/distributed_ext.rs index 6efdda02..1c6827f6 100644 --- a/src/distributed_ext.rs +++ b/src/distributed_ext.rs @@ -147,7 +147,7 @@ pub trait DistributedExt: Sized { /// struct CustomExecCodec; /// /// impl PhysicalExtensionCodec for CustomExecCodec { - /// fn try_decode(&self, buf: &[u8], inputs: &[Arc], ctx: &TaskContext) -> datafusion::common::Result> { + /// fn try_decode(&self, buf: &[u8], inputs: &[Arc], ctx: &dyn FunctionRegistry) -> datafusion::common::Result> { /// todo!() /// } /// diff --git a/src/flight_service/do_get.rs b/src/flight_service/do_get.rs index 6e03324a..146901c3 100644 --- a/src/flight_service/do_get.rs +++ b/src/flight_service/do_get.rs @@ -96,7 +96,8 @@ impl ArrowFlightEndpoint { let stage_data = once .get_or_try_init(|| async { let proto_node = PhysicalPlanNode::try_decode(doget.plan_proto.as_ref())?; - let mut plan = proto_node.try_into_physical_plan(&ctx.task_ctx(), &codec)?; + let mut plan = + proto_node.try_into_physical_plan(&ctx, &ctx.runtime_env(), &codec)?; for hook in self.hooks.on_plan.iter() { plan = hook(plan) } diff --git a/src/flight_service/session_builder.rs b/src/flight_service/session_builder.rs index 1a387bc5..8b00d544 100644 --- a/src/flight_service/session_builder.rs +++ b/src/flight_service/session_builder.rs @@ -34,7 +34,7 @@ pub trait DistributedSessionBuilder { /// struct CustomExecCodec; /// /// impl PhysicalExtensionCodec for CustomExecCodec { - /// fn try_decode(&self, buf: &[u8], inputs: &[Arc], ctx: &TaskContext) -> datafusion::common::Result> { + /// fn try_decode(&self, buf: &[u8], inputs: &[Arc], ctx: &dyn FunctionRegistry) -> datafusion::common::Result> { /// todo!() /// } /// diff --git a/src/metrics/proto.rs b/src/metrics/proto.rs index bbfcf66b..fae7daa3 100644 --- a/src/metrics/proto.rs +++ b/src/metrics/proto.rs @@ -288,10 +288,6 @@ pub fn df_metric_to_proto(metric: Arc) -> Result internal_err!("{}", CUSTOM_METRICS_NOT_SUPPORTED), - MetricValue::OutputBytes(_) | MetricValue::PruningMetrics { .. } | MetricValue::Ratio { .. } => { - // TODO: Support these metrics - internal_err!("{}", UNSUPPORTED_METRICS) - } } } diff --git a/src/protobuf/distributed_codec.rs b/src/protobuf/distributed_codec.rs index ee4fb04d..59025e7f 100644 --- a/src/protobuf/distributed_codec.rs +++ b/src/protobuf/distributed_codec.rs @@ -8,11 +8,11 @@ use datafusion::arrow::datatypes::Schema; use datafusion::arrow::datatypes::SchemaRef; use datafusion::common::internal_datafusion_err; use datafusion::error::DataFusionError; -use datafusion::execution::TaskContext; +use datafusion::execution::{FunctionRegistry, SessionStateBuilder}; use datafusion::physical_expr::EquivalenceProperties; use datafusion::physical_plan::execution_plan::{Boundedness, EmissionType}; use datafusion::physical_plan::{ExecutionPlan, Partitioning, PlanProperties}; -use datafusion::prelude::SessionConfig; +use datafusion::prelude::{SessionConfig, SessionContext}; use datafusion_proto::physical_plan::from_proto::parse_protobuf_partitioning; use datafusion_proto::physical_plan::to_proto::serialize_partitioning; use datafusion_proto::physical_plan::{ComposedPhysicalExtensionCodec, PhysicalExtensionCodec}; @@ -40,7 +40,7 @@ impl PhysicalExtensionCodec for DistributedCodec { &self, buf: &[u8], inputs: &[Arc], - ctx: &TaskContext, + registry: &dyn FunctionRegistry, ) -> datafusion::common::Result> { let DistributedExecProto { node: Some(distributed_exec_node), @@ -51,6 +51,20 @@ impl PhysicalExtensionCodec for DistributedCodec { )); }; + // TODO: The PhysicalExtensionCodec trait doesn't provide access to session state, + // so we create a new SessionContext which loses any custom UDFs, UDAFs, and other + // user configurations. This is a limitation of the current trait design. + let state = SessionStateBuilder::new() + .with_scalar_functions( + registry + .udfs() + .iter() + .map(|f| registry.udf(f)) + .collect::, _>>()?, + ) + .build(); + let ctx = SessionContext::from(state); + fn parse_stage_proto( proto: Option, inputs: &[Arc], @@ -100,7 +114,7 @@ impl PhysicalExtensionCodec for DistributedCodec { let partitioning = parse_protobuf_partitioning( partitioning.as_ref(), - ctx, + &ctx, &schema, &DistributedCodec {}, )? @@ -124,7 +138,7 @@ impl PhysicalExtensionCodec for DistributedCodec { let partitioning = parse_protobuf_partitioning( partitioning.as_ref(), - ctx, + &ctx, &schema, &DistributedCodec {}, )? @@ -389,12 +403,11 @@ mod tests { use datafusion::physical_expr::LexOrdering; use datafusion::physical_plan::empty::EmptyExec; use datafusion::{ + execution::registry::MemoryFunctionRegistry, physical_expr::{Partitioning, PhysicalSortExpr, expressions::Column, expressions::col}, physical_plan::{ExecutionPlan, displayable, sorts::sort::SortExec, union::UnionExec}, }; - use datafusion::prelude::SessionContext; - fn empty_exec() -> Arc { Arc::new(EmptyExec::new(SchemaRef::new(Schema::empty()))) } @@ -416,14 +429,10 @@ mod tests { displayable(plan.as_ref()).indent(true).to_string() } - fn create_context() -> Arc { - SessionContext::new().task_ctx() - } - #[test] fn test_roundtrip_single_flight() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("a"); let part = Partitioning::Hash(vec![Arc::new(Column::new("a", 0))], 4); @@ -433,7 +442,7 @@ mod tests { let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[empty_exec()], &ctx)?; + let decoded = codec.try_decode(&buf, &[empty_exec()], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) @@ -442,7 +451,7 @@ mod tests { #[test] fn test_roundtrip_isolator_flight() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("b"); let flight = Arc::new(new_network_hash_shuffle_exec( @@ -457,7 +466,7 @@ mod tests { let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[flight], &ctx)?; + let decoded = codec.try_decode(&buf, &[flight], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) @@ -466,7 +475,7 @@ mod tests { #[test] fn test_roundtrip_isolator_union() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("c"); let left = Arc::new(new_network_hash_shuffle_exec( @@ -480,14 +489,14 @@ mod tests { dummy_stage(), )); - let union = UnionExec::try_new(vec![left.clone(), right.clone()])?; + let union = Arc::new(UnionExec::new(vec![left.clone(), right.clone()])); let plan: Arc = Arc::new(PartitionIsolatorExec::new_ready(union.clone(), 1)?); let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[union], &ctx)?; + let decoded = codec.try_decode(&buf, &[union], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) @@ -496,7 +505,7 @@ mod tests { #[test] fn test_roundtrip_isolator_sort_flight() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("d"); let flight = Arc::new(new_network_hash_shuffle_exec( @@ -520,7 +529,7 @@ mod tests { let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[sort], &ctx)?; + let decoded = codec.try_decode(&buf, &[sort], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) @@ -529,7 +538,7 @@ mod tests { #[test] fn test_roundtrip_single_flight_coalesce() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("e"); let plan: Arc = Arc::new(new_network_coalesce_tasks_exec( @@ -541,7 +550,7 @@ mod tests { let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[empty_exec()], &ctx)?; + let decoded = codec.try_decode(&buf, &[empty_exec()], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) @@ -550,7 +559,7 @@ mod tests { #[test] fn test_roundtrip_isolator_flight_coalesce() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("f"); let flight = Arc::new(new_network_coalesce_tasks_exec( @@ -565,7 +574,7 @@ mod tests { let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[flight], &ctx)?; + let decoded = codec.try_decode(&buf, &[flight], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) @@ -574,7 +583,7 @@ mod tests { #[test] fn test_roundtrip_isolator_union_coalesce() -> datafusion::common::Result<()> { let codec = DistributedCodec; - let ctx = create_context(); + let registry = MemoryFunctionRegistry::new(); let schema = schema_i32("g"); let left = Arc::new(new_network_coalesce_tasks_exec( @@ -588,14 +597,14 @@ mod tests { dummy_stage(), )); - let union = UnionExec::try_new(vec![left.clone(), right.clone()])?; + let union = Arc::new(UnionExec::new(vec![left.clone(), right.clone()])); let plan: Arc = Arc::new(PartitionIsolatorExec::new_ready(union.clone(), 3)?); let mut buf = Vec::new(); codec.try_encode(plan.clone(), &mut buf)?; - let decoded = codec.try_decode(&buf, &[union], &ctx)?; + let decoded = codec.try_decode(&buf, &[union], ®istry)?; assert_eq!(repr(&plan), repr(&decoded)); Ok(()) diff --git a/src/protobuf/errors/arrow_error.rs b/src/protobuf/errors/arrow_error.rs index a8630bba..224faf40 100644 --- a/src/protobuf/errors/arrow_error.rs +++ b/src/protobuf/errors/arrow_error.rs @@ -53,8 +53,6 @@ pub enum ArrowErrorInnerProto { RunEndIndexOverflowError(bool), #[prost(uint64, tag = "20")] OffsetOverflowError(u64), - #[prost(string, tag = "21")] - AvroError(String), } impl ArrowErrorProto { @@ -138,10 +136,6 @@ impl ArrowErrorProto { inner: Some(ArrowErrorInnerProto::OffsetOverflowError(*offset as u64)), ctx: ctx.cloned(), }, - ArrowError::AvroError(msg) => ArrowErrorProto { - inner: Some(ArrowErrorInnerProto::AvroError(msg.to_string())), - ctx: ctx.cloned(), - }, } } @@ -191,7 +185,6 @@ impl ArrowErrorProto { ArrowErrorInnerProto::OffsetOverflowError(offset) => { ArrowError::OffsetOverflowError(*offset as usize) } - ArrowErrorInnerProto::AvroError(msg) => ArrowError::AvroError(msg.to_string()), }; (err, self.ctx.clone()) } diff --git a/tests/custom_config_extension.rs b/tests/custom_config_extension.rs index 5733f772..7f9060c7 100644 --- a/tests/custom_config_extension.rs +++ b/tests/custom_config_extension.rs @@ -5,7 +5,7 @@ mod tests { use datafusion::config::ConfigExtension; use datafusion::error::DataFusionError; use datafusion::execution::{ - SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, + FunctionRegistry, SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, }; use datafusion::physical_expr::{EquivalenceProperties, Partitioning}; use datafusion::physical_plan::execution_plan::{Boundedness, EmissionType}; @@ -215,7 +215,7 @@ mod tests { &self, _buf: &[u8], _: &[Arc], - _ctx: &TaskContext, + _ctx: &dyn FunctionRegistry, ) -> datafusion::common::Result> { Ok(Arc::new(CustomConfigExtensionRequiredExec::new())) } diff --git a/tests/custom_extension_codec.rs b/tests/custom_extension_codec.rs index 547613c1..50ea494e 100644 --- a/tests/custom_extension_codec.rs +++ b/tests/custom_extension_codec.rs @@ -7,7 +7,7 @@ mod tests { use datafusion::arrow::util::pretty::pretty_format_batches; use datafusion::error::DataFusionError; use datafusion::execution::{ - SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, + FunctionRegistry, SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, }; use datafusion::logical_expr::Operator; use datafusion::physical_expr::expressions::{BinaryExpr, col, lit}; @@ -253,7 +253,7 @@ mod tests { &self, buf: &[u8], _: &[Arc], - _ctx: &TaskContext, + _ctx: &dyn FunctionRegistry, ) -> datafusion::common::Result> { let node = Int64ListExecProto::decode(buf).map_err(|err| proto_error(format!("{err}")))?; diff --git a/tests/error_propagation.rs b/tests/error_propagation.rs index 241b5c6e..ea1479bc 100644 --- a/tests/error_propagation.rs +++ b/tests/error_propagation.rs @@ -3,7 +3,7 @@ mod tests { use datafusion::arrow::datatypes::{DataType, Field, Schema}; use datafusion::error::DataFusionError; use datafusion::execution::{ - SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, + FunctionRegistry, SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, }; use datafusion::physical_expr::{EquivalenceProperties, Partitioning}; use datafusion::physical_plan::execution_plan::{Boundedness, EmissionType}; @@ -141,7 +141,7 @@ mod tests { &self, buf: &[u8], _: &[Arc], - _ctx: &TaskContext, + _ctx: &dyn FunctionRegistry, ) -> datafusion::common::Result> { let node = ErrorExecProto::decode(buf).map_err(|err| proto_error(format!("{err}")))?; Ok(Arc::new(ErrorExec::new(&node.msg))) diff --git a/tests/stateful_execution_plan.rs b/tests/stateful_execution_plan.rs index 13284030..809ec38f 100644 --- a/tests/stateful_execution_plan.rs +++ b/tests/stateful_execution_plan.rs @@ -8,7 +8,7 @@ mod tests { use datafusion::common::runtime::SpawnedTask; use datafusion::error::DataFusionError; use datafusion::execution::{ - SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, + FunctionRegistry, SendableRecordBatchStream, SessionState, SessionStateBuilder, TaskContext, }; use datafusion::logical_expr::Operator; use datafusion::physical_expr::expressions::{BinaryExpr, col, lit}; @@ -261,7 +261,7 @@ mod tests { &self, buf: &[u8], _: &[Arc], - _ctx: &TaskContext, + _ctx: &dyn FunctionRegistry, ) -> datafusion::common::Result> { let node = Int64ListExecProto::decode(buf).map_err(|err| proto_error(format!("{err}")))?; From 90c6f20949f928551dd244effca1b50e0a0fd0f5 Mon Sep 17 00:00:00 2001 From: Gabriel Musat Mestre Date: Mon, 22 Dec 2025 10:16:37 +0100 Subject: [PATCH 2/3] Downgrade tonic to 0.13 --- Cargo.lock | 62 ++++++++++++++++++++++++++++++++++--------- Cargo.toml | 2 +- benchmarks/Cargo.toml | 2 +- cli/Cargo.toml | 2 +- 4 files changed, 53 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9da3720d..c6f9a361 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -305,9 +305,9 @@ dependencies = [ "base64", "bytes", "futures", - "prost", + "prost 0.14.1", "prost-types", - "tonic", + "tonic 0.14.2", "tonic-prost", ] @@ -1810,12 +1810,12 @@ dependencies = [ "parquet", "pin-project", "pretty_assertions", - "prost", + "prost 0.14.1", "rand 0.8.5", "structopt", "tokio", "tokio-stream", - "tonic", + "tonic 0.13.1", "tower", "tpchgen", "tpchgen-arrow", @@ -1842,12 +1842,12 @@ dependencies = [ "log", "object_store", "parquet", - "prost", + "prost 0.14.1", "serde", "serde_json", "structopt", "tokio", - "tonic", + "tonic 0.13.1", "url", ] @@ -1866,7 +1866,7 @@ dependencies = [ "hyper-util", "tokio", "tokio-stream", - "tonic", + "tonic 0.13.1", "tower", "url", ] @@ -2221,7 +2221,7 @@ dependencies = [ "datafusion-physical-plan", "datafusion-proto-common", "object_store", - "prost", + "prost 0.14.1", ] [[package]] @@ -2232,7 +2232,7 @@ checksum = "3b6aef3d5e5c1d2bc3114c4876730cb76a9bdc5a8df31ef1b6db48f0c1671895" dependencies = [ "arrow", "datafusion-common", - "prost", + "prost 0.14.1", ] [[package]] @@ -3811,6 +3811,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prost" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +dependencies = [ + "bytes", +] + [[package]] name = "prost" version = "0.14.1" @@ -3840,7 +3849,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ - "prost", + "prost 0.14.1", ] [[package]] @@ -4911,6 +4920,35 @@ dependencies = [ "winnow", ] +[[package]] +name = "tonic" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" +dependencies = [ + "async-trait", + "axum 0.8.7", + "base64", + "bytes", + "h2 0.4.12", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.8.1", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost 0.13.5", + "socket2 0.5.10", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tonic" version = "0.14.2" @@ -4947,8 +4985,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" dependencies = [ "bytes", - "prost", - "tonic", + "prost 0.14.1", + "tonic 0.14.2", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 3868f544..6a86e98f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ arrow-flight = "57.0.0" arrow-select = "57.0.0" async-trait = "0.1.88" tokio = { version = "1.46.1", features = ["full"] } -tonic = { version = "0.14.1", features = ["transport"] } +tonic = { version = "0.13", features = ["transport"] } tower = "0.5.2" http = "1.3.1" itertools = "0.14.0" diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml index 1a30ae2b..b41a5b4f 100644 --- a/benchmarks/Cargo.toml +++ b/benchmarks/Cargo.toml @@ -22,7 +22,7 @@ dashmap = "6.1.0" prost = "0.14.0" url = "2.5.4" arrow-flight = "57.0.0" -tonic = { version = "0.14.1", features = ["transport"] } +tonic = { version = "0.13", features = ["transport"] } axum = "0.7" object_store = { version = "0.12.4", features = ["aws"] } aws-config = "1" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index ee76ce2e..40665f2d 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -12,7 +12,7 @@ clap = { version = "4", features = ["derive"] } env_logger = "0.11" dirs = "6" arrow-flight = "57.0.0" -tonic = { version = "0.14.1", features = ["transport"] } +tonic = { version = "0.13", features = ["transport"] } tower = "0.5.2" hyper-util = "0.1.16" tokio-stream = "0.1.17" From 879ad709c4d6c62da2866e50d0f1412217080cf9 Mon Sep 17 00:00:00 2001 From: Gabriel Musat Mestre Date: Mon, 22 Dec 2025 10:19:52 +0100 Subject: [PATCH 3/3] Downgrade prost to 0.13 --- Cargo.lock | 20 +++++++++++++++++--- Cargo.toml | 2 +- benchmarks/Cargo.toml | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c6f9a361..bd497bfe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1810,7 +1810,7 @@ dependencies = [ "parquet", "pin-project", "pretty_assertions", - "prost 0.14.1", + "prost 0.13.5", "rand 0.8.5", "structopt", "tokio", @@ -1842,7 +1842,7 @@ dependencies = [ "log", "object_store", "parquet", - "prost 0.14.1", + "prost 0.13.5", "serde", "serde_json", "structopt", @@ -3818,6 +3818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", + "prost-derive 0.13.5", ] [[package]] @@ -3827,7 +3828,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.14.1", +] + +[[package]] +name = "prost-derive" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 2.0.110", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 6a86e98f..4a129c44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ url = "2.5.4" uuid = "1.17.0" delegate = "0.13.4" dashmap = "6.1.0" -prost = "0.14.0" +prost = "0.13" rand = "0.8.5" object_store = "0.12.3" bytes = "1.10.1" diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml index b41a5b4f..be7f335f 100644 --- a/benchmarks/Cargo.toml +++ b/benchmarks/Cargo.toml @@ -19,7 +19,7 @@ async-trait = "0.1.88" chrono = "0.4.41" futures = "0.3.31" dashmap = "6.1.0" -prost = "0.14.0" +prost = "0.13" url = "2.5.4" arrow-flight = "57.0.0" tonic = { version = "0.13", features = ["transport"] }