From 09b2d2658231ad71b353665ed5c0d4b7a4dda7ac Mon Sep 17 00:00:00 2001 From: Marko Grujic Date: Wed, 15 Nov 2023 09:53:43 +0100 Subject: [PATCH] Upgrade to DataFusion 32 --- Cargo.lock | 2017 ++++++++++++++------------- Cargo.toml | 36 +- datafusion_remote_tables/Cargo.toml | 14 +- src/catalog.rs | 16 +- src/config/context.rs | 4 +- src/config/schema.rs | 14 +- src/context.rs | 106 +- src/datafusion/utils.rs | 54 +- src/datafusion/visit.rs | 4 +- src/delta_rs/backports.rs | 4 +- src/frontend/http.rs | 8 +- src/object_store/http.rs | 87 +- src/object_store/wrapped.rs | 20 +- src/provider.rs | 6 +- src/schema.rs | 1 + src/wasm_udf/wasm.rs | 4 +- tests/statements/mod.rs | 1 + tests/statements/query.rs | 2 +- tests/statements/vacuum.rs | 42 +- 19 files changed, 1337 insertions(+), 1103 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a102d52..0e5792ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,22 +2,13 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli 0.27.3", -] - [[package]] name = "addr2line" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.28.0", + "gimli", ] [[package]] @@ -28,33 +19,34 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "const-random", - "getrandom 0.2.10", + "getrandom 0.2.11", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.0.5" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -118,9 +110,9 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arbitrary" -version = "1.3.0" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" [[package]] name = "arrayref" @@ -136,11 +128,11 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "arrow" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7104b9e9761613ae92fe770c741d6bbf1dbc791a0fe204400aebdd429875741" +checksum = "7fab9e93ba8ce88a37d5a30dce4b9913b75413dc1ac56cb5d72e5a840543f829" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow-arith", "arrow-array", "arrow-buffer", @@ -158,9 +150,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e597a8e8efb8ff52c50eaf8f4d85124ce3c1bf20fab82f476d73739d9ab1c2" +checksum = "bc1d4e368e87ad9ee64f28b9577a3834ce10fe2703a26b28417d485bbbdff956" dependencies = [ "arrow-array", "arrow-buffer", @@ -173,36 +165,37 @@ dependencies = [ [[package]] name = "arrow-array" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a86d9c1473db72896bd2345ebb6b8ad75b8553ba390875c76708e8dc5c5492d" +checksum = "d02efa7253ede102d45a4e802a129e83bcc3f49884cab795b1ac223918e4318d" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", "chrono-tz", "half", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "num", ] [[package]] name = "arrow-buffer" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234b3b1c8ed00c874bf95972030ac4def6f58e02ea5a7884314388307fb3669b" +checksum = "fda119225204141138cb0541c692fbfef0e875ba01bfdeaed09e9d354f9d6195" dependencies = [ + "bytes", "half", "num", ] [[package]] name = "arrow-cast" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22f61168b853c7faea8cea23a2169fdff9c82fb10ae5e2c07ad1cab8f6884931" +checksum = "1d825d51b9968868d50bc5af92388754056796dbc62a4e25307d588a1fc84dee" dependencies = [ "arrow-array", "arrow-buffer", @@ -218,9 +211,9 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b545c114d9bf8569c84d2fbe2020ac4eea8db462c0a37d0b65f41a90d066fe" +checksum = "43ef855dc6b126dc197f43e061d4de46b9d4c033aa51c2587657f7508242cef1" dependencies = [ "arrow-array", "arrow-buffer", @@ -237,9 +230,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b6852635e7c43e5b242841c7470606ff0ee70eef323004cacc3ecedd33dd8f" +checksum = "475a4c3699c8b4095ca61cecf15da6f67841847a5f5aac983ccb9a377d02f73a" dependencies = [ "arrow-buffer", "arrow-schema", @@ -249,9 +242,9 @@ dependencies = [ [[package]] name = "arrow-integration-test" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813ae5edcf8d7e90bd3364c38996385dd9000576e7f0ded0a5865e359b1d8b50" +checksum = "4b56e5d81ff0be33ed5572bbbefd7ef451bdead9fb083a60830f7e63ece7010b" dependencies = [ "arrow", "arrow-buffer", @@ -263,9 +256,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66da9e16aecd9250af0ae9717ae8dd7ea0d8ca5a3e788fe3de9f4ee508da751" +checksum = "1248005c8ac549f869b7a840859d942bf62471479c1a2d82659d453eebcd166a" dependencies = [ "arrow-array", "arrow-buffer", @@ -277,9 +270,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60ee0f9d8997f4be44a60ee5807443e396e025c23cf14d2b74ce56135cb04474" +checksum = "f03d7e3b04dd688ccec354fe449aed56b831679f03e44ee2c1cfc4045067b69c" dependencies = [ "arrow-array", "arrow-buffer", @@ -288,7 +281,7 @@ dependencies = [ "arrow-schema", "chrono", "half", - "indexmap 2.0.0", + "indexmap 2.1.0", "lexical-core", "num", "serde", @@ -297,9 +290,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcab05410e6b241442abdab6e1035177dc082bdb6f17049a4db49faed986d63" +checksum = "03b87aa408ea6a6300e49eb2eba0c032c88ed9dc19e0a9948489c55efdca71f4" dependencies = [ "arrow-array", "arrow-buffer", @@ -312,34 +305,36 @@ dependencies = [ [[package]] name = "arrow-row" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91a847dd9eb0bacd7836ac63b3475c68b2210c2c96d0ec1b808237b973bd5d73" +checksum = "114a348ab581e7c9b6908fcab23cb39ff9f060eb19e72b13f8fb8eaa37f65d22" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "half", - "hashbrown 0.14.0", + "hashbrown 0.14.2", ] [[package]] name = "arrow-schema" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54df8c47918eb634c20e29286e69494fdc20cafa5173eb6dad49c7f6acece733" +checksum = "5d1d179c117b158853e0101bfbed5615e86fe97ee356b4af901f1c5001e1ce4b" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", + "serde", ] [[package]] name = "arrow-select" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941dbe481da043c4bd40c805a19ec2fc008846080c4953171b62bcad5ee5f7fb" +checksum = "d5c71e003202e67e9db139e5278c79f5520bb79922261dfe140e4637ee8b6108" dependencies = [ + "ahash 0.8.6", "arrow-array", "arrow-buffer", "arrow-data", @@ -349,9 +344,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "359b2cd9e071d5a3bcf44679f9d85830afebc5b9c98a08019a570a65ae933e0f" +checksum = "c4cebbb282d6b9244895f4a9a912e55e57bce112554c7fa91fcec5459cb421ab" dependencies = [ "arrow-array", "arrow-buffer", @@ -360,7 +355,7 @@ dependencies = [ "arrow-select", "num", "regex", - "regex-syntax", + "regex-syntax 0.7.5", ] [[package]] @@ -395,9 +390,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d495b6dc0184693324491a5ac05f559acc97bf937ab31d7a1c33dd0016be6d2b" +checksum = "f658e2baef915ba0f26f1f7c42bfb8e12f532a01f449a090ded75ae7a07e9ba2" dependencies = [ "bzip2", "flate2", @@ -407,8 +402,8 @@ dependencies = [ "pin-project-lite", "tokio", "xz2", - "zstd 0.12.4", - "zstd-safe 6.0.6", + "zstd 0.13.0", + "zstd-safe 7.0.0", ] [[package]] @@ -425,9 +420,9 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.23", + "rustix 0.37.27", "slab", - "socket2 0.4.9", + "socket2 0.4.10", "waker-fn", ] @@ -442,13 +437,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -483,12 +478,12 @@ version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ - "addr2line 0.21.0", + "addr2line", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.1", + "object", "rustc-demangle", ] @@ -500,9 +495,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.3" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -557,9 +552,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" dependencies = [ "serde", ] @@ -587,16 +582,15 @@ dependencies = [ [[package]] name = "blake3" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", - "digest 0.10.7", ] [[package]] @@ -619,54 +613,33 @@ dependencies = [ [[package]] name = "borsh" -version = "0.10.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +checksum = "bf617fabf5cdbdc92f774bfe5062d870f228b80056d41180797abf48bed4056e" dependencies = [ "borsh-derive", - "hashbrown 0.13.2", + "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "0.10.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "once_cell", "proc-macro-crate", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" -dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.39", + "syn_derive", ] [[package]] name = "brotli" -version = "3.3.4" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -675,9 +648,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.3.4" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -691,9 +664,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytecheck" @@ -719,21 +692,27 @@ dependencies = [ [[package]] name = "bytecount" -version = "0.6.3" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" + +[[package]] +name = "bytemuck" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "bzip2" @@ -767,38 +746,50 @@ dependencies = [ [[package]] name = "cap-fs-ext" -version = "1.0.15" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc48200a1a0fa6fba138b1802ad7def18ec1cdd92f7b2a04e21f1bd887f7b9" +checksum = "b779b2d0a001c125b4584ad586268fb4b92d957bff8d26d7fe0dd78283faa814" dependencies = [ "cap-primitives", "cap-std", - "io-lifetimes 1.0.11", + "io-lifetimes 2.0.2", "windows-sys", ] +[[package]] +name = "cap-net-ext" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ffc30dee200c20b4dcb80572226f42658e1d9c4b668656d7cc59c33d50e396e" +dependencies = [ + "cap-primitives", + "cap-std", + "rustix 0.38.22", + "smallvec", +] + [[package]] name = "cap-primitives" -version = "1.0.15" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b6df5b295dca8d56f35560be8c391d59f0420f72e546997154e24e765e6451" +checksum = "2bf30c373a3bee22c292b1b6a7a26736a38376840f1af3d2d806455edf8c3899" dependencies = [ "ambient-authority", "fs-set-times", "io-extras", - "io-lifetimes 1.0.11", + "io-lifetimes 2.0.2", "ipnet", "maybe-owned", - "rustix 0.37.23", + "rustix 0.38.22", "windows-sys", - "winx 0.35.1", + "winx", ] [[package]] name = "cap-rand" -version = "1.0.15" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d25555efacb0b5244cf1d35833d55d21abc916fff0eaad254b8e2453ea9b8ab" +checksum = "577de6cff7c2a47d6b13efe5dd28bf116bd7f8f7db164ea95b7cc2640711f522" dependencies = [ "ambient-authority", "rand 0.8.5", @@ -806,33 +797,33 @@ dependencies = [ [[package]] name = "cap-std" -version = "1.0.15" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3373a62accd150b4fcba056d4c5f3b552127f0ec86d3c8c102d60b978174a012" +checksum = "84bade423fa6403efeebeafe568fdb230e8c590a275fba2ba978dd112efcf6e9" dependencies = [ "cap-primitives", "io-extras", - "io-lifetimes 1.0.11", - "rustix 0.37.23", + "io-lifetimes 2.0.2", + "rustix 0.38.22", ] [[package]] name = "cap-time-ext" -version = "1.0.15" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e95002993b7baee6b66c8950470e59e5226a23b3af39fc59c47fe416dd39821a" +checksum = "f8f52b3c8f4abfe3252fd0a071f3004aaa3b18936ec97bdbd8763ce03aff6247" dependencies = [ "cap-primitives", "once_cell", - "rustix 0.37.23", - "winx 0.35.1", + "rustix 0.38.22", + "winx", ] [[package]] name = "cargo-platform" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] @@ -852,11 +843,10 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" dependencies = [ - "jobserver", "libc", ] @@ -875,27 +865,32 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chrono" -version = "0.4.28" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", - "time 0.1.45", "wasm-bindgen", "windows-targets", ] [[package]] name = "chrono-tz" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1369bc6b9e9a7dfdae2055f6ec151fe9c554a9d23d357c0237cee2e25eaabb7" +checksum = "e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76" dependencies = [ "chrono", "chrono-tz-build", @@ -904,9 +899,9 @@ dependencies = [ [[package]] name = "chrono-tz-build" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2f5ebdc942f57ed96d560a6d1a459bae5851102a25d5bf89dc04ae453e31ecf" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" dependencies = [ "parse-zoneinfo", "phf", @@ -974,20 +969,20 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.0.1" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b" +checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686" dependencies = [ - "strum 0.24.1", - "strum_macros 0.24.3", + "strum", + "strum_macros", "unicode-width", ] [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" dependencies = [ "crossbeam-utils", ] @@ -1013,8 +1008,8 @@ dependencies = [ [[package]] name = "connectorx" -version = "0.3.2" -source = "git+https://github.com/splitgraph/connector-x?branch=datafusion-30-upgrade#416102b15120e28f555c3b2f2bf8f6c6ba55f4e0" +version = "0.3.3-alpha.1" +source = "git+https://github.com/splitgraph/connector-x?branch=datafusion-32-upgrade#886b45dbc1e1d4cf9d52d8befb391f61ed5530fd" dependencies = [ "anyhow", "arrow", @@ -1057,23 +1052,21 @@ checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "const-random" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e" +checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a" dependencies = [ "const-random-macro", - "proc-macro-hack", ] [[package]] name = "const-random-macro" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", "once_cell", - "proc-macro-hack", "tiny-keccak", ] @@ -1085,8 +1078,8 @@ checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "convergence" -version = "0.13.0" -source = "git+https://github.com/splitgraph/convergence?branch=datafusion-30-upgrade#b1002e72dfdde2ee31bd24354f86d6aa2b147d75" +version = "0.14.0" +source = "git+https://github.com/splitgraph/convergence?branch=datafusion-32-upgrade#83172075ac95f4b2872495cc0bfa061ebadcfbd8" dependencies = [ "async-trait", "bytes", @@ -1100,14 +1093,13 @@ dependencies = [ [[package]] name = "convergence-arrow" -version = "0.13.0" -source = "git+https://github.com/splitgraph/convergence?branch=datafusion-30-upgrade#b1002e72dfdde2ee31bd24354f86d6aa2b147d75" +version = "0.14.0" +source = "git+https://github.com/splitgraph/convergence?branch=datafusion-32-upgrade#83172075ac95f4b2872495cc0bfa061ebadcfbd8" dependencies = [ "async-trait", "chrono", "convergence", "datafusion", - "sqlparser", "tokio", ] @@ -1138,27 +1130,27 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] [[package]] name = "cranelift-bforest" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1380172556902242d32f78ed08c98aac4f5952aef22d3684aed5c66a5db0a6fc" +checksum = "2b5bb9245ec7dcc04d03110e538d31f0969d301c9d673145f4b4d5c3478539a3" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037cca234e1ad0766fdfe43b527ec14e100414b4ccf4bb614977aa9754958f57" +checksum = "ebb18d10e5ddac43ba4ca8fd4e310938569c3e484cc01b6372b27dc5bb4dfd28" dependencies = [ "bumpalo", "cranelift-bforest", @@ -1167,8 +1159,8 @@ dependencies = [ "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli 0.27.3", - "hashbrown 0.13.2", + "gimli", + "hashbrown 0.14.2", "log", "regalloc2", "smallvec", @@ -1177,42 +1169,43 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d375e6afa8b9a304999ea8cf58424414b8e55e004571265a4f0826eba8b74f18" +checksum = "7a3ce6d22982c1b9b6b012654258bab1a13947bb12703518bef06b1a4867c3d6" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca590e72ccb8da963def6e36460cce4412032b1f03c31d1a601838d305abdc39" +checksum = "47220fd4f9a0ce23541652b6f16f83868d282602c600d14934b2a4c166b4bd80" [[package]] name = "cranelift-control" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2d38eea4373639f4b6236a40f69820fed16c5511093cd3783bf8491a93d9cf" +checksum = "ed5a4c42672aea9b6e820046b52e47a1c05d3394a6cdf4cb3c3c4b702f954bd2" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e3173c1434af23c00e4964722cf93ca8f0e6287289bf5d52110597c3ba2ea09" +checksum = "0b4e9a3296fc827f9d35135dc2c0c8dd8d8359eb1ef904bae2d55d5bcb0c9f94" dependencies = [ "serde", + "serde_derive", ] [[package]] name = "cranelift-frontend" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec4a3a33825062eccf6eec73e852c8773220f6e4798925e19696562948beb1f" +checksum = "33ec537d0f0b8e084517f3e7bfa1d89af343d7c7df455573fca9f272d4e01267" dependencies = [ "cranelift-codegen", "log", @@ -1222,15 +1215,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5146b5cea4b21095a021d964b0174cf6ff5530f83e8d0a822683c7559e360b66" +checksum = "45bab6d69919d210a50331d35cc6ce111567bc040aebac63a8ae130d0400a075" [[package]] name = "cranelift-native" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cec3717ce554d3936b2101aa8eae1a2a410bd6da0f4df698a4b008fe9cf1e9" +checksum = "f32e81605f352cf37af5463f11cd7deec7b6572741931a8d372f7fdd4a744f5d" dependencies = [ "cranelift-codegen", "libc", @@ -1239,9 +1232,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.98.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fd2f9f1bf29ce6639ae2f477a2fe20bad0bd09289df13efeb890e8e4b9f807" +checksum = "0edaa4cbec1bc787395c074233df2652dd62f3e29d3ee60329514a0a51e6b045" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1249,7 +1242,7 @@ dependencies = [ "itertools 0.10.5", "log", "smallvec", - "wasmparser 0.107.0", + "wasmparser 0.115.0", "wasmtime-types", ] @@ -1264,9 +1257,9 @@ dependencies = [ [[package]] name = "crc-catalog" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" @@ -1321,7 +1314,7 @@ dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", + "memoffset", "scopeguard", ] @@ -1372,9 +1365,9 @@ dependencies = [ [[package]] name = "csv" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086" +checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" dependencies = [ "csv-core", "itoa", @@ -1384,9 +1377,9 @@ dependencies = [ [[package]] name = "csv-core" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" dependencies = [ "memchr", ] @@ -1398,19 +1391,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "lock_api", "once_cell", "parking_lot_core", ] +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + [[package]] name = "datafusion" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e3bb3a788d9fa793268e9cec2601d79831ed1be437ba74d1deb32b226ae734" +checksum = "7014432223f4d721cb9786cd88bb89e7464e0ba984d4a7f49db7787f5f268674" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow", "arrow-array", "arrow-schema", @@ -1425,15 +1424,15 @@ dependencies = [ "datafusion-expr", "datafusion-optimizer", "datafusion-physical-expr", + "datafusion-physical-plan", "datafusion-sql", "flate2", "futures", "glob", "half", - "hashbrown 0.14.0", - "indexmap 2.0.0", + "hashbrown 0.14.2", + "indexmap 2.1.0", "itertools 0.11.0", - "lazy_static", "log", "num_cpus", "object_store", @@ -1442,53 +1441,48 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rand 0.8.5", - "smallvec", "sqlparser", "tempfile", "tokio", "tokio-util", "url", - "uuid 1.4.1", + "uuid 1.5.0", "xz2", "zstd 0.12.4", ] [[package]] name = "datafusion-common" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd256483875270612d4fa439359bafa6f1760bae080ecb69eecc59a92b5016f" +checksum = "cb3903ed8f102892f17b48efa437f3542159241d41c564f0d1e78efdc5e663aa" dependencies = [ + "ahash 0.8.6", "arrow", "arrow-array", - "async-compression", - "bytes", - "bzip2", + "arrow-buffer", + "arrow-schema", "chrono", - "flate2", - "futures", + "half", "num_cpus", "object_store", "parquet", "sqlparser", - "tokio", - "tokio-util", - "xz2", - "zstd 0.12.4", ] [[package]] name = "datafusion-execution" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4973610d680bdc38f409a678c838d3873356cc6c29a543d1f56d7b4801e8d0a4" +checksum = "780b73b2407050e53f51a9781868593f694102c59e622de9a8aafc0343c4f237" dependencies = [ "arrow", + "chrono", "dashmap", "datafusion-common", "datafusion-expr", "futures", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "log", "object_store", "parking_lot", @@ -1499,24 +1493,24 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3599f4cfcf22490f7b7d6d2fc70610ca8045b8bdcd99ef9d4309cf2b387537" +checksum = "24c382676338d8caba6c027ba0da47260f65ffedab38fda78f6d8043f607557c" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow", + "arrow-array", "datafusion-common", - "lazy_static", "sqlparser", - "strum 0.25.0", - "strum_macros 0.25.2", + "strum", + "strum_macros", ] [[package]] name = "datafusion-optimizer" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f067401eea6a0967c83021e714746f9153368cca964d45c4a1a4f99869a1512f" +checksum = "3f2904a432f795484fd45e29ded4537152adb60f636c05691db34fcd94c92c96" dependencies = [ "arrow", "async-trait", @@ -1524,52 +1518,82 @@ dependencies = [ "datafusion-common", "datafusion-expr", "datafusion-physical-expr", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "itertools 0.11.0", "log", - "regex-syntax", + "regex-syntax 0.7.5", ] [[package]] name = "datafusion-physical-expr" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964c19161288d374fe066535f84de37a1dab419e47a24e02f3a0ca6413744451" +checksum = "57b4968e9a998dc0476c4db7a82f280e2026b25f464e4aa0c3bb9807ee63ddfd" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow", "arrow-array", "arrow-buffer", "arrow-schema", - "base64 0.21.3", + "base64 0.21.5", "blake2", "blake3", "chrono", "datafusion-common", "datafusion-expr", "half", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "hex", - "indexmap 2.0.0", + "indexmap 2.1.0", "itertools 0.11.0", - "lazy_static", "libc", "log", - "md-5 0.10.5", + "md-5 0.10.6", "paste", "petgraph", "rand 0.8.5", "regex", - "sha2 0.10.7", + "sha2 0.10.8", "unicode-segmentation", - "uuid 1.4.1", + "uuid 1.5.0", +] + +[[package]] +name = "datafusion-physical-plan" +version = "32.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd0d1fe54e37a47a2d58a1232c22786f2c28ad35805fdcd08f0253a8b0aaa90" +dependencies = [ + "ahash 0.8.6", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-schema", + "async-trait", + "chrono", + "datafusion-common", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr", + "futures", + "half", + "hashbrown 0.14.2", + "indexmap 2.1.0", + "itertools 0.11.0", + "log", + "once_cell", + "parking_lot", + "pin-project-lite", + "rand 0.8.5", + "tokio", + "uuid 1.5.0", ] [[package]] name = "datafusion-proto" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fde2768f10f1a5d47d164e0219ececb00f0dcd36f33079b656e03ad20e33c68" +checksum = "ca1db9605e1f545b852fa9dd05f03339b333c9f2814a4e33b9ac7e9e586a1014" dependencies = [ "arrow", "chrono", @@ -1577,7 +1601,7 @@ dependencies = [ "datafusion-common", "datafusion-expr", "object_store", - "prost", + "prost 0.12.1", ] [[package]] @@ -1600,9 +1624,9 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0939df21e440efcb35078c22b0192c537f7a53ebf1a34288a3a134753dd364" +checksum = "b568d44c87ead99604d704f942e257c8a236ee1bbf890ee3e034ad659dcb2c21" dependencies = [ "arrow", "arrow-schema", @@ -1627,9 +1651,9 @@ dependencies = [ [[package]] name = "deadpool-runtime" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaa37046cc0f6c3cc6090fbdbf73ef0b8ef4cfcc37f6befc0020f63e8cf121e1" +checksum = "63dfa964fe2a66f3fde91fc70b267fe193d822c7e603e2a675a49a7f46ad3f49" [[package]] name = "debugid" @@ -1637,13 +1661,21 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] name = "deltalake" -version = "0.14.0" -source = "git+https://github.com/delta-io/delta-rs?rev=787c13a63efa9ada96d303c10c093424215aaa80#787c13a63efa9ada96d303c10c093424215aaa80" +version = "0.17.0" +source = "git+https://github.com/delta-io/delta-rs?rev=2b913b37e71ed96212dcec8c3fc8e865754ced82#2b913b37e71ed96212dcec8c3fc8e865754ced82" +dependencies = [ + "deltalake-core", +] + +[[package]] +name = "deltalake-core" +version = "0.17.0" +source = "git+https://github.com/delta-io/delta-rs?rev=2b913b37e71ed96212dcec8c3fc8e865754ced82#2b913b37e71ed96212dcec8c3fc8e865754ced82" dependencies = [ "arrow", "arrow-array", @@ -1665,7 +1697,9 @@ dependencies = [ "datafusion-proto", "datafusion-sql", "dynamodb_lock", + "either", "errno", + "fix-hidden-lifetime-bug", "futures", "itertools 0.11.0", "lazy_static", @@ -1679,7 +1713,9 @@ dependencies = [ "parking_lot", "parquet", "percent-encoding", + "rand 0.8.5", "regex", + "roaring", "rusoto_core", "rusoto_credential", "rusoto_dynamodb", @@ -1690,7 +1726,8 @@ dependencies = [ "thiserror", "tokio", "url", - "uuid 1.4.1", + "uuid 1.5.0", + "z85", ] [[package]] @@ -1706,9 +1743,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derive_utils" @@ -1718,7 +1758,7 @@ checksum = "9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -1764,16 +1804,7 @@ version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -1797,18 +1828,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1846,9 +1865,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dynamodb_lock" -version = "0.4.3" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff628406c318f098017c78e203b5b6466e0610fc48be865ebb9ae0eb229b4c8" +checksum = "9c4242838952a07117a4444cdf59fdcb47f181525f2dd6ae4ca6281954d09c77" dependencies = [ "async-trait", "log", @@ -1857,7 +1876,7 @@ dependencies = [ "rusoto_dynamodb", "thiserror", "tokio", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -1895,7 +1914,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -1911,19 +1930,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "env_logger" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" -dependencies = [ - "humantime 2.1.0", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -1932,25 +1938,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" dependencies = [ - "errno-dragonfly", "libc", "windows-sys", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "error-chain" version = "0.12.4" @@ -1983,6 +1978,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + [[package]] name = "fallible-streaming-iterator" version = "0.1.9" @@ -2000,9 +2001,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fd-lock" @@ -2011,7 +2012,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b0377f1edc77dbd1118507bc7a66e4ab64d2b90c66f90726dc801e73a8c68f9" dependencies = [ "cfg-if", - "rustix 0.38.11", + "rustix 0.38.22", "windows-sys", ] @@ -2036,13 +2037,29 @@ dependencies = [ ] [[package]] -name = "file-per-thread-logger" -version = "0.2.0" +name = "finl_unicode" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" + +[[package]] +name = "fix-hidden-lifetime-bug" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3cc21c33af89af0930c8cae4ade5e6fdc17b5d2c97b3d2e2edb67a1cf683f3" +checksum = "d4ae9c2016a663983d4e40a9ff967d6dcac59819672f0b47f2b17574e99c33c8" dependencies = [ - "env_logger 0.10.0", - "log", + "fix-hidden-lifetime-bug-proc_macros", +] + +[[package]] +name = "fix-hidden-lifetime-bug-proc_macros" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c81935e123ab0741c4c4f0d9b8377e5fb21d3de7e062fa4b1263b1fbcba1ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -2063,9 +2080,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "libz-sys", @@ -2083,13 +2100,12 @@ dependencies = [ [[package]] name = "flume" -version = "0.10.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ "futures-core", "futures-sink", - "pin-project", "spin 0.9.8", ] @@ -2154,7 +2170,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -2166,7 +2182,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -2178,17 +2194,17 @@ dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "fs-set-times" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d167b646a876ba8fda6b50ac645cfd96242553cbaf0ca4fccaa39afcbf0801f" +checksum = "dd738b84894214045e8414eaded76359b4a5773f0a0a56b16575110739cdcf39" dependencies = [ - "io-lifetimes 1.0.11", - "rustix 0.38.11", + "io-lifetimes 2.0.2", + "rustix 0.38.22", "windows-sys", ] @@ -2200,9 +2216,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -2215,9 +2231,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -2225,15 +2241,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -2253,9 +2269,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-lite" @@ -2274,26 +2290,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-timer" @@ -2303,9 +2319,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -2334,7 +2350,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "debugid", "fxhash", "serde", @@ -2364,9 +2380,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "libc", @@ -2387,21 +2403,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", + "fallible-iterator 0.3.0", + "indexmap 2.1.0", "stable_deref_trait", ] -[[package]] -name = "gimli" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" - [[package]] name = "git2" version = "0.16.1" @@ -2457,7 +2467,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.7", ] [[package]] @@ -2466,16 +2476,16 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", ] [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "allocator-api2", ] @@ -2485,7 +2495,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.0", + "hashbrown 0.14.2", ] [[package]] @@ -2494,7 +2504,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.3", + "base64 0.21.5", "bytes", "headers-core", "http", @@ -2532,9 +2542,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -2581,9 +2591,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -2666,7 +2676,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -2675,9 +2685,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http", @@ -2702,16 +2712,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -2747,17 +2757,17 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde", ] [[package]] name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.2", + "serde", ] [[package]] @@ -2788,16 +2798,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5305557fa27b460072ae15ce07617e999f5879f14d376c8449f0bfb9f9d8e91e" dependencies = [ "derive_utils", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "io-extras" -version = "0.17.4" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde93d48f0d9277f977a333eca8313695ddd5301dc96f7e02aeddcb0dd99096f" +checksum = "9d3c230ee517ee76b1cc593b52939ff68deda3fae9e41eca426c6b4993df51c4" dependencies = [ - "io-lifetimes 1.0.11", + "io-lifetimes 2.0.2", "windows-sys", ] @@ -2807,7 +2817,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi 0.3.3", "libc", "windows-sys", ] @@ -2820,20 +2830,9 @@ checksum = "bffb4def18c48926ccac55c1223e02865ce1a821751a95920448662696e7472c" [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" - -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi 0.3.2", - "rustix 0.38.11", - "windows-sys", -] +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "itertools" @@ -2861,9 +2860,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "ittapi" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e0d0b7b3b53d92a7e8b80ede3400112a6b8b4c98d1f5b8b16bb787c780582c" +checksum = "25a5c0b993601cad796222ea076565c5d9f337d35592f8622c753724f06d7271" dependencies = [ "anyhow", "ittapi-sys", @@ -2872,27 +2871,18 @@ dependencies = [ [[package]] name = "ittapi-sys" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f8763c96e54e6d6a0dccc2990d8b5e33e3313aaeae6185921a3f4c1614a77c" +checksum = "cb7b5e473765060536a660eed127f758cf1a810c73e49063264959c60d1727d9" dependencies = [ "cc", ] -[[package]] -name = "jobserver" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -3004,9 +2994,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.147" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libgit2-sys" @@ -3032,9 +3022,20 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall", +] [[package]] name = "libsqlite3-sys" @@ -3073,15 +3074,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -3176,35 +3177,27 @@ dependencies = [ [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest 0.10.7", ] [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memfd" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" -dependencies = [ - "rustix 0.37.23", -] - -[[package]] -name = "memoffset" -version = "0.8.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "autocfg", + "rustix 0.38.22", ] [[package]] @@ -3249,9 +3242,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3307,7 +3300,7 @@ dependencies = [ "tagptr", "thiserror", "triomphe", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -3355,7 +3348,7 @@ dependencies = [ "percent-encoding", "serde", "serde_json", - "socket2 0.4.9", + "socket2 0.4.10", "twox-hash", "url", ] @@ -3390,12 +3383,12 @@ dependencies = [ "serde", "serde_json", "sha1", - "sha2 0.10.7", + "sha2 0.10.8", "smallvec", "subprocess", "thiserror", - "time 0.3.28", - "uuid 1.4.1", + "time", + "uuid 1.5.0", ] [[package]] @@ -3536,9 +3529,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", "libm", @@ -3550,51 +3543,42 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi 0.3.3", "libc", ] -[[package]] -name = "object" -version = "0.30.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -dependencies = [ - "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "memchr", -] - [[package]] name = "object" version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ + "crc32fast", + "hashbrown 0.14.2", + "indexmap 2.1.0", "memchr", ] [[package]] name = "object_store" -version = "0.6.1" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c776db4f332b571958444982ff641d2531417a326ca368995073b639205d58" +checksum = "f930c88a43b1c3f6e776dfe495b4afab89882dbc81530c632db2ed65451ebcb4" dependencies = [ "async-trait", - "base64 0.21.3", + "base64 0.21.5", "bytes", "chrono", "futures", "humantime 2.1.0", "hyper", - "itertools 0.10.5", + "itertools 0.11.0", "parking_lot", "percent-encoding", "quick-xml", "rand 0.8.5", "reqwest", - "ring", + "ring 0.16.20", "rustls-pemfile", "serde", "serde_json", @@ -3619,11 +3603,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.57" +version = "0.10.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "cfg-if", "foreign-types", "libc", @@ -3640,7 +3624,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -3651,9 +3635,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.92" +version = "0.9.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" dependencies = [ "cc", "libc", @@ -3661,17 +3645,11 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "ordered-float" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ "num-traits", ] @@ -3688,9 +3666,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.5.1" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "owning_ref" @@ -3703,9 +3681,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -3719,24 +3697,24 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall", "smallvec", "windows-targets", ] [[package]] name = "parquet" -version = "45.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f9739b984380582bdb7749ae5b5d28839bce899212cf16465c1ac1f8b65d79" +checksum = "0463cc3b256d5f50408c49a4be3a16674f4c8ceef60941709620a062b1f6bf4d" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "arrow-array", "arrow-buffer", "arrow-cast", @@ -3744,13 +3722,13 @@ dependencies = [ "arrow-ipc", "arrow-schema", "arrow-select", - "base64 0.21.3", + "base64 0.21.5", "brotli", "bytes", "chrono", "flate2", "futures", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "lz4", "num", "num-bigint", @@ -3817,9 +3795,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ "memchr", "thiserror", @@ -3828,9 +3806,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a" +checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" dependencies = [ "pest", "pest_generator", @@ -3838,26 +3816,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141" +checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "pest_meta" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f" +checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" dependencies = [ "once_cell", "pest", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -3867,7 +3845,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.0", + "indexmap 2.1.0", ] [[package]] @@ -3925,7 +3903,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -3990,7 +3968,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7915b33ed60abc46040cbcaa25ffa1c7ec240668e0477c4f3070786f5916d451" dependencies = [ "bytes", - "fallible-iterator", + "fallible-iterator 0.2.0", "futures-util", "log", "tokio", @@ -4029,15 +4007,15 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520" dependencies = [ - "base64 0.21.3", + "base64 0.21.5", "byteorder", "bytes", - "fallible-iterator", + "fallible-iterator 0.2.0", "hmac 0.12.1", - "md-5 0.10.5", + "md-5 0.10.6", "memchr", "rand 0.8.5", - "sha2 0.10.7", + "sha2 0.10.8", "stringprep", ] @@ -4049,13 +4027,19 @@ checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c" dependencies = [ "bytes", "chrono", - "fallible-iterator", + "fallible-iterator 0.2.0", "postgres-protocol", "serde", "serde_json", "uuid 0.8.2", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -4098,27 +4082,27 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d" dependencies = [ - "env_logger 0.7.1", + "env_logger", "log", ] [[package]] name = "prettyplease" -version = "0.1.25" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml", + "toml_edit", ] [[package]] @@ -4145,17 +4129,11 @@ dependencies = [ "version_check", ] -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -4167,27 +4145,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" +dependencies = [ + "bytes", + "prost-derive 0.12.1", ] [[package]] name = "prost-build" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck", - "itertools 0.10.5", - "lazy_static", + "itertools 0.11.0", "log", "multimap", + "once_cell", "petgraph", "prettyplease", - "prost", + "prost 0.12.1", "prost-types", "regex", - "syn 1.0.109", + "syn 2.0.39", "tempfile", "which", ] @@ -4205,13 +4193,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "prost-derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" +dependencies = [ + "anyhow", + "itertools 0.11.0", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost", + "prost 0.12.1", ] [[package]] @@ -4243,17 +4244,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "pulldown-cmark" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - [[package]] name = "pulldown-cmark" version = "0.9.3" @@ -4289,9 +4279,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.28.2" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" +checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" dependencies = [ "memchr", "serde", @@ -4345,7 +4335,7 @@ checksum = "99f31323d6161385f385046738df520e0e8694fa74852d35891fc0be08348ddc" dependencies = [ "r2d2", "rusqlite", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -4413,7 +4403,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", ] [[package]] @@ -4436,9 +4426,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -4446,50 +4436,39 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", + "getrandom 0.2.11", + "libredox", "thiserror", ] [[package]] name = "regalloc2" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b4dcbd3a2ae7fb94b5813fa0e957c6ab51bf5d0a8ee1b69e0c2d0f1e6eb8485" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" dependencies = [ "hashbrown 0.13.2", "log", @@ -4500,25 +4479,25 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.5" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax", + "regex-syntax 0.8.2", ] [[package]] name = "regex-automata" -version = "0.3.8" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.2", ] [[package]] @@ -4527,6 +4506,12 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + [[package]] name = "relative-path" version = "1.9.0" @@ -4535,20 +4520,20 @@ checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca" [[package]] name = "rend" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" dependencies = [ "bytecheck", ] [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.3", + "base64 0.21.5", "bytes", "encoding_rs", "futures-core", @@ -4572,6 +4557,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls", @@ -4588,9 +4574,9 @@ dependencies = [ [[package]] name = "retain_mut" -version = "0.1.9" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" +checksum = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086" [[package]] name = "ring" @@ -4602,11 +4588,25 @@ dependencies = [ "libc", "once_cell", "spin 0.5.2", - "untrusted", + "untrusted 0.7.1", "web-sys", "winapi", ] +[[package]] +name = "ring" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +dependencies = [ + "cc", + "getrandom 0.2.11", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys", +] + [[package]] name = "rkyv" version = "0.7.42" @@ -4621,7 +4621,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -4669,6 +4669,17 @@ dependencies = [ "serde_bytes", ] +[[package]] +name = "roaring" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873" +dependencies = [ + "bytemuck", + "byteorder", + "retain_mut", +] + [[package]] name = "ron" version = "0.7.1" @@ -4682,16 +4693,14 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8" +checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d" dependencies = [ - "byteorder", "const-oid", "digest 0.10.7", "num-bigint-dig", "num-integer", - "num-iter", "num-traits", "pkcs1", "pkcs8", @@ -4727,7 +4736,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.31", + "syn 2.0.39", "unicode-ident", ] @@ -4835,9 +4844,9 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "chrono", - "fallible-iterator", + "fallible-iterator 0.2.0", "fallible-streaming-iterator", "hashlink", "libsqlite3-sys", @@ -4856,9 +4865,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.32.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c4216490d5a413bc6d10fa4742bd7d4955941d062c0ef873141d6b0e7b30fd" +checksum = "076ba1058b036d3ca8bcafb1d54d0b0572e99d7ecd3e4222723e18ca8e9ca9a8" dependencies = [ "arrayvec", "borsh", @@ -4873,9 +4882,9 @@ dependencies = [ [[package]] name = "rust_decimal_macros" -version = "1.32.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86444b802de0b10ac5e563b5ddb43b541b9705de4e01a50e82194d2b183c1835" +checksum = "63d046567948abd4179cb947aa10f12e53369f860d579adc4a5f2c8713f8267f" dependencies = [ "quote", "rust_decimal", @@ -4904,62 +4913,62 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", "io-lifetimes 1.0.11", - "itoa", "libc", "linux-raw-sys 0.3.8", - "once_cell", "windows-sys", ] [[package]] name = "rustix" -version = "0.38.11" +version = "0.38.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453" +checksum = "80109a168d9bc0c7f483083244543a6eb0dba02295d33ca268145e6190d6df0c" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", + "itoa", "libc", - "linux-raw-sys 0.4.5", + "linux-raw-sys 0.4.11", + "once_cell", "windows-sys", ] [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" dependencies = [ "log", - "ring", + "ring 0.17.5", "rustls-webpki", "sct", ] [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.3", + "base64 0.21.5", ] [[package]] name = "rustls-webpki" -version = "0.101.4" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring", - "untrusted", + "ring 0.17.5", + "untrusted 0.9.0", ] [[package]] @@ -5021,12 +5030,12 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring", - "untrusted", + "ring 0.17.5", + "untrusted 0.9.0", ] [[package]] @@ -5041,7 +5050,7 @@ dependencies = [ "arrow-schema", "assert_unordered", "async-trait", - "base64 0.21.3", + "base64 0.21.5", "bytes", "chrono", "clap", @@ -5056,7 +5065,7 @@ dependencies = [ "dynamodb_lock", "futures", "hex", - "itertools 0.10.5", + "itertools 0.11.0", "lazy_static", "log", "mockall", @@ -5065,7 +5074,7 @@ dependencies = [ "parking_lot", "percent-encoding", "pretty_env_logger", - "prost", + "prost 0.11.9", "prost-build", "rand 0.8.5", "regex", @@ -5077,15 +5086,15 @@ dependencies = [ "serde", "serde_json", "serial_test", - "sha2 0.10.7", + "sha2 0.10.8", "sqlparser", "sqlx", - "strum 0.24.1", - "strum_macros 0.24.3", + "strum", + "strum_macros", "tempfile", "tokio", "url", - "uuid 1.4.1", + "uuid 1.5.0", "vergen", "warp", "wasi-common", @@ -5125,9 +5134,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] @@ -5140,9 +5149,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] @@ -5158,20 +5167,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -5223,14 +5232,14 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -5252,9 +5261,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -5267,14 +5276,14 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4" dependencies = [ - "dirs 4.0.0", + "dirs", ] [[package]] name = "shlex" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" [[package]] name = "signal-hook-registry" @@ -5287,9 +5296,9 @@ dependencies = [ [[package]] name = "signature" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", "rand_core 0.6.4", @@ -5317,7 +5326,7 @@ dependencies = [ "cargo_metadata", "error-chain", "glob", - "pulldown-cmark 0.9.3", + "pulldown-cmark", "tempfile", "walkdir", ] @@ -5339,9 +5348,9 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "snafu" @@ -5373,9 +5382,9 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -5383,9 +5392,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys", @@ -5424,20 +5433,20 @@ checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" [[package]] name = "sqlformat" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" +checksum = "6b7b278788e7be4d0d29c0f39497a0eef3fba6bbc8e70d8bf7fde46edeaa9e85" dependencies = [ - "itertools 0.10.5", + "itertools 0.11.0", "nom", "unicode_categories", ] [[package]] name = "sqlparser" -version = "0.36.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eaa1e88e78d2c2460d78b7dc3f0c08dbb606ab4222f9aff36f420d36e307d87" +checksum = "0272b7bb0a225320170c99901b4b5fb3a4384e255a7f2cc228f61e2ba3893e75" dependencies = [ "log", "sqlparser_derive", @@ -5456,9 +5465,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e58421b6bc416714d5115a2ca953718f6c621a51b68e4f4922aea5a4391a721" +checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33" dependencies = [ "sqlx-core", "sqlx-macros", @@ -5469,11 +5478,11 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4cef4251aabbae751a3710927945901ee1d97ee96d757f6880ebb9a79bfd53" +checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "atoi", "byteorder", "bytes", @@ -5489,7 +5498,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.0.0", + "indexmap 2.1.0", "log", "memchr", "once_cell", @@ -5499,7 +5508,7 @@ dependencies = [ "rustls-pemfile", "serde", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "smallvec", "sqlformat", "thiserror", @@ -5507,15 +5516,15 @@ dependencies = [ "tokio-stream", "tracing", "url", - "uuid 1.4.1", + "uuid 1.5.0", "webpki-roots 0.24.0", ] [[package]] name = "sqlx-macros" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "208e3165167afd7f3881b16c1ef3f2af69fa75980897aac8874a0696516d12c2" +checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec" dependencies = [ "proc-macro2", "quote", @@ -5526,9 +5535,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a4a8336d278c62231d87f24e8a7a74898156e34c1c18942857be2acb29c7dfc" +checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc" dependencies = [ "dotenvy", "either", @@ -5539,7 +5548,7 @@ dependencies = [ "quote", "serde", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "sqlx-core", "sqlx-mysql", "sqlx-postgres", @@ -5552,13 +5561,13 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca69bf415b93b60b80dc8fda3cb4ef52b2336614d8da2de5456cc942a110482" +checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db" dependencies = [ "atoi", - "base64 0.21.3", - "bitflags 2.4.0", + "base64 0.21.5", + "bitflags 2.4.1", "byteorder", "bytes", "crc", @@ -5575,7 +5584,7 @@ dependencies = [ "hmac 0.12.1", "itoa", "log", - "md-5 0.10.5", + "md-5 0.10.6", "memchr", "once_cell", "percent-encoding", @@ -5583,25 +5592,25 @@ dependencies = [ "rsa", "serde", "sha1", - "sha2 0.10.7", + "sha2 0.10.8", "smallvec", "sqlx-core", "stringprep", "thiserror", "tracing", - "uuid 1.4.1", + "uuid 1.5.0", "whoami", ] [[package]] name = "sqlx-postgres" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0db2df1b8731c3651e204629dd55e52adbae0462fa1bdcbed56a2302c18181e" +checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624" dependencies = [ "atoi", - "base64 0.21.3", - "bitflags 2.4.0", + "base64 0.21.5", + "bitflags 2.4.1", "byteorder", "crc", "dotenvy", @@ -5616,28 +5625,28 @@ dependencies = [ "home", "itoa", "log", - "md-5 0.10.5", + "md-5 0.10.6", "memchr", "once_cell", "rand 0.8.5", "serde", "serde_json", "sha1", - "sha2 0.10.7", + "sha2 0.10.8", "smallvec", "sqlx-core", "stringprep", "thiserror", "tracing", - "uuid 1.4.1", + "uuid 1.5.0", "whoami", ] [[package]] name = "sqlx-sqlite" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4c21bf34c7cae5b283efb3ac1bcc7670df7561124dc2f8bdc0b59be40f79a2" +checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f" dependencies = [ "atoi", "flume", @@ -5653,7 +5662,7 @@ dependencies = [ "sqlx-core", "tracing", "url", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -5670,10 +5679,11 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stringprep" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da" +checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" dependencies = [ + "finl_unicode", "unicode-bidi", "unicode-normalization", ] @@ -5684,45 +5694,26 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" - [[package]] name = "strum" version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros 0.25.2", + "strum_macros", ] [[package]] name = "strum_macros" -version = "0.24.3" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck", "proc-macro2", "quote", "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "strum_macros" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -5754,15 +5745,27 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.31" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "sysinfo" version = "0.27.8" @@ -5777,20 +5780,41 @@ dependencies = [ "winapi", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "system-interface" -version = "0.25.9" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10081a99cbecbc363d381b9503563785f0b02735fccbb0d4c1a2cb3d39f7e7fe" +checksum = "27ce32341b2c0b70c144bbf35627fdc1ef18c76ced5e5e7b3ee8b5ba6b2ab6a0" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "cap-fs-ext", "cap-std", "fd-lock", "io-lifetimes 2.0.2", - "rustix 0.38.11", + "rustix 0.38.22", "windows-sys", - "winx 0.36.2", + "winx", ] [[package]] @@ -5807,28 +5831,28 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", - "fastrand 2.0.0", - "redox_syscall 0.3.5", - "rustix 0.38.11", + "fastrand 2.0.1", + "redox_syscall", + "rustix 0.38.22", "windows-sys", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" dependencies = [ "winapi-util", ] @@ -5847,22 +5871,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -5878,23 +5902,13 @@ dependencies = [ [[package]] name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -5902,15 +5916,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -5941,9 +5955,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -5953,20 +5967,20 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.3", + "socket2 0.5.5", "tokio-macros", "windows-sys", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -6000,7 +6014,7 @@ dependencies = [ "async-trait", "byteorder", "bytes", - "fallible-iterator", + "fallible-iterator 0.2.0", "futures-channel", "futures-util", "log", @@ -6011,7 +6025,7 @@ dependencies = [ "postgres-protocol", "postgres-types", "rand 0.8.5", - "socket2 0.5.3", + "socket2 0.5.5", "tokio", "tokio-util", "whoami", @@ -6040,9 +6054,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.18.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", @@ -6052,9 +6066,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -6073,6 +6087,23 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + [[package]] name = "tower-service" version = "0.3.2" @@ -6081,11 +6112,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -6094,20 +6124,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", ] @@ -6126,13 +6156,13 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" -version = "0.18.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ - "base64 0.13.1", "byteorder", "bytes", + "data-encoding", "http", "httparse", "log", @@ -6156,9 +6186,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" @@ -6183,9 +6213,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -6204,9 +6234,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -6226,6 +6256,12 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.4.1" @@ -6258,11 +6294,11 @@ checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" [[package]] name = "uuid" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", "rand 0.8.5", "serde", ] @@ -6288,7 +6324,7 @@ dependencies = [ "rustversion", "sysinfo", "thiserror", - "time 0.3.28", + "time", ] [[package]] @@ -6299,15 +6335,15 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "waker-fn" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -6324,9 +6360,9 @@ dependencies = [ [[package]] name = "warp" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba431ef570df1287f7f8b07e376491ad54f84d26ac473489427231e1718e1f69" +checksum = "c1e92e22e03ff1230c03a1a8ee37d2f89cd489e2e541b7550d6afad96faed169" dependencies = [ "bytes", "futures-channel", @@ -6359,12 +6395,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -6373,9 +6403,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi-cap-std-sync" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0fb9a3b1143c8f549b64d707aef869d134fb681f17fb316f0d796537b670ef" +checksum = "3fd94e147b273348ec68ae412b8bc17a4d372b9e070535b98e3e2c5a3ffd8e83" dependencies = [ "anyhow", "async-trait", @@ -6385,10 +6415,9 @@ dependencies = [ "cap-time-ext", "fs-set-times", "io-extras", - "io-lifetimes 1.0.11", - "is-terminal", + "io-lifetimes 2.0.2", "once_cell", - "rustix 0.37.23", + "rustix 0.38.22", "system-interface", "tracing", "wasi-common", @@ -6397,17 +6426,17 @@ dependencies = [ [[package]] name = "wasi-common" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41512a0523d86be06d7cf606e1bafd0238948b237ce832179f85dfdbce217e1a" +checksum = "8d5166f7432ee36d06aa9f9bd7990a00330401fdbc75be7887ea952a299b9a19" dependencies = [ "anyhow", - "bitflags 1.3.2", + "bitflags 2.4.1", "cap-rand", "cap-std", "io-extras", "log", - "rustix 0.37.23", + "rustix 0.38.22", "thiserror", "tracing", "wasmtime", @@ -6417,9 +6446,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -6427,24 +6456,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if", "js-sys", @@ -6454,9 +6483,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6464,37 +6493,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "wasm-encoder" -version = "0.29.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881" +checksum = "9ca90ba1b5b0a70d3d49473c5579951f3bddc78d47b59256d2f9d4922b150aca" dependencies = [ "leb128", ] [[package]] name = "wasm-encoder" -version = "0.32.0" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba64e81215916eaeb48fee292f29401d69235d62d8b8fd92a7b2844ec5ae5f7" +checksum = "822b645bf4f2446b949776ffca47e2af60b167209ffb70814ef8779d299cd421" dependencies = [ "leb128", ] @@ -6514,39 +6543,39 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.107.0" +version = "0.115.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" +checksum = "e06c0641a4add879ba71ccb3a1e4278fd546f76f1eafb21d8f7b07733b547cd5" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.1.0", "semver", ] [[package]] name = "wasmparser" -version = "0.112.0" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e986b010f47fcce49cf8ea5d5f9e5d2737832f12b53ae8ae785bbe895d0877bf" +checksum = "a58e28b80dd8340cb07b8242ae654756161f6fc8d0038123d679b7b99964fa50" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "semver", ] [[package]] name = "wasmprinter" -version = "0.2.64" +version = "0.2.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ddf5892036cd4b780d505eff1194a0cbc10ed896097656fdcea3744b5e7c2f" +checksum = "9aff4df0cdf1906ec040e97d78c3fc8fd26d3f8d70adaac81f07f80957b63b54" dependencies = [ "anyhow", - "wasmparser 0.112.0", + "wasmparser 0.116.1", ] [[package]] name = "wasmtime" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1f817f2ca5070983c71f1205fbab5848c9073df7f4e1af9fdceb4cc4a1b8e5" +checksum = "ca54f6090ce46973f33a79f265924b204f248f91aec09229bce53d19d567c1a6" dependencies = [ "anyhow", "async-trait", @@ -6555,18 +6584,20 @@ dependencies = [ "cfg-if", "encoding_rs", "fxprof-processed-profile", - "indexmap 1.9.3", + "indexmap 2.1.0", "libc", "log", - "object 0.30.4", + "object", "once_cell", "paste", "psm", "rayon", "serde", + "serde_derive", "serde_json", "target-lexicon", - "wasmparser 0.107.0", + "wasm-encoder 0.35.0", + "wasmparser 0.115.0", "wasmtime-cache", "wasmtime-component-macro", "wasmtime-component-util", @@ -6582,28 +6613,28 @@ dependencies = [ [[package]] name = "wasmtime-asm-macros" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f82fbfda4610e9225238c62574ecded8e9d6ad3a12f387ac45819ecad5c3f9b" +checksum = "54984bc0b5689da87a43d7c181d23092b4d5cfcbb7ae3eb6b917dd55865d95e6" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f5b87f1ed383d6c219c04467ab6ae87990d6c2815d5a990138990a7fcbab95" +checksum = "1a4df7655bb73b592189033ab046aa47c1da486d70bc9c1ebf45e55ac030bdf4" dependencies = [ "anyhow", - "base64 0.21.3", + "base64 0.21.5", "bincode", "directories-next", - "file-per-thread-logger", "log", - "rustix 0.37.23", + "rustix 0.38.22", "serde", - "sha2 0.10.7", + "serde_derive", + "sha2 0.10.8", "toml", "windows-sys", "zstd 0.11.2+zstd.1.5.2", @@ -6611,14 +6642,14 @@ dependencies = [ [[package]] name = "wasmtime-component-macro" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27b96c540c78e12b60025fcbc0ba8a55bff1b32885a5e8eae2df765a6bc97ac" +checksum = "64de99fb7c4c383832b85efcaae95f7094a5c505d80146227ce97ab436cbac68" dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.39", "wasmtime-component-util", "wasmtime-wit-bindgen", "wit-parser", @@ -6626,66 +6657,69 @@ dependencies = [ [[package]] name = "wasmtime-component-util" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0928fe66c22bf8887e2fb524b7647308b8ce836a333af8504e4f1d80b8ea849f" +checksum = "9f9141a8df069e106eee0c3a8173c0809cf1a4b5630628cfb1f25ab114720093" [[package]] name = "wasmtime-cranelift" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659f6e58662d1131f250339acd03aa49377f9351474282699985b79ca4d4a7c" +checksum = "1cf3cee8be02f5006d21b773ffd6802f96a0b7d661ff2ad8a01fb93df458b1aa" dependencies = [ "anyhow", + "cfg-if", "cranelift-codegen", "cranelift-control", "cranelift-entity", "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli 0.27.3", + "gimli", "log", - "object 0.30.4", + "object", "target-lexicon", "thiserror", - "wasmparser 0.107.0", + "wasmparser 0.115.0", "wasmtime-cranelift-shared", "wasmtime-environ", + "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-cranelift-shared" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74171de083bf2ecb716c507900f825e2b858346c714fbf48f4763ea760f998a8" +checksum = "420fd2a69bc162957f4c94f21c7fa08ecf60d916f4e87b56332507c555da381d" dependencies = [ "anyhow", "cranelift-codegen", "cranelift-control", "cranelift-native", - "gimli 0.27.3", - "object 0.30.4", + "gimli", + "object", "target-lexicon", "wasmtime-environ", ] [[package]] name = "wasmtime-environ" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b124cbac1a3e04a744c76b3f77919343ef16dc4c818a2406dd7b689b16a54639" +checksum = "fb6a445ce2b2810127caee6c1b79b8da4ae57712b05556a674592c18b7500a14" dependencies = [ "anyhow", "cranelift-entity", - "gimli 0.27.3", - "indexmap 1.9.3", + "gimli", + "indexmap 2.1.0", "log", - "object 0.30.4", + "object", "serde", + "serde_derive", "target-lexicon", "thiserror", - "wasm-encoder 0.29.0", - "wasmparser 0.107.0", + "wasm-encoder 0.35.0", + "wasmparser 0.115.0", "wasmprinter", "wasmtime-component-util", "wasmtime-types", @@ -6693,35 +6727,37 @@ dependencies = [ [[package]] name = "wasmtime-fiber" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92ffb8869395c63100ffefbd71cf9489e7e9218e63a3798dcfe93fa8945f9cf" +checksum = "345a8b061c9eab459e10b9112df9fc357d5a9e8b5b1004bc5fc674fba9be6d2a" dependencies = [ "cc", "cfg-if", - "rustix 0.37.23", + "rustix 0.38.22", "wasmtime-asm-macros", + "wasmtime-versioned-export-macros", "windows-sys", ] [[package]] name = "wasmtime-jit" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ff15f426c2378f32ffb6d9b4370e3504231492e93f6968e8b5102c3256bbc4" +checksum = "1f0f6586c61125fbfc13c3108c3dd565d21f314dd5bac823b9a5b7ab576d21f1" dependencies = [ - "addr2line 0.19.0", + "addr2line", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli 0.27.3", + "gimli", "ittapi", "log", - "object 0.30.4", + "object", "rustc-demangle", - "rustix 0.37.23", + "rustix 0.38.22", "serde", + "serde_derive", "target-lexicon", "wasmtime-environ", "wasmtime-jit-debug", @@ -6732,20 +6768,21 @@ dependencies = [ [[package]] name = "wasmtime-jit-debug" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c549e219102426aa1f90bd18e56a3195ed1e696c318abb3f501c1f4924b530ac" +checksum = "109a9e46afe33580b952b14a4207354355f19bcdf0b47485b397b68409eaf553" dependencies = [ - "object 0.30.4", + "object", "once_cell", - "rustix 0.37.23", + "rustix 0.38.22", + "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cf02fedda287a409cff80ad40a7c6c0f0771e99b0cd5e2b79d9cb7ecdc1b2f4" +checksum = "f67e6be36375c39cff57ed3b137ab691afbf2d9ba8ee1c01f77888413f218749" dependencies = [ "cfg-if", "libc", @@ -6754,63 +6791,86 @@ dependencies = [ [[package]] name = "wasmtime-runtime" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc38c6229a5d3b8a2528eb33eb11d3e7ebf570259c7cd2f01e8668fe783ea443" +checksum = "1d07986b2327b5e7f535ed638fbde25990fc8f85400194fda0d26db71c7b685e" dependencies = [ "anyhow", "cc", "cfg-if", "encoding_rs", - "indexmap 1.9.3", + "indexmap 2.1.0", "libc", "log", "mach", "memfd", - "memoffset 0.8.0", + "memoffset", "paste", "rand 0.8.5", - "rustix 0.37.23", + "rustix 0.38.22", "sptr", + "wasm-encoder 0.35.0", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-fiber", "wasmtime-jit-debug", + "wasmtime-versioned-export-macros", + "wasmtime-wmemcheck", "windows-sys", ] [[package]] name = "wasmtime-types" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "768f6c5e7afc3a02eff2753196741db8e5ac5faf26a1e2204d7341b30a637c6f" +checksum = "e810a0d2e869abd1cb42bd232990f6bd211672b3d202d2ae7e70ffb97ed70ea3" dependencies = [ "cranelift-entity", "serde", + "serde_derive", "thiserror", - "wasmparser 0.107.0", + "wasmparser 0.115.0", +] + +[[package]] +name = "wasmtime-versioned-export-macros" +version = "14.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b5575a75e711ca6c36bb9ad647c93541cdc8e34218031acba5da3f35919dd3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "wasmtime-wasi" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff7bb52cc5f9f3878cb012c5e42296e2fbb96e5407301b1e8e7007deec8dca9c" +checksum = "1e6730a2853226292cee755a36549dd1a443b324cf99319cb390af1afed6cb8a" dependencies = [ "anyhow", "async-trait", - "bitflags 1.3.2", + "bitflags 2.4.1", + "bytes", "cap-fs-ext", + "cap-net-ext", "cap-rand", "cap-std", "cap-time-ext", "fs-set-times", + "futures", "io-extras", + "io-lifetimes 2.0.2", "libc", - "rustix 0.37.23", + "log", + "once_cell", + "rustix 0.38.22", "system-interface", "thiserror", + "tokio", "tracing", + "url", "wasi-cap-std-sync", "wasi-common", "wasmtime", @@ -6820,16 +6880,16 @@ dependencies = [ [[package]] name = "wasmtime-winch" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2249faeb887b8b7e7b1797c460ac76160654aea3b8d5842093a771d77fc3819" +checksum = "c1c1b6abbba5a01739bef9f00a87b419414a7dd99b795823d93fb12fc2bf994a" dependencies = [ "anyhow", "cranelift-codegen", - "gimli 0.27.3", - "object 0.30.4", + "gimli", + "object", "target-lexicon", - "wasmparser 0.107.0", + "wasmparser 0.115.0", "wasmtime-cranelift-shared", "wasmtime-environ", "winch-codegen", @@ -6837,15 +6897,22 @@ dependencies = [ [[package]] name = "wasmtime-wit-bindgen" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a4a005a6a2d5faa7cd953d389da8ae979cb571fe40edec7769649d8c98d874" +checksum = "9d214ca7513d76af2872ad5bba4b0dcc0225821931745fdcb4fc30dd34bc3bf7" dependencies = [ "anyhow", "heck", + "indexmap 2.1.0", "wit-parser", ] +[[package]] +name = "wasmtime-wmemcheck" +version = "14.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dafab2db172a53e23940e0fa3078c202f567ee5f13f4b42f66b694fab43c658" + [[package]] name = "wast" version = "35.0.2" @@ -6857,30 +6924,30 @@ dependencies = [ [[package]] name = "wast" -version = "64.0.0" +version = "67.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a259b226fd6910225aa7baeba82f9d9933b6d00f2ce1b49b80fa4214328237cc" +checksum = "a974d82fac092b5227c1663e16514e7a85f32014e22e6fdcb08b71aec9d3fb1e" dependencies = [ "leb128", "memchr", "unicode-width", - "wasm-encoder 0.32.0", + "wasm-encoder 0.36.2", ] [[package]] name = "wat" -version = "1.0.71" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53253d920ab413fca1c7dc2161d601c79b4fdf631d0ba51dd4343bf9b556c3f6" +checksum = "adb220934f92f8551144c0003d1bc57a060674c99139f45ed623fbbf6d9262e7" dependencies = [ - "wast 64.0.0", + "wast 67.0.1", ] [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -6903,14 +6970,14 @@ checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" -version = "4.4.1" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad25fe5717e59ada8ea33511bbbf7420b11031730a24c65e82428766c307006" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ - "dirs 5.0.1", "either", + "home", "once_cell", - "rustix 0.38.11", + "rustix 0.38.22", ] [[package]] @@ -6925,13 +6992,13 @@ dependencies = [ [[package]] name = "wiggle" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89f0d9c91096db5e250cb803500bddfdd65ae3268a9e09283b75d3b513ede7a" +checksum = "7f6ce56a4019ce3d8592c298029a75abe6887d1c95a078a4c53ec77a0628262d" dependencies = [ "anyhow", "async-trait", - "bitflags 1.3.2", + "bitflags 2.4.1", "thiserror", "tracing", "wasmtime", @@ -6940,28 +7007,28 @@ dependencies = [ [[package]] name = "wiggle-generate" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b5552356799612587de885e02b7e7e7d39e41657af1ddb985d18fbe5ac1642" +checksum = "e585a4b1e84195031c77d8484af99cd93f129f45d519e83cb8cc75e9a420cfd3" dependencies = [ "anyhow", "heck", "proc-macro2", "quote", "shellexpand", - "syn 1.0.109", + "syn 2.0.39", "witx", ] [[package]] name = "wiggle-macro" -version = "11.0.1" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ca58f5cfecefaec28b09bfb6197a52dbd24df4656154bd377a166f1031d9b17" +checksum = "c6f321dbce722989d65c3082dba479fa392c7b7a1a4c3adc2a39545dd5aa452f" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.39", "wiggle-generate", ] @@ -6983,9 +7050,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -6998,25 +7065,25 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winch-codegen" -version = "0.9.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21de111a36e8f367416862fdf6f10caa411cc07a6e21b614eedbf9388c2a3dc9" +checksum = "f112bebb367a544d20c254083798087f22ceeb426168a970b955e8436f749dca" dependencies = [ "anyhow", "cranelift-codegen", - "gimli 0.27.3", + "gimli", "regalloc2", "smallvec", "target-lexicon", - "wasmparser 0.107.0", + "wasmparser 0.115.0", "wasmtime-environ", ] [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ "windows-targets", ] @@ -7088,23 +7155,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] -name = "winreg" -version = "0.50.0" +name = "winnow" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ - "cfg-if", - "windows-sys", + "memchr", ] [[package]] -name = "winx" -version = "0.35.1" +name = "winreg" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c52a121f0fbf9320d5f2a9a5d82f6cb7557eda5e8b47fc3e7f359ec866ae960" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "bitflags 1.3.2", - "io-lifetimes 1.0.11", + "cfg-if", "windows-sys", ] @@ -7114,19 +7179,19 @@ version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357bb8e2932df531f83b052264b050b81ba0df90ee5a59b2d1d3949f344f81e5" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "windows-sys", ] [[package]] name = "wiremock" -version = "0.5.19" +version = "0.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f71803d3a1c80377a06221e0530be02035d5b3e854af56c6ece7ac20ac441d" +checksum = "079aee011e8a8e625d16df9e785de30a6b77f80a6126092d76a57375f96448da" dependencies = [ "assert-json-diff", "async-trait", - "base64 0.21.3", + "base64 0.21.5", "deadpool", "futures", "futures-timer", @@ -7142,18 +7207,19 @@ dependencies = [ [[package]] name = "wit-parser" -version = "0.8.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6daec9f093dbaea0e94043eeb92ece327bbbe70c86b1f41aca9bbfefd7f050f0" +checksum = "43771ee863a16ec4ecf9da0fc65c3bbd4a1235c8e3da5f094b562894843dfa76" dependencies = [ "anyhow", "id-arena", - "indexmap 1.9.3", + "indexmap 2.1.0", "log", - "pulldown-cmark 0.8.0", "semver", + "serde", + "serde_derive", + "serde_json", "unicode-xid", - "url", ] [[package]] @@ -7179,9 +7245,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" [[package]] name = "xz2" @@ -7201,6 +7267,32 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "z85" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a599daf1b507819c1121f0bf87fa37eb19daac6aff3aefefd4e6e2e0f2020fc" + +[[package]] +name = "zerocopy" +version = "0.7.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "zeroize" version = "1.6.0" @@ -7225,6 +7317,15 @@ dependencies = [ "zstd-safe 6.0.6", ] +[[package]] +name = "zstd" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" +dependencies = [ + "zstd-safe 7.0.0", +] + [[package]] name = "zstd-safe" version = "5.0.2+zstd.1.5.2" @@ -7245,13 +7346,21 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "zstd-safe" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" +dependencies = [ + "zstd-sys", +] + [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index a9768dd9..a08880af 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,14 +29,14 @@ object-store-s3 = ["object_store/aws"] remote-tables = ["dep:datafusion-remote-tables"] [dependencies] -arrow = "45.0.0" -arrow-buffer = "45.0.0" -arrow-csv = "45.0.0" +arrow = "47.0.0" +arrow-buffer = "47.0.0" +arrow-csv = "47.0.0" # For the JSON format support # https://github.com/apache/arrow-rs/pull/2868 # https://github.com/apache/arrow-rs/pull/2724 -arrow-integration-test = "45.0.0" -arrow-schema = "45.0.0" +arrow-integration-test = "47.0.0" +arrow-schema = "47.0.0" async-trait = "0.1.64" base64 = "0.21.0" @@ -46,17 +46,17 @@ clap = { version = "3.2.19", features = [ "derive" ] } config = "0.13.3" # PG wire protocol support -convergence = { git = "https://github.com/splitgraph/convergence", branch = "datafusion-30-upgrade", optional = true } -convergence-arrow = { git = "https://github.com/splitgraph/convergence", branch = "datafusion-30-upgrade", optional = true } +convergence = { git = "https://github.com/splitgraph/convergence", branch = "datafusion-32-upgrade", optional = true } +convergence-arrow = { git = "https://github.com/splitgraph/convergence", branch = "datafusion-32-upgrade", optional = true } -datafusion = "30.0.0" -datafusion-common = "30.0.0" -datafusion-expr = "30.0.0" +datafusion = "32.0.0" +datafusion-common = "32.0.0" +datafusion-expr = "32.0.0" datafusion-remote-tables = { path = "./datafusion_remote_tables", optional = true } -deltalake = { git = "https://github.com/delta-io/delta-rs", rev = "787c13a63efa9ada96d303c10c093424215aaa80", features = ["s3-native-tls", "datafusion-ext"] } -dynamodb_lock = { version = "0.4.3", default_features = false, features = ["native-tls"] } +deltalake = { git = "https://github.com/delta-io/delta-rs", rev = "2b913b37e71ed96212dcec8c3fc8e865754ced82", features = ["s3-native-tls", "datafusion-ext"] } +dynamodb_lock = { version = "0.6.1", default_features = false, features = ["native-tls"] } futures = "0.3" hex = ">=0.4.0" @@ -64,7 +64,7 @@ itertools = ">=0.10.0" lazy_static = ">=1.4.0" log = "0.4" moka = { version = "0.11.0", default_features = false, features = ["future", "atomic64", "quanta"] } -object_store = "0.6.1" +object_store = "0.7" parking_lot = "0.12.1" percent-encoding = "2.2.0" pretty_env_logger = "0.4" @@ -81,7 +81,7 @@ rmpv = { version = "1.0.0", features = ["with-serde"] } serde = "1.0.156" serde_json = "1.0.93" sha2 = ">=0.10.1" -sqlparser = "0.36.1" +sqlparser = "0.38" sqlx = { version = "0.7.1", features = [ "runtime-tokio-rustls", "sqlite", "any", "uuid" ] } strum = ">=0.24" strum_macros = ">=0.24" @@ -90,11 +90,11 @@ tokio = { version = "1.0", features = ["macros", "rt", "rt-multi-thread", "signa url = "2.2" uuid = "1.2.1" warp = "0.3.5" -wasi-common = "11.0.0" +wasi-common = "14.0.0" # For WASM user-defined functions -wasmtime = "11.0.0" -wasmtime-wasi = "11.0.0" +wasmtime = "14.0.0" +wasmtime-wasi = "14.0.0" [dev-dependencies] assert_unordered = "0.3" @@ -105,7 +105,7 @@ wiremock = "0.5" [build-dependencies] anyhow = "1.0.63" # for build.rs -prost-build = "0.11.6" +prost-build = "0.12.1" vergen = "7" [profile.release] diff --git a/datafusion_remote_tables/Cargo.toml b/datafusion_remote_tables/Cargo.toml index af8d5f21..9c0b3662 100644 --- a/datafusion_remote_tables/Cargo.toml +++ b/datafusion_remote_tables/Cargo.toml @@ -13,17 +13,17 @@ license = "Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -arrow = "45.0.0" -arrow-buffer = "45.0.0" -arrow-schema = "45.0.0" +arrow = "47.0.0" +arrow-buffer = "47.0.0" +arrow-schema = "47.0.0" async-trait = "0.1.64" # Remote query execution for a variety of DBs -connectorx = { git = "https://github.com/splitgraph/connector-x", branch = "datafusion-30-upgrade", features = [ "dst_arrow", "src_postgres", "src_mysql", "src_sqlite" ] } +connectorx = { git = "https://github.com/splitgraph/connector-x", branch = "datafusion-32-upgrade", features = [ "dst_arrow", "src_postgres", "src_mysql", "src_sqlite" ] } -datafusion = "30.0.0" -datafusion-common = "30.0.0" -datafusion-expr = "30.0.0" +datafusion = "32.0.0" +datafusion-common = "32.0.0" +datafusion-expr = "32.0.0" itertools = ">=0.10.0" log = "0.4" tokio = { version = "1.0", features = ["macros", "rt", "rt-multi-thread", "signal", "process"] } diff --git a/src/catalog.rs b/src/catalog.rs index 837e460a..d15ae551 100644 --- a/src/catalog.rs +++ b/src/catalog.rs @@ -287,9 +287,9 @@ impl DefaultCatalog { // TODO: this means that any `information_schema.columns` query will serially load all // delta tables present in the database. The real fix for this is to make DF use `TableSource` // for the information schema, and then implement `TableSource` for `DeltaTable` in delta-rs. - let table_object_store = self.object_store.for_delta_table(table_uuid); + let table_log_store = self.object_store.get_log_store(table_uuid); - let table = DeltaTable::new(table_object_store, Default::default()); + let table = DeltaTable::new(table_log_store, Default::default()); (Arc::from(table_name.to_string()), Arc::new(table) as _) } @@ -302,9 +302,15 @@ impl DefaultCatalog { I: Iterator, { let tables = collection_columns - .filter_map(|col| if let Some(table_name) = &col.table_name && let Some(table_uuid) = col.table_uuid { - Some(self.build_table(table_name, table_uuid)) - } else { None }) + .filter_map(|col| { + if let Some(table_name) = &col.table_name + && let Some(table_uuid) = col.table_uuid + { + Some(self.build_table(table_name, table_uuid)) + } else { + None + } + }) .collect::>(); ( diff --git a/src/config/context.rs b/src/config/context.rs index 50887fd5..1b967027 100644 --- a/src/config/context.rs +++ b/src/config/context.rs @@ -138,7 +138,7 @@ pub fn build_state_with_table_factories( config: SessionConfig, runtime: Arc, ) -> SessionState { - let mut state = SessionState::with_config_rt(config, runtime); + let mut state = SessionState::new_with_config_rt(config, runtime); state .table_factories_mut() @@ -171,7 +171,7 @@ pub async fn build_context( let runtime_env = RuntimeEnv::new(runtime_config)?; let state = build_state_with_table_factories(session_config, Arc::new(runtime_env)); - let context = SessionContext::with_state(state); + let context = SessionContext::new_with_state(state); let object_store = build_object_store(&cfg.object_store); let internal_object_store = Arc::new(InternalObjectStore::new( diff --git a/src/config/schema.rs b/src/config/schema.rs index 4ce59425..c7e7920d 100644 --- a/src/config/schema.rs +++ b/src/config/schema.rs @@ -135,23 +135,23 @@ pub struct S3 { impl S3 { pub fn from_bucket_and_options( bucket: String, - map: &HashMap, + map: &mut HashMap, ) -> Result { Ok(S3 { region: map.get("region").cloned(), access_key_id: map - .get("access_key_id") + .remove("access_key_id") .ok_or(ConfigError::Message( "'access_key_id' not found in provided options".to_string(), ))? .clone(), secret_access_key: map - .get("secret_access_key") + .remove("secret_access_key") .ok_or(ConfigError::Message( "'secret_access_key' not found in provided options".to_string(), ))? .clone(), - endpoint: map.get("endpoint").cloned(), + endpoint: map.remove("endpoint"), bucket, cache_properties: Some(ObjectCacheProperties::default()), }) @@ -168,13 +168,11 @@ pub struct GCS { impl GCS { pub fn from_bucket_and_options( bucket: String, - map: &HashMap, + map: &mut HashMap, ) -> Self { GCS { bucket, - google_application_credentials: map - .get("google_application_credentials") - .cloned(), + google_application_credentials: map.remove("google_application_credentials"), cache_properties: Some(ObjectCacheProperties::default()), } } diff --git a/src/context.rs b/src/context.rs index 463ed7f5..5901d6d5 100644 --- a/src/context.rs +++ b/src/context.rs @@ -16,7 +16,6 @@ use tokio::io::{AsyncReadExt, AsyncWriteExt, BufReader}; use std::fs::File; use datafusion::execution::context::SessionState; -use datafusion::execution::DiskManager; use crate::datafusion::parser::{DFParser, Statement as DFStatement}; use crate::datafusion::utils::build_schema; @@ -76,15 +75,16 @@ use datafusion_expr::logical_plan::{ DropTable, Extension, LogicalPlan, Projection, }; use datafusion_expr::{DdlStatement, DmlStatement, Filter, WriteOp}; -use deltalake::action::{Action, Add, DeltaOperation, Remove, SaveMode}; +use deltalake::kernel::{Action, Add, Remove, Schema as DeltaSchema}; use deltalake::operations::create::CreateBuilder; use deltalake::operations::transaction::commit; use deltalake::operations::vacuum::VacuumBuilder; +use deltalake::protocol::{DeltaOperation, SaveMode}; use deltalake::writer::create_add; -use deltalake::{DeltaTable, Schema as DeltaSchema}; +use deltalake::DeltaTable; use log::{debug, info, warn}; use parking_lot::RwLock; -use tempfile::TempPath; +use tempfile::{NamedTempFile, TempPath}; use tokio::sync::Semaphore; use url::Url; use uuid::Uuid; @@ -158,11 +158,10 @@ fn make_dummy_exec() -> Arc { /// Open a temporary file to write partition and return a handle and a writer for it. fn temp_partition_file_writer( - disk_manager: Arc, arrow_schema: SchemaRef, ) -> Result<(TempPath, ArrowWriter)> { let partition_file = - disk_manager.create_tmp_file("Open a temporary file to write partition")?; + NamedTempFile::new().expect("Open a temporary file to write partition"); // Hold on to the path of the file, in case we need to just move it instead of // uploading the data to the object store. This can be a consistency/security issue, but the @@ -191,12 +190,11 @@ pub async fn plan_to_object_store( plan: &Arc, store: Arc, prefix: String, - disk_manager: Arc, max_partition_size: u32, ) -> Result> { let mut current_partition_size = 0; let (mut current_partition_file_path, mut writer) = - temp_partition_file_writer(disk_manager.clone(), plan.schema())?; + temp_partition_file_writer(plan.schema())?; let mut partition_file_paths = vec![current_partition_file_path]; let mut partition_metadata = vec![]; let mut tasks = vec![]; @@ -235,7 +233,7 @@ pub async fn plan_to_object_store( leftover_partition_capacity = max_partition_size as usize; (current_partition_file_path, writer) = - temp_partition_file_writer(disk_manager.clone(), plan.schema())?; + temp_partition_file_writer(plan.schema())?; partition_file_paths.push(current_partition_file_path); } @@ -472,7 +470,7 @@ impl DefaultSeafowlContext { build_state_with_table_factories(session_config, self.inner().runtime_env()); Ok(Arc::from(DefaultSeafowlContext { - inner: SessionContext::with_state(state), + inner: SessionContext::new_with_state(state), table_catalog: self.table_catalog.clone(), function_catalog: self.function_catalog.clone(), internal_object_store: self.internal_object_store.clone(), @@ -534,7 +532,7 @@ impl DefaultSeafowlContext { // conditions leading to schema provider map leaking into other queries (and // thus polluting e.g. the information_schema output), or even worse reloading // the map and having the versioned query fail during execution. - let session_ctx = SessionContext::with_state(self.inner.state()); + let session_ctx = SessionContext::new_with_state(self.inner.state()); for (table, version) in &version_processor.table_versions { let name_with_version = @@ -546,11 +544,10 @@ impl DefaultSeafowlContext { // We only support datetime DeltaTable version specification for start let table_uuid = self.get_table_uuid(resolved_ref.clone()).await?; - let table_object_store = - self.internal_object_store.for_delta_table(table_uuid); + let table_log_store = self.internal_object_store.get_log_store(table_uuid); let datetime = TableVersionProcessor::version_to_datetime(version)?; - let mut delta_table = DeltaTable::new(table_object_store, Default::default()); + let mut delta_table = DeltaTable::new(table_log_store, Default::default()); delta_table.load_with_datetime(datetime).await?; let table_provider_for_version = Arc::from(delta_table); @@ -630,7 +627,7 @@ impl DefaultSeafowlContext { &self, table_name: impl Into>, ) -> Result { - let table_object_store = self + let table_log_store = self .inner .table_provider(table_name) .await? @@ -639,11 +636,11 @@ impl DefaultSeafowlContext { .ok_or_else(|| { DataFusionError::Execution("Table {table_name} not found".to_string()) })? - .object_store(); + .log_store(); // We can't just keep hold of the downcasted ref from above because of // `temporary value dropped while borrowed` - Ok(DeltaTable::new(table_object_store, Default::default())) + Ok(DeltaTable::new(table_log_store, Default::default())) } // Parse the uuid from the Delta table uri if available @@ -711,15 +708,15 @@ impl DefaultSeafowlContext { // with the returned uuid (and delete the catalog entry if the object store creation fails). // On the other hand that would complicate etag testing logic. let table_uuid = get_uuid(); - let table_object_store = self.internal_object_store.for_delta_table(table_uuid); + let table_log_store = self.internal_object_store.get_log_store(table_uuid); // NB: there's also a uuid generated below for table's `DeltaTableMetaData::id`, so it would // be nice if those two could match let table = Arc::new( CreateBuilder::new() - .with_object_store(table_object_store) + .with_log_store(table_log_store) .with_table_name(&*table_name) - .with_columns(delta_schema.get_fields().clone()) + .with_columns(delta_schema.fields().clone()) .with_comment(format!( "Created by Seafowl version {}", env!("CARGO_PKG_VERSION") @@ -779,7 +776,7 @@ impl DefaultSeafowlContext { plan: &Arc, ) -> Result { let table_uuid = self.get_table_uuid(name).await?; - let table_object_store = self.internal_object_store.for_delta_table(table_uuid); + let table_log_store = self.internal_object_store.get_log_store(table_uuid); // Upload partition files to table's root directory let adds = plan_to_object_store( @@ -787,23 +784,22 @@ impl DefaultSeafowlContext { plan, self.internal_object_store.clone(), table_uuid.to_string(), - self.inner.runtime_env().disk_manager.clone(), self.max_partition_size, ) .await?; // Commit the write into a new version - let mut table = DeltaTable::new(table_object_store, Default::default()); + let mut table = DeltaTable::new(table_log_store.clone(), Default::default()); table.load().await?; - let actions: Vec = adds.into_iter().map(Action::add).collect(); + let actions: Vec = adds.into_iter().map(Action::Add).collect(); let op = DeltaOperation::Write { mode: SaveMode::Append, partition_by: None, predicate: None, }; let version = commit( - table.object_store().as_ref(), + table_log_store.as_ref(), &actions, op, table.get_state(), @@ -1068,9 +1064,14 @@ impl SeafowlContext for DefaultSeafowlContext { }, // ALTER TABLE ... RENAME TO - Statement::AlterTable { name, operation: AlterTableOperation::RenameTable {table_name: new_name }} => { + Statement::AlterTable { name, operations, ..} => { let old_table_name = name.to_string(); - let new_table_name = new_name.to_string(); + let new_table_name = match operations[..] { + [AlterTableOperation::RenameTable {ref table_name}] => table_name.to_string(), + _ => return Err(Error::Plan( + "Unsupported ALTER TABLE statement".to_string() + )) + }; if self.get_table_provider(old_table_name.to_owned()).await.is_err() { return Err(Error::Plan( @@ -1254,17 +1255,24 @@ impl SeafowlContext for DefaultSeafowlContext { .to_string(); let config = if scheme == "s3" { - let s3 = if cmd.options.is_empty() && let schema::ObjectStore::S3(s3) = self.internal_object_store.config.clone() { - S3{ bucket, ..s3 } + let s3 = if cmd.options.is_empty() + && let schema::ObjectStore::S3(s3) = + self.internal_object_store.config.clone() + { + S3 { bucket, ..s3 } } else { - S3::from_bucket_and_options(bucket, &cmd.options).map_err(|e| DataFusionError::Execution(e.to_string()))? + S3::from_bucket_and_options(bucket, &mut cmd.options) + .map_err(|e| DataFusionError::Execution(e.to_string()))? }; schema::ObjectStore::S3(s3) } else { - let gcs = if cmd.options.is_empty() && let schema::ObjectStore::GCS(gcs) = self.internal_object_store.config.clone() { - GCS{ bucket, ..gcs } + let gcs = if cmd.options.is_empty() + && let schema::ObjectStore::GCS(gcs) = + self.internal_object_store.config.clone() + { + GCS { bucket, ..gcs } } else { - GCS::from_bucket_and_options(bucket, &cmd.options) + GCS::from_bucket_and_options(bucket, &mut cmd.options) }; schema::ObjectStore::GCS(gcs) }; @@ -1458,7 +1466,6 @@ impl SeafowlContext for DefaultSeafowlContext { &update_plan, self.internal_object_store.clone(), uuid.to_string(), - self.inner.runtime_env().disk_manager.clone(), self.max_partition_size, ) .await?; @@ -1468,9 +1475,9 @@ impl SeafowlContext for DefaultSeafowlContext { .unwrap() .as_millis() as i64; - actions = adds.into_iter().map(Action::add).collect(); + actions = adds.into_iter().map(Action::Add).collect(); for remove in removes { - actions.push(Action::remove(Remove { + actions.push(Action::Remove(Remove { path: remove.path, deletion_timestamp: Some(deletion_timestamp), data_change: true, @@ -1479,6 +1486,8 @@ impl SeafowlContext for DefaultSeafowlContext { size: Some(remove.size), tags: None, deletion_vector: None, + base_row_id: None, + default_row_commit_version: None, })) } } @@ -1489,7 +1498,7 @@ impl SeafowlContext for DefaultSeafowlContext { predicate: None, }; let version = commit( - table.object_store().as_ref(), + table.log_store().as_ref(), &actions, op, table.get_state(), @@ -1576,7 +1585,6 @@ impl SeafowlContext for DefaultSeafowlContext { &filter_plan, self.internal_object_store.clone(), uuid.to_string(), - self.inner.runtime_env().disk_manager.clone(), self.max_partition_size, ) .await?; @@ -1595,9 +1603,9 @@ impl SeafowlContext for DefaultSeafowlContext { .as_millis() as i64; let mut actions: Vec = - adds.into_iter().map(Action::add).collect(); + adds.into_iter().map(Action::Add).collect(); for remove in removes { - actions.push(Action::remove(Remove { + actions.push(Action::Remove(Remove { path: remove.path, deletion_timestamp: Some(deletion_timestamp), data_change: true, @@ -1606,12 +1614,14 @@ impl SeafowlContext for DefaultSeafowlContext { size: Some(remove.size), tags: None, deletion_vector: None, + base_row_id: None, + default_row_commit_version: None, })) } let op = DeltaOperation::Delete { predicate: None }; let version = commit( - table.object_store().as_ref(), + table.log_store().as_ref(), &actions, op, table.get_state(), @@ -1818,7 +1828,7 @@ impl SeafowlContext for DefaultSeafowlContext { // time-travel querying syntax), but are not represented in `system.table_versions` table. delta_table.load().await?; let plan = VacuumBuilder::new( - delta_table.object_store(), + delta_table.log_store(), delta_table.state.clone(), ) .with_enforce_retention_duration(false) @@ -1929,13 +1939,13 @@ mod tests { use std::sync::Arc; - use datafusion::execution::disk_manager::DiskManagerConfig; use object_store::memory::InMemory; use rstest::rstest; use crate::config::schema; use datafusion::assert_batches_eq; use datafusion::physical_plan::memory::MemoryExec; + use deltalake::logstore::LogStore; use object_store::local::LocalFileSystem; use serde_json::{json, Value}; @@ -1996,13 +2006,11 @@ mod tests { }; let table_uuid = Uuid::default(); - let disk_manager = DiskManager::try_new(DiskManagerConfig::new()).unwrap(); let adds = plan_to_object_store( &sf_context.inner.state(), &execution_plan, object_store.clone(), table_uuid.to_string(), - disk_manager, 2, ) .await @@ -2037,7 +2045,7 @@ mod tests { vec![ ( PART_0_FILE_NAME.to_string(), - 1262, + 1269, true, true, true, @@ -2062,7 +2070,7 @@ mod tests { ), ( PART_1_FILE_NAME.to_string(), - 1277, + 1284, true, true, true, @@ -2089,7 +2097,7 @@ mod tests { ); assert_uploaded_objects( - object_store.for_delta_table(table_uuid), + object_store.get_log_store(table_uuid).object_store(), vec![ Path::from(PART_0_FILE_NAME.to_string()), Path::from(PART_1_FILE_NAME.to_string()), @@ -2158,13 +2166,11 @@ mod tests { Arc::new(InMemory::new()), schema::ObjectStore::InMemory(schema::InMemory {}), )); - let disk_manager = DiskManager::try_new(DiskManagerConfig::new()).unwrap(); let adds = plan_to_object_store( &sf_context.inner.state(), &execution_plan, object_store, "test".to_string(), - disk_manager, max_partition_size, ) .await diff --git a/src/datafusion/utils.rs b/src/datafusion/utils.rs index a3089b70..f8cbf902 100644 --- a/src/datafusion/utils.rs +++ b/src/datafusion/utils.rs @@ -1,4 +1,6 @@ -use arrow_schema::{DataType, TimeUnit, DECIMAL128_MAX_PRECISION, DECIMAL_DEFAULT_SCALE}; +use arrow_schema::{ + DataType, IntervalUnit, TimeUnit, DECIMAL128_MAX_PRECISION, DECIMAL_DEFAULT_SCALE, +}; use sqlparser::ast::{ ColumnDef as SQLColumnDef, ColumnOption, DataType as SQLDataType, ExactNumberInfo, Ident, TimezoneInfo, @@ -6,7 +8,8 @@ use sqlparser::ast::{ use datafusion::arrow::datatypes::{Field, Schema}; use datafusion::config::ConfigOptions; -pub use datafusion::error::{DataFusionError as Error, Result}; +pub use datafusion::error::Result; +use datafusion_common::{not_impl_err, DataFusionError}; // Normalize an identifier to a lowercase string unless the identifier is quoted. pub(crate) fn normalize_ident(id: &Ident) -> String { @@ -43,20 +46,20 @@ pub(crate) fn build_schema(columns: Vec) -> Result { // simply use the default `time_zone` config value. pub(crate) fn convert_simple_data_type(sql_type: &SQLDataType) -> Result { match sql_type { - SQLDataType::Boolean => Ok(DataType::Boolean), + SQLDataType::Boolean | SQLDataType::Bool => Ok(DataType::Boolean), SQLDataType::TinyInt(_) => Ok(DataType::Int8), - SQLDataType::SmallInt(_) => Ok(DataType::Int16), - SQLDataType::Int(_) | SQLDataType::Integer(_) => Ok(DataType::Int32), - SQLDataType::BigInt(_) => Ok(DataType::Int64), + SQLDataType::SmallInt(_) | SQLDataType::Int2(_) => Ok(DataType::Int16), + SQLDataType::Int(_) | SQLDataType::Integer(_) | SQLDataType::Int4(_) => Ok(DataType::Int32), + SQLDataType::BigInt(_) | SQLDataType::Int8(_) => Ok(DataType::Int64), SQLDataType::UnsignedTinyInt(_) => Ok(DataType::UInt8), - SQLDataType::UnsignedSmallInt(_) => Ok(DataType::UInt16), - SQLDataType::UnsignedInt(_) | SQLDataType::UnsignedInteger(_) => { + SQLDataType::UnsignedSmallInt(_) | SQLDataType::UnsignedInt2(_) => Ok(DataType::UInt16), + SQLDataType::UnsignedInt(_) | SQLDataType::UnsignedInteger(_) | SQLDataType::UnsignedInt4(_) => { Ok(DataType::UInt32) } - SQLDataType::UnsignedBigInt(_) => Ok(DataType::UInt64), + SQLDataType::UnsignedBigInt(_) | SQLDataType::UnsignedInt8(_) => Ok(DataType::UInt64), SQLDataType::Float(_) => Ok(DataType::Float32), - SQLDataType::Real => Ok(DataType::Float32), - SQLDataType::Double | SQLDataType::DoublePrecision => Ok(DataType::Float64), + SQLDataType::Real | SQLDataType::Float4 => Ok(DataType::Float32), + SQLDataType::Double | SQLDataType::DoublePrecision | SQLDataType::Float8 => Ok(DataType::Float64), SQLDataType::Char(_) | SQLDataType::Varchar(_) | SQLDataType::Text @@ -82,14 +85,14 @@ pub(crate) fn convert_simple_data_type(sql_type: &SQLDataType) -> Result { + | SQLDataType::Decimal(exact_number_info) => { let (precision, scale) = match *exact_number_info { ExactNumberInfo::None => (None, None), ExactNumberInfo::Precision(precision) => (Some(precision), None), @@ -100,19 +103,17 @@ pub(crate) fn convert_simple_data_type(sql_type: &SQLDataType) -> Result Ok(DataType::Binary), + SQLDataType::Interval => Ok(DataType::Interval(IntervalUnit::MonthDayNano)), // Explicitly list all other types so that if sqlparser // adds/changes the `SQLDataType` the compiler will tell us on upgrade // and avoid bugs like https://github.com/apache/arrow-datafusion/issues/3059 SQLDataType::Nvarchar(_) + | SQLDataType::JSON | SQLDataType::Uuid | SQLDataType::Binary(_) - | SQLDataType::BigNumeric(_) - | SQLDataType::BigDecimal(_) | SQLDataType::Varbinary(_) | SQLDataType::Blob(_) | SQLDataType::Datetime(_) - | SQLDataType::Interval - | SQLDataType::JSON | SQLDataType::Regclass | SQLDataType::Custom(_, _) | SQLDataType::Array(_) @@ -130,9 +131,12 @@ pub(crate) fn convert_simple_data_type(sql_type: &SQLDataType) -> Result Err(Error::NotImplemented(format!( - "Unsupported SQL type {sql_type:?}" - ))), + | SQLDataType::BigNumeric(_) + | SQLDataType::BigDecimal(_) + | SQLDataType::Clob(_) + => not_impl_err!( + "Unsupported SQL type {sql_type:?}" + ), } } @@ -147,7 +151,7 @@ pub(crate) fn make_decimal_type( (Some(p), Some(s)) => (p as u8, s as i8), (Some(p), None) => (p as u8, 0), (None, Some(_)) => { - return Err(Error::Internal( + return Err(DataFusionError::Internal( "Cannot specify only scale for decimal data type".to_string(), )) } @@ -159,7 +163,7 @@ pub(crate) fn make_decimal_type( || precision > DECIMAL128_MAX_PRECISION || scale.unsigned_abs() > precision { - Err(Error::Internal(format!( + Err(DataFusionError::Internal(format!( "Decimal(precision = {precision}, scale = {scale}) should satisfy `0 < precision <= 38`, and `scale <= precision`." ))) } else { diff --git a/src/datafusion/visit.rs b/src/datafusion/visit.rs index 35a5c76d..d1084a78 100644 --- a/src/datafusion/visit.rs +++ b/src/datafusion/visit.rs @@ -347,9 +347,6 @@ pub fn visit_select<'ast, V: VisitorMut<'ast> + ?Sized>( if let Some(selection) = &mut select.selection { visitor.visit_where(selection); } - if !select.group_by.is_empty() { - visitor.visit_group_by(&mut select.group_by); - } if let Some(having) = &mut select.having { visitor.visit_having(having); } @@ -391,6 +388,7 @@ pub fn visit_table_factor<'ast, V: VisitorMut<'ast> + ?Sized>( alias, args, with_hints, + .. } => visitor.visit_table_table_factor(name, alias.as_mut(), args, with_hints), TableFactor::Derived { lateral, diff --git a/src/delta_rs/backports.rs b/src/delta_rs/backports.rs index 62fd7b60..9548a8c2 100644 --- a/src/delta_rs/backports.rs +++ b/src/delta_rs/backports.rs @@ -11,7 +11,7 @@ use datafusion::execution::context::SessionState; use datafusion::physical_expr::PhysicalExpr; use datafusion::physical_plan::ExecutionPlan; use datafusion_common::{Result, ScalarValue}; -use deltalake::action::Add; +use deltalake::kernel::Add; use deltalake::DeltaTable; use object_store::path::Path; use object_store::ObjectMeta; @@ -53,7 +53,7 @@ pub async fn parquet_scan_from_actions( .collect::>(), )); - let object_store_url = table.object_store().object_store_url(); + let object_store_url = table.log_store().object_store_url(); let url: &Url = object_store_url.as_ref(); state .runtime_env() diff --git a/src/frontend/http.rs b/src/frontend/http.rs index f6110dab..3aeb8ded 100644 --- a/src/frontend/http.rs +++ b/src/frontend/http.rs @@ -390,7 +390,7 @@ pub async fn upload( let mut has_header = true; let mut schema: Option = None; let mut filename = String::new(); - let mut temp_file = context.inner.runtime_env().disk_manager.create_tmp_file( + let ref_temp_file = context.inner.runtime_env().disk_manager.create_tmp_file( format!("Creating a target file to append to {database_name}.{schema_name}.{table_name}").as_str(), )?; while let Some(maybe_part) = form.next().await { @@ -421,7 +421,7 @@ pub async fn upload( // Write out the incoming bytes into the temporary file while let Some(maybe_bytes) = part.data().await { - temp_file.write_all( + ref_temp_file.inner().write_all( maybe_bytes.map_err(ApiError::UploadBodyLoadError)?.chunk(), )?; } @@ -443,7 +443,7 @@ pub async fn upload( }; // Execute the plan and persist objects as well as table/partition metadata - let temp_path = temp_file.into_temp_path(); + let temp_path = ref_temp_file.path(); let table = context .file_to_table( temp_path.display().to_string(), @@ -456,7 +456,7 @@ pub async fn upload( .await?; Ok(warp::reply::with_status( - Ok(format!( + Ok::(format!( "{filename} appended to table {table_name} version {}\n", table.version() )), diff --git a/src/object_store/http.rs b/src/object_store/http.rs index ac8d4265..717ec4d5 100644 --- a/src/object_store/http.rs +++ b/src/object_store/http.rs @@ -1,15 +1,18 @@ /// ObjectStore implementation for HTTP/HTTPs for DataFusion's CREATE EXTERNAL TABLE use async_trait::async_trait; use bytes::Bytes; -use chrono::Utc; use futures::stream::BoxStream; use futures::{stream, StreamExt}; +use chrono::{DateTime, TimeZone, Utc}; use object_store::path::Path; use object_store::{ - GetOptions, GetResult, ListResult, MultipartId, ObjectMeta, ObjectStore, + GetOptions, GetResult, GetResultPayload, ListResult, MultipartId, ObjectMeta, + ObjectStore, }; use percent_encoding::{percent_decode_str, utf8_percent_encode, NON_ALPHANUMERIC}; +use warp::hyper::header::{CONTENT_LENGTH, ETAG, LAST_MODIFIED}; +use warp::hyper::HeaderMap; use crate::object_store::cache::{ CachingObjectStore, DEFAULT_CACHE_CAPACITY, DEFAULT_CACHE_ENTRY_TTL, @@ -60,6 +63,7 @@ enum HttpObjectStoreError { ListingUnsupported, HttpClientError(reqwest::Error), RangesUnsupported, + HeaderParsingError(String), } impl From for object_store::Error { @@ -89,6 +93,9 @@ impl Display for HttpObjectStoreError { writeln!(f, "This server does not support byte range fetches") } Self::HttpClientError(e) => writeln!(f, "HTTP error: {e:?}"), + Self::HeaderParsingError(e) => { + writeln!(f, "HTTP response header error: {e:?}") + } } } } @@ -267,16 +274,23 @@ impl ObjectStore for HttpObjectStore { location: &Path, options: GetOptions, ) -> object_store::Result { + let range = options.range.clone(); let response = self .send(self.request_builder_with_get_options(location, options)) .await?; + let meta = header_meta(location, response.headers())?; let body = response.bytes_stream(); - Ok(GetResult::Stream( + let stream = GetResultPayload::Stream( body.map(|c| c.map_err(|e| HttpObjectStoreError::HttpClientError(e).into())) .boxed(), - )) + ); + Ok(GetResult { + range: range.unwrap_or(0..meta.size), + payload: stream, + meta, + }) } async fn get_range( @@ -475,6 +489,71 @@ pub fn try_prepare_http_url(location: &str) -> Option { ) } +// Adapted from `object_store/src/client/header.rs` as it's private in the `object_store` crate +/// Extracts [`ObjectMeta`] from the provided [`HeaderMap`] +pub fn header_meta( + location: &Path, + headers: &HeaderMap, +) -> object_store::Result { + let last_modified = match headers.get(LAST_MODIFIED) { + Some(last_modified) => { + let last_modified = last_modified.to_str().map_err(|e| { + HttpObjectStoreError::HeaderParsingError(format!( + "Couldn't parse `last-modified`: {e:?}" + )) + })?; + DateTime::parse_from_rfc2822(last_modified) + .map_err(|e| { + HttpObjectStoreError::HeaderParsingError(format!( + "Couldn't parse rfc2822 datetime from {last_modified}: {e:?}" + )) + })? + .with_timezone(&Utc) + } + None => Utc.timestamp_nanos(0), + }; + + let e_tag = headers + .get(ETAG) + .map(|h| { + Ok::( + h.to_str() + .map_err(|e| { + HttpObjectStoreError::HeaderParsingError(format!( + "Couldn't parse `etag`: {e:?}" + )) + })? + .to_string(), + ) + }) + .transpose()?; + + let size = headers + .get(CONTENT_LENGTH) + .ok_or(HttpObjectStoreError::HeaderParsingError(format!( + "Missing `content-length` in headers: {headers:?}" + )))? + .to_str() + .map_err(|e| { + HttpObjectStoreError::HeaderParsingError(format!( + "Couldn't parse `content-length`: {e:?}" + )) + })? + .parse() + .map_err(|e| { + HttpObjectStoreError::HeaderParsingError(format!( + "Couldn't parse `content-length` as int: {e:?}" + )) + })?; + + Ok(ObjectMeta { + location: location.clone(), + last_modified, + size, + e_tag, + }) +} + #[cfg(test)] mod tests { use crate::object_store::cache::{ diff --git a/src/object_store/wrapped.rs b/src/object_store/wrapped.rs index 46ffbe3a..17fe27ec 100644 --- a/src/object_store/wrapped.rs +++ b/src/object_store/wrapped.rs @@ -13,7 +13,7 @@ use tokio::io::AsyncWrite; use tokio::fs::{copy, create_dir_all, remove_file, rename}; -use deltalake::storage::DeltaObjectStore; +use deltalake::logstore::{default_logstore::DefaultLogStore, LogStoreConfig}; use object_store::prefix::PrefixStore; use std::path::Path as StdPath; use std::str::FromStr; @@ -66,14 +66,20 @@ impl InternalObjectStore { // `InternalObjectStore` comes in. // This does mean that we have 3 layers of indirection before we hit the "real" object store // (`DeltaObjectStore` -> `PrefixStore` -> `InternalObjectStore` -> `inner`). - pub fn for_delta_table(&self, table_uuid: Uuid) -> Arc { + pub fn get_log_store(&self, table_uuid: Uuid) -> Arc { let prefixed_store: PrefixStore = PrefixStore::new(self.clone(), table_uuid.to_string()); - Arc::from(DeltaObjectStore::new( - Arc::from(prefixed_store), + let url = Url::from_str(format!("{}/{}", self.root_uri.as_str(), table_uuid).as_str()) - .unwrap(), + .unwrap(); + + Arc::from(DefaultLogStore::new( + Arc::from(prefixed_store), + LogStoreConfig { + location: url, + options: Default::default(), + }, )) } @@ -104,7 +110,9 @@ impl InternalObjectStore { StdPath::new(&object_store_path).join(StdPath::new(to.to_string().as_str())); // Ensure all directories on the target path exist - if let Some(parent_dir) = target_path.parent() && parent_dir != StdPath::new("") { + if let Some(parent_dir) = target_path.parent() + && parent_dir != StdPath::new("") + { create_dir_all(parent_dir).await.ok(); } diff --git a/src/provider.rs b/src/provider.rs index 47de5e40..c3f0c724 100644 --- a/src/provider.rs +++ b/src/provider.rs @@ -86,7 +86,7 @@ impl SchemaProvider for SeafowlCollection { // Ultimately though, since the map gets re-created for each query the only point in // updating the existing table is to optimize potential multi-lookups during processing of // a single query. - let table_object_store = match self.tables.read().get(name) { + let table_log_store = match self.tables.read().get(name) { None => return None, Some(table) => match table.as_any().downcast_ref::() { // This shouldn't happen since we store only DeltaTable's in the map @@ -98,13 +98,13 @@ impl SchemaProvider for SeafowlCollection { } else { // A negative table version indicates that the table was never loaded; we need // to do it before returning it. - delta_table.object_store() + delta_table.log_store() } } }, }; - let mut delta_table = DeltaTable::new(table_object_store, Default::default()); + let mut delta_table = DeltaTable::new(table_log_store, Default::default()); if let Err(err) = delta_table.load().await { warn!("Failed to load table {name}: {err}"); diff --git a/src/schema.rs b/src/schema.rs index 70b7cc39..710c2ef7 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -43,6 +43,7 @@ impl Schema { } } +#[allow(clippy::map_identity)] #[cfg(test)] mod tests { use super::*; diff --git a/src/wasm_udf/wasm.rs b/src/wasm_udf/wasm.rs index 113a22b1..1abc40dc 100644 --- a/src/wasm_udf/wasm.rs +++ b/src/wasm_udf/wasm.rs @@ -569,7 +569,7 @@ fn make_scalar_function_wasm_messagepack( } // Length of the vectorized array - let array_len = args.get(0).unwrap().len(); + let array_len = args.first().unwrap().len(); // Buffer for the results let mut encoded_results: Vec = Vec::with_capacity(array_len); @@ -656,7 +656,7 @@ fn make_scalar_function_from_wasm( assert_eq!(args.len(), input_types.len()); // Length of the vectorized array - let array_len = args.get(0).unwrap().len(); + let array_len = args.first().unwrap().len(); // Buffer for the results let mut results: Vec = Vec::new(); diff --git a/tests/statements/mod.rs b/tests/statements/mod.rs index 19009e5b..713374dc 100644 --- a/tests/statements/mod.rs +++ b/tests/statements/mod.rs @@ -7,6 +7,7 @@ use chrono::{TimeZone, Utc}; use datafusion::assert_batches_eq; use datafusion::datasource::TableProvider; use datafusion_common::{assert_contains, DataFusionError}; +use deltalake::logstore::LogStore; use itertools::sorted; use object_store::path::Path; use seafowl::catalog::{DEFAULT_DB, DEFAULT_SCHEMA}; diff --git a/tests/statements/query.rs b/tests/statements/query.rs index f07d6ab3..c38555b4 100644 --- a/tests/statements/query.rs +++ b/tests/statements/query.rs @@ -302,7 +302,7 @@ async fn test_remote_table_querying( } else { assert_contains!( actual_lines[5], - format!("TableScan: staging.remote_table projection=[a, c, date field, e], full_filters=[staging.remote_table.date field > Date32(\"19297\") OR staging.remote_table.c = Utf8(\"two\"), staging.remote_table.a > Int32(2) OR staging.remote_table.e < TimestampNanosecond(1667599865000000000, None)], fetch=2") + format!("TableScan: staging.remote_table projection=[c, date field], full_filters=[staging.remote_table.date field > Date32(\"19297\") OR staging.remote_table.c = Utf8(\"two\"), staging.remote_table.a > Int32(2) OR staging.remote_table.e < TimestampNanosecond(1667599865000000000, None)], fetch=2") ); }; } diff --git a/tests/statements/vacuum.rs b/tests/statements/vacuum.rs index b6f2ebd8..3907797f 100644 --- a/tests/statements/vacuum.rs +++ b/tests/statements/vacuum.rs @@ -2,7 +2,7 @@ use crate::statements::*; #[tokio::test] async fn test_vacuum_table() -> Result<(), DataFusionError> { - let (context, _) = make_context_with_pg(ObjectStoreType::InMemory).await; + let (context, _) = make_context_with_pg(ObjectStoreType::Local).await; // Create table_1 and make tombstone by replacing the first file create_table_and_insert(&context, "table_1").await; @@ -57,7 +57,10 @@ async fn test_vacuum_table() -> Result<(), DataFusionError> { // Check initial directory state testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_1_uuid), + context + .internal_object_store + .get_log_store(table_1_uuid) + .object_store(), vec![ Path::from("_delta_log/00000000000000000000.json"), Path::from("_delta_log/00000000000000000001.json"), @@ -91,13 +94,19 @@ async fn test_vacuum_table() -> Result<(), DataFusionError> { assert_batches_eq!(expected, &results); // Check table_1_v1_file is gone as it's been tombstoned's by the `DELETE` command. Note that - // no changes have been made to the _delta_log folder + // two additional delta log entries have been made, corresponding to `VACUUM START` and + // `VACUUM END` operations. testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_1_uuid), + context + .internal_object_store + .get_log_store(table_1_uuid) + .object_store(), vec![ Path::from("_delta_log/00000000000000000000.json"), Path::from("_delta_log/00000000000000000001.json"), Path::from("_delta_log/00000000000000000002.json"), + Path::from("_delta_log/00000000000000000003.json"), + Path::from("_delta_log/00000000000000000004.json"), table_1_v2_file, ], ) @@ -137,7 +146,10 @@ async fn test_vacuum_table() -> Result<(), DataFusionError> { // However, no changes have been made to the actual table_2 storage since `table_2_v1_file` is // referenced by the latest table version. testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_2_uuid), + context + .internal_object_store + .get_log_store(table_2_uuid) + .object_store(), vec![ Path::from("_delta_log/00000000000000000000.json"), Path::from("_delta_log/00000000000000000001.json"), @@ -247,7 +259,10 @@ async fn test_vacuum_database( // Check that objects are still there physically testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_1_uuid), + context + .internal_object_store + .get_log_store(table_1_uuid) + .object_store(), vec![ Path::from("_delta_log/00000000000000000000.json"), Path::from("_delta_log/00000000000000000001.json"), @@ -256,7 +271,10 @@ async fn test_vacuum_database( ) .await; testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_2_uuid), + context + .internal_object_store + .get_log_store(table_2_uuid) + .object_store(), vec![ Path::from("_delta_log/00000000000000000000.json"), Path::from("_delta_log/00000000000000000001.json"), @@ -292,12 +310,18 @@ async fn test_vacuum_database( // Check that objects have been physically deleted as well testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_1_uuid), + context + .internal_object_store + .get_log_store(table_1_uuid) + .object_store(), vec![], ) .await; testutils::assert_uploaded_objects( - context.internal_object_store.for_delta_table(table_2_uuid), + context + .internal_object_store + .get_log_store(table_2_uuid) + .object_store(), vec![], ) .await;