diff --git a/Cargo.lock b/Cargo.lock index 4a093b4848e7d..3780a8be542d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -363,8 +363,8 @@ dependencies = [ "futures", "once_cell", "paste", - "prost 0.14.1", - "prost-types 0.14.1", + "prost", + "prost-types", "tonic", "tonic-prost", ] @@ -1162,8 +1162,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85a885520bf6249ab931a764ffdb87b0ceef48e6e7d807cfdb21b751e086e1ad" dependencies = [ - "prost 0.14.1", - "prost-types 0.14.1", + "prost", + "prost-types", "tonic", "tonic-prost", "ureq", @@ -1179,7 +1179,7 @@ dependencies = [ "bollard-buildkit-proto", "bytes", "chrono", - "prost 0.14.1", + "prost", "serde", "serde_json", "serde_repr", @@ -2211,7 +2211,7 @@ dependencies = [ "mimalloc", "nix", "object_store", - "prost 0.14.1", + "prost", "rand 0.9.2", "serde_json", "tempfile", @@ -2297,7 +2297,7 @@ dependencies = [ "doc-comment", "futures", "log", - "prost 0.13.5", + "prost", "semver", "tokio", ] @@ -2600,9 +2600,9 @@ dependencies = [ "datafusion-proto-common", "doc-comment", "object_store", - "pbjson 0.8.0", + "pbjson", "pretty_assertions", - "prost 0.13.5", + "prost", "serde", "serde_json", "tokio", @@ -2615,8 +2615,8 @@ dependencies = [ "arrow", "datafusion-common", "doc-comment", - "pbjson 0.8.0", - "prost 0.13.5", + "pbjson", + "prost", "serde", ] @@ -2744,7 +2744,7 @@ dependencies = [ "itertools 0.14.0", "object_store", "pbjson-types", - "prost 0.13.5", + "prost", "serde_json", "substrait", "tokio", @@ -3227,16 +3227,16 @@ dependencies = [ name = "gen" version = "0.1.0" dependencies = [ - "pbjson-build 0.8.0", - "prost-build 0.14.1", + "pbjson-build", + "prost-build", ] [[package]] name = "gen-common" version = "0.1.0" dependencies = [ - "pbjson-build 0.8.0", - "prost-build 0.14.1", + "pbjson-build", + "prost-build", ] [[package]] @@ -4517,16 +4517,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pbjson" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e6349fa080353f4a597daffd05cb81572a9c031a6d4fff7e504947496fcc68" -dependencies = [ - "base64 0.21.7", - "serde", -] - [[package]] name = "pbjson" version = "0.8.0" @@ -4537,18 +4527,6 @@ dependencies = [ "serde", ] -[[package]] -name = "pbjson-build" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eea3058763d6e656105d1403cb04e0a41b7bbac6362d413e7c33be0c32279c9" -dependencies = [ - "heck 0.5.0", - "itertools 0.13.0", - "prost 0.13.5", - "prost-types 0.13.5", -] - [[package]] name = "pbjson-build" version = "0.8.0" @@ -4557,22 +4535,22 @@ checksum = "af22d08a625a2213a78dbb0ffa253318c5c79ce3133d32d296655a7bdfb02095" dependencies = [ "heck 0.5.0", "itertools 0.14.0", - "prost 0.14.1", - "prost-types 0.14.1", + "prost", + "prost-types", ] [[package]] name = "pbjson-types" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e54e5e7bfb1652f95bc361d76f3c780d8e526b134b85417e774166ee941f0887" +checksum = "8e748e28374f10a330ee3bb9f29b828c0ac79831a32bab65015ad9b661ead526" dependencies = [ "bytes", "chrono", - "pbjson 0.7.0", - "pbjson-build 0.7.0", - "prost 0.13.5", - "prost-build 0.13.5", + "pbjson", + "pbjson-build", + "prost", + "prost-build", "serde", ] @@ -4851,16 +4829,6 @@ 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" @@ -4868,27 +4836,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", - "prost-derive 0.14.1", -] - -[[package]] -name = "prost-build" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" -dependencies = [ - "heck 0.5.0", - "itertools 0.14.0", - "log", - "multimap", - "once_cell", - "petgraph 0.7.1", - "prettyplease", - "prost 0.13.5", - "prost-types 0.13.5", - "regex", - "syn 2.0.108", - "tempfile", + "prost-derive", ] [[package]] @@ -4904,26 +4852,13 @@ dependencies = [ "once_cell", "petgraph 0.7.1", "prettyplease", - "prost 0.14.1", - "prost-types 0.14.1", + "prost", + "prost-types", "regex", "syn 2.0.108", "tempfile", ] -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.108", -] - [[package]] name = "prost-derive" version = "0.14.1" @@ -4937,22 +4872,13 @@ dependencies = [ "syn 2.0.108", ] -[[package]] -name = "prost-types" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" -dependencies = [ - "prost 0.13.5", -] - [[package]] name = "prost-types" version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ - "prost 0.14.1", + "prost", ] [[package]] @@ -6193,18 +6119,18 @@ dependencies = [ [[package]] name = "substrait" -version = "0.58.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de6d24c270c6c672a86c183c3a8439ba46c1936f93cf7296aa692de3b0ff0228" +checksum = "21f1cb6d0bcd097a39fc25f7236236be29881fe122e282e4173d6d007a929927" dependencies = [ "heck 0.5.0", - "pbjson 0.7.0", - "pbjson-build 0.7.0", + "pbjson", + "pbjson-build", "pbjson-types", "prettyplease", - "prost 0.13.5", - "prost-build 0.13.5", - "prost-types 0.13.5", + "prost", + "prost-build", + "prost-types", "protobuf-src", "regress", "schemars 0.8.22", @@ -6631,7 +6557,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" dependencies = [ "bytes", - "prost 0.14.1", + "prost", "tonic", ] @@ -6788,9 +6714,9 @@ checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" [[package]] name = "typify" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7144144e97e987c94758a3017c920a027feac0799df325d6df4fc8f08d02068e" +checksum = "e6d5bcc6f62eb1fa8aa4098f39b29f93dcb914e17158b76c50360911257aa629" dependencies = [ "typify-impl", "typify-macro", @@ -6798,9 +6724,9 @@ dependencies = [ [[package]] name = "typify-impl" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062879d46aa4c9dfe0d33b035bbaf512da192131645d05deacb7033ec8581a09" +checksum = "a1eb359f7ffa4f9ebe947fa11a1b2da054564502968db5f317b7e37693cb2240" dependencies = [ "heck 0.5.0", "log", @@ -6818,9 +6744,9 @@ dependencies = [ [[package]] name = "typify-macro" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9708a3ceb6660ba3f8d2b8f0567e7d4b8b198e2b94d093b8a6077a751425de9e" +checksum = "911c32f3c8514b048c1b228361bebb5e6d73aeec01696e8cc0e82e2ffef8ab7a" dependencies = [ "proc-macro2", "quote", diff --git a/datafusion/ffi/Cargo.toml b/datafusion/ffi/Cargo.toml index baa6d1299c0b8..3ac08180fb68c 100644 --- a/datafusion/ffi/Cargo.toml +++ b/datafusion/ffi/Cargo.toml @@ -53,7 +53,7 @@ datafusion-proto = { workspace = true } datafusion-proto-common = { workspace = true } futures = { workspace = true } log = { workspace = true } -prost = { version = "0.13" } +prost = { workspace = true } semver = "1.0.27" tokio = { workspace = true } diff --git a/datafusion/proto-common/Cargo.toml b/datafusion/proto-common/Cargo.toml index a5618e1627384..c67c8892a3ded 100644 --- a/datafusion/proto-common/Cargo.toml +++ b/datafusion/proto-common/Cargo.toml @@ -45,7 +45,7 @@ json = ["serde", "pbjson"] arrow = { workspace = true } datafusion-common = { workspace = true } pbjson = { workspace = true, optional = true } -prost = { version = "0.13" } +prost = { workspace = true } serde = { version = "1.0", optional = true } [dev-dependencies] diff --git a/datafusion/proto/Cargo.toml b/datafusion/proto/Cargo.toml index 99e4c78fe580d..920e277b8ccc0 100644 --- a/datafusion/proto/Cargo.toml +++ b/datafusion/proto/Cargo.toml @@ -68,7 +68,7 @@ datafusion-physical-plan = { workspace = true } datafusion-proto-common = { workspace = true } object_store = { workspace = true } pbjson = { workspace = true, optional = true } -prost = { version = "0.13" } +prost = { workspace = true } serde = { version = "1.0", optional = true } serde_json = { workspace = true, optional = true } diff --git a/datafusion/substrait/Cargo.toml b/datafusion/substrait/Cargo.toml index f5d81d41551f9..0d7e34881c9cb 100644 --- a/datafusion/substrait/Cargo.toml +++ b/datafusion/substrait/Cargo.toml @@ -41,9 +41,9 @@ datafusion = { workspace = true, features = ["sql"] } half = { workspace = true } itertools = { workspace = true } object_store = { workspace = true } -pbjson-types = { version = "0.7" } -prost = { version = "0.13" } -substrait = { version = "0.58", features = ["serde"] } +pbjson-types = { workspace = true } +prost = { workspace = true } +substrait = { version = "0.62", features = ["serde"] } url = { workspace = true } tokio = { workspace = true, features = ["fs"] } uuid = { version = "1.17.0", features = ["v4"] } diff --git a/datafusion/substrait/src/extensions.rs b/datafusion/substrait/src/extensions.rs index b66da95480d94..0792928982268 100644 --- a/datafusion/substrait/src/extensions.rs +++ b/datafusion/substrait/src/extensions.rs @@ -121,6 +121,7 @@ impl From for Vec { for (f_anchor, f_name) in val.functions { let function_extension = ExtensionFunction { extension_uri_reference: u32::MAX, + extension_urn_reference: u32::MAX, function_anchor: f_anchor, name: f_name, }; @@ -133,6 +134,7 @@ impl From for Vec { for (t_anchor, t_name) in val.types { let type_extension = ExtensionType { extension_uri_reference: u32::MAX, // https://github.com/apache/datafusion/issues/11545 + extension_urn_reference: u32::MAX, // https://github.com/apache/datafusion/issues/11545 type_anchor: t_anchor, name: t_name, }; @@ -145,6 +147,7 @@ impl From for Vec { for (tv_anchor, tv_name) in val.type_variations { let type_variation_extension = ExtensionTypeVariation { extension_uri_reference: u32::MAX, // We don't register proper extension URIs yet + extension_urn_reference: u32::MAX, // We don't register proper extension URIs yet type_variation_anchor: tv_anchor, name: tv_name, }; diff --git a/datafusion/substrait/src/logical_plan/producer/expr/mod.rs b/datafusion/substrait/src/logical_plan/producer/expr/mod.rs index 9fbef97d4158f..f4e43fd586773 100644 --- a/datafusion/substrait/src/logical_plan/producer/expr/mod.rs +++ b/datafusion/substrait/src/logical_plan/producer/expr/mod.rs @@ -88,6 +88,7 @@ pub fn to_substrait_extended_expr( advanced_extensions: None, expected_type_urls: vec![], extension_uris: vec![], + extension_urns: vec![], extensions: extensions.into(), version: Some(version::version_with_producer("datafusion")), referred_expr: substrait_exprs, diff --git a/datafusion/substrait/src/logical_plan/producer/plan.rs b/datafusion/substrait/src/logical_plan/producer/plan.rs index 070e063f670d8..ad8f45ec3606f 100644 --- a/datafusion/substrait/src/logical_plan/producer/plan.rs +++ b/datafusion/substrait/src/logical_plan/producer/plan.rs @@ -48,11 +48,13 @@ pub fn to_substrait_plan( Ok(Box::new(Plan { version: Some(version::version_with_producer("datafusion")), extension_uris: vec![], + extension_urns: vec![], extensions: extensions.into(), relations: plan_rels, advanced_extensions: None, expected_type_urls: vec![], parameter_bindings: vec![], + type_aliases: vec![], })) }