diff --git a/Cargo.lock b/Cargo.lock index dc2a2404f8..8e53ae0ff8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,9 +10,9 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" [[package]] name = "addr2line" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" dependencies = [ "gimli", ] @@ -106,6 +106,12 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -153,15 +159,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" +checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" [[package]] name = "anstyle-parse" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" dependencies = [ "utf8parse", ] @@ -187,9 +193,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "anymap" @@ -235,7 +241,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df752953c49ce90719c7bf1fc587bc8227aed04732ea0c0f85e5397d7fdbd1a1" dependencies = [ "include_dir", - "itertools", + "itertools 0.10.5", "proc-macro-error", "proc-macro2", "quote", @@ -262,15 +268,15 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "arrow" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6619cab21a0cdd8c9b9f1d9e09bfaa9b1974e5ef809a6566aef0b998caf38ace" +checksum = "2feeebd77b34b0bc88f224e06d01c27da4733997cc4789a4e056196656cdc59a" dependencies = [ "ahash 0.8.3", "arrow-arith", @@ -291,51 +297,51 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0dc95485623a76e00929bda8caa40c1f838190952365c4f43a7b9ae86d03e94" +checksum = "7173f5dc49c0ecb5135f52565af33afd3fdc9a12d13bd6f9973e8b96305e4b2e" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", - "half 2.2.1", + "half 2.3.1", "num", ] [[package]] name = "arrow-array" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3267847f53d3042473cfd2c769afd8d74a6d7d201fc3a34f5cb84c0282ef47a7" +checksum = "63d7ea725f7d1f8bb2cffc53ef538557e95fc802e217d5be25122d402e22f3d0" dependencies = [ "ahash 0.8.3", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", - "chrono-tz 0.8.2", - "half 2.2.1", - "hashbrown 0.13.2", + "chrono-tz 0.8.3", + "half 2.3.1", + "hashbrown 0.14.0", "num", ] [[package]] name = "arrow-buffer" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f66553e66e120ac4b21570368ee9ebf35ff3f5399f872b0667699e145678f5" +checksum = "bdbe439e077f484e5000b9e1d47b5e4c0d15f2b311a8f5bcc682553d5d67a722" dependencies = [ - "half 2.2.1", + "half 2.3.1", "num", ] [[package]] name = "arrow-cast" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e6f3579dbf0d97c683d451b2550062b0f0e62a3169bf74238b5f59f44ad6d8" +checksum = "93913cc14875770aa1eef5e310765e855effa352c094cb1c7c00607d0f37b4e1" dependencies = [ "arrow-array", "arrow-buffer", @@ -344,15 +350,16 @@ dependencies = [ "arrow-select", "chrono", "comfy-table", + "half 2.3.1", "lexical-core", "num", ] [[package]] name = "arrow-csv" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373579c4c1a8f5307d3125b7a89c700fcf8caf85821c77eb4baab3855ae0aba5" +checksum = "ef55b67c55ed877e6fe7b923121c19dae5e31ca70249ea2779a17b58fb0fbd9a" dependencies = [ "arrow-array", "arrow-buffer", @@ -369,21 +376,21 @@ dependencies = [ [[package]] name = "arrow-data" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61bc8df9912cca6642665fdf989d6fa0de2570f18a7f709bcf59d29de96d2097" +checksum = "d4f4f4a3c54614126a71ab91f6631c9743eb4643d6e9318b74191da9dc6e028b" dependencies = [ "arrow-buffer", "arrow-schema", - "half 2.2.1", + "half 2.3.1", "num", ] [[package]] name = "arrow-flight" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dff9cf247f68541be625fa32a52f9307beae701d1b3a126d1761c605adcd80c" +checksum = "f1128a9f099b4e8dc9a67aed274061f3cc95afd8b7aab98f2b44cb8b7b542b71" dependencies = [ "arrow-array", "arrow-buffer", @@ -401,9 +408,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0105dcf5f91daa7182d87b713ee0b32b3bfc88e0c48e7dc3e9d6f1277a07d1ae" +checksum = "d41a3659f984a524ef1c2981d43747b24d8eec78e2425267fcd0ef34ce71cd18" dependencies = [ "arrow-array", "arrow-buffer", @@ -415,9 +422,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73134fb5b5ec8770f8cbb214c2c487b2d350081e403ca4eeeb6f8f5e19846ac" +checksum = "10b95faa95a378f56ef32d84cc0104ea998c39ef7cd1faaa6b4cebf8ea92846d" dependencies = [ "arrow-array", "arrow-buffer", @@ -425,8 +432,8 @@ dependencies = [ "arrow-data", "arrow-schema", "chrono", - "half 2.2.1", - "indexmap 1.9.3", + "half 2.3.1", + "indexmap 2.0.0", "lexical-core", "num", "serde", @@ -435,49 +442,49 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89f25bc66e18d4c2aa1fe2f9bb03e2269da60e636213210385ae41a107f9965a" +checksum = "c68549a4284d9f8b39586afb8d5ff8158b8f0286353a4844deb1d11cf1ba1f26" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "arrow-select", - "half 2.2.1", + "half 2.3.1", "num", ] [[package]] name = "arrow-row" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1095ff85ea4f5ff02d17b30b089de31b51a50be01c6b674f0a0509ab771232f1" +checksum = "0a75a4a757afc301ce010adadff54d79d66140c4282ed3de565f6ccb716a5cf3" dependencies = [ "ahash 0.8.3", "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", - "half 2.2.1", - "hashbrown 0.13.2", + "half 2.3.1", + "hashbrown 0.14.0", ] [[package]] name = "arrow-schema" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25187bbef474151a2e4ddec67b9e34bda5cbfba292dc571392fa3a1f71ff5a82" +checksum = "2bebcb57eef570b15afbcf2d07d813eb476fde9f6dd69c81004d6476c197e87e" dependencies = [ - "bitflags 2.3.1", + "bitflags 2.3.3", "serde", ] [[package]] name = "arrow-select" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0d4ee884aec3aa05e41478e3cd312bf609de9babb5d187a43fb45931da4da4" +checksum = "f6e2943fa433a48921e914417173816af64eef61c0a3d448280e6c40a62df221" dependencies = [ "arrow-array", "arrow-buffer", @@ -488,17 +495,18 @@ dependencies = [ [[package]] name = "arrow-string" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6d71c3ffe4c07e66ce8fdc6aed5b00e0e60c5144911879b10546f5b72d8fa1c" +checksum = "bbc92ed638851774f6d7af1ad900b92bc1486746497511868b4298fcbcfa35af" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "arrow-select", + "num", "regex", - "regex-syntax 0.7.2", + "regex-syntax 0.7.4", ] [[package]] @@ -518,9 +526,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", "event-listener", @@ -561,9 +569,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0122885821398cc923ece939e24d1056a2384ee719432397fa9db87230ff11" +checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6" dependencies = [ "bzip2", "flate2", @@ -573,8 +581,8 @@ dependencies = [ "pin-project-lite", "tokio", "xz2", - "zstd 0.12.3+zstd.1.5.2", - "zstd-safe 6.0.5+zstd.1.5.4", + "zstd 0.12.4", + "zstd-safe 6.0.6", ] [[package]] @@ -591,7 +599,7 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.19", + "rustix 0.37.23", "slab", "socket2 0.4.9", "waker-fn", @@ -614,7 +622,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -636,18 +644,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -696,9 +704,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" +checksum = "a6a1de45611fdb535bfde7b7de4fd54f4fd2b17b1737c0a59b69bf9b92074b8c" dependencies = [ "async-trait", "axum-core", @@ -746,14 +754,14 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb524613be645939e280b7279f7b017f98cf7f5ef084ec374df373530e73277" +checksum = "cdca6a10ecad987bda04e95606ef85a5417dcaac1a78455242d72e031e2b6b62" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -805,7 +813,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c1a6197b2120bb2185a267f6515038558b019e92b832bb0320e96d66268dcf9" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "pin-project", "tokio", @@ -813,15 +821,15 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.6.2", + "miniz_oxide", "object", "rustc-demangle", ] @@ -859,10 +867,10 @@ name = "benchmarks" version = "0.3.2" dependencies = [ "arrow", - "clap 4.3.2", + "clap 4.3.19", "client", "indicatif", - "itertools", + "itertools 0.10.5", "parquet", "tokio", ] @@ -909,23 +917,22 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.65.1" +version = "0.66.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.3.3", "cexpr", "clang-sys", "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.6", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -951,9 +958,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.1" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" [[package]] name = "bitvec" @@ -978,9 +985,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" dependencies = [ "arrayref", "arrayvec", @@ -1073,18 +1080,17 @@ checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ "lazy_static", "memchr", - "regex-automata", + "regex-automata 0.1.10", ] [[package]] name = "bstr" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" dependencies = [ "memchr", - "once_cell", - "regex-automata", + "regex-automata 0.3.4", "serde", ] @@ -1192,18 +1198,18 @@ checksum = "cf034765b7d19a011c6d619e880582bf95e8186b580e6fab56589872dd87dcf5" [[package]] name = "camino" -version = "1.1.4" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" dependencies = [ "serde", ] @@ -1216,7 +1222,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.17", + "semver 1.0.18", "serde", "serde_json", ] @@ -1270,7 +1276,7 @@ dependencies = [ "meta-client", "metrics", "mito", - "moka 0.11.1", + "moka 0.11.2", "object-store", "parking_lot 0.12.1", "regex", @@ -1357,12 +1363,12 @@ dependencies = [ [[package]] name = "chrono-tz" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9cc2b23599e6d7479755f3594285efb3f74a1bdca7a7374948bc831e23a552" +checksum = "f1369bc6b9e9a7dfdae2055f6ec151fe9c554a9d23d357c0237cee2e25eaabb7" dependencies = [ "chrono", - "chrono-tz-build 0.1.0", + "chrono-tz-build 0.2.0", "phf", ] @@ -1379,9 +1385,9 @@ dependencies = [ [[package]] name = "chrono-tz-build" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9998fb9f7e9b2111641485bf8beb32f92945f97f92a3d061f744cfef335f751" +checksum = "e2f5ebdc942f57ed96d560a6d1a459bae5851102a25d5bf89dc04ae453e31ecf" dependencies = [ "parse-zoneinfo", "phf", @@ -1460,24 +1466,23 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.2" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401a4694d2bf92537b6867d94de48c4842089645fdcdf6c71865b175d836e9c2" +checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" dependencies = [ "clap_builder", - "clap_derive 4.3.2", + "clap_derive 4.3.12", "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.1" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72394f3339a76daf211e57d4bcb374410f3965dcc606dd0e03738c7888766980" +checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" dependencies = [ "anstream", "anstyle", - "bitflags 1.3.2", "clap_lex 0.5.0", "strsim 0.10.0", ] @@ -1497,14 +1502,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.3.2" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -1545,7 +1550,7 @@ dependencies = [ "derive-new", "enum_dispatch", "futures-util", - "moka 0.9.7", + "moka 0.9.8", "parking_lot 0.12.1", "prost", "rand", @@ -1639,12 +1644,12 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "comfy-table" -version = "6.2.0" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e959d788268e3bf9d35ace83e81b124190378e4c91c9067524675e33394b8ba" +checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b" dependencies = [ - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "unicode-width", ] @@ -1714,7 +1719,7 @@ name = "common-error" version = "0.3.2" dependencies = [ "snafu", - "strum", + "strum 0.24.1", ] [[package]] @@ -2003,7 +2008,7 @@ version = "0.3.2" dependencies = [ "arrow", "chrono", - "chrono-tz 0.8.2", + "chrono-tz 0.8.3", "common-error", "rand", "serde", @@ -2073,9 +2078,9 @@ dependencies = [ [[package]] name = "console-subscriber" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ab2224a0311582eb03adba4caaf18644f7b1f10a760803a803b9b605187fc7" +checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb" dependencies = [ "console-api", "crossbeam-channel", @@ -2103,9 +2108,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" [[package]] name = "const-random" @@ -2131,9 +2136,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.2.5" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "core-foundation" @@ -2153,18 +2158,18 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpp_demangle" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c76f98bdfc7f66172e6c7065f981ebb576ffc903fe4c0561d9f0c2509226dc6" +checksum = "ee34052ee3d93d6d8f3e6f81d85c47921f6653a19a7b70e939e3e602d893a674" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -2204,7 +2209,7 @@ dependencies = [ "clap 2.34.0", "criterion-plot 0.4.5", "csv", - "itertools", + "itertools 0.10.5", "lazy_static", "num-traits", "oorandom", @@ -2232,7 +2237,7 @@ dependencies = [ "clap 3.2.25", "criterion-plot 0.5.0", "futures", - "itertools", + "itertools 0.10.5", "lazy_static", "num-traits", "oorandom", @@ -2254,7 +2259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -2264,7 +2269,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -2304,14 +2309,14 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", "cfg-if 1.0.0", "crossbeam-utils", - "memoffset 0.8.0", + "memoffset 0.9.0", "scopeguard", ] @@ -2327,9 +2332,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if 1.0.0", ] @@ -2393,12 +2398,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ - "darling_core 0.20.1", - "darling_macro 0.20.1", + "darling_core 0.20.3", + "darling_macro 0.20.3", ] [[package]] @@ -2417,16 +2422,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -2442,23 +2447,23 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ - "darling_core 0.20.1", + "darling_core 0.20.3", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.12.3", + "hashbrown 0.14.0", "lock_api", "once_cell", "parking_lot_core 0.9.8", @@ -2466,14 +2471,14 @@ dependencies = [ [[package]] name = "datafusion" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "ahash 0.8.3", "arrow", "arrow-array", "arrow-schema", - "async-compression 0.4.0", + "async-compression 0.4.1", "async-trait", "bytes", "bzip2", @@ -2489,9 +2494,9 @@ dependencies = [ "flate2", "futures", "glob", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "itertools", + "hashbrown 0.14.0", + "indexmap 2.0.0", + "itertools 0.11.0", "lazy_static", "log", "num_cpus", @@ -2505,18 +2510,17 @@ dependencies = [ "sqlparser", "tempfile", "tokio", - "tokio-stream", "tokio-util", "url", "uuid", "xz2", - "zstd 0.12.3+zstd.1.5.2", + "zstd 0.12.4", ] [[package]] name = "datafusion-common" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "arrow", "arrow-array", @@ -2529,13 +2533,13 @@ dependencies = [ [[package]] name = "datafusion-execution" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "dashmap", "datafusion-common", "datafusion-expr", - "hashbrown 0.13.2", + "hashbrown 0.14.0", "log", "object_store", "parking_lot 0.12.1", @@ -2546,20 +2550,22 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "ahash 0.8.3", "arrow", "datafusion-common", "lazy_static", "sqlparser", + "strum 0.25.0", + "strum_macros 0.25.1", ] [[package]] name = "datafusion-optimizer" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "arrow", "async-trait", @@ -2567,34 +2573,37 @@ dependencies = [ "datafusion-common", "datafusion-expr", "datafusion-physical-expr", - "hashbrown 0.13.2", - "itertools", + "hashbrown 0.14.0", + "itertools 0.11.0", "log", - "regex-syntax 0.7.2", + "regex-syntax 0.7.4", ] [[package]] name = "datafusion-physical-expr" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "ahash 0.8.3", "arrow", "arrow-array", "arrow-buffer", "arrow-schema", + "base64 0.21.2", "blake2", "blake3", "chrono", "datafusion-common", "datafusion-expr", "datafusion-row", - "half 2.2.1", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "itertools", + "half 2.3.1", + "hashbrown 0.14.0", + "hex", + "indexmap 2.0.0", + "itertools 0.11.0", "lazy_static", "libc", + "log", "md-5", "paste", "petgraph", @@ -2607,8 +2616,8 @@ dependencies = [ [[package]] name = "datafusion-row" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "arrow", "datafusion-common", @@ -2618,8 +2627,8 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "arrow", "arrow-schema", @@ -2631,17 +2640,17 @@ dependencies = [ [[package]] name = "datafusion-substrait" -version = "25.0.0" -source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323#63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" +version = "27.0.0" +source = "git+https://github.com/waynexia/arrow-datafusion.git?rev=2ceb7f927c40787773fdc466d6a4b79f3a6c0001#2ceb7f927c40787773fdc466d6a4b79f3a6c0001" dependencies = [ "async-recursion", "chrono", "datafusion", - "itertools", + "itertools 0.11.0", "object_store", "prost", "prost-types", - "substrait 0.10.0", + "substrait 0.12.3", "tokio", ] @@ -2760,15 +2769,21 @@ dependencies = [ [[package]] name = "der" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56acb310e15652100da43d130af8d97b509e95af61aab1c5a7939ef24337ee17" +checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" dependencies = [ - "const-oid 0.9.2", + "const-oid 0.9.4", "pem-rfc7468 0.7.0", "zeroize", ] +[[package]] +name = "deranged" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01" + [[package]] name = "derive-new" version = "0.5.9" @@ -2855,7 +2870,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "const-oid 0.9.2", + "const-oid 0.9.4", "crypto-common", "subtle", ] @@ -2954,15 +2969,15 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] name = "dyn-clone" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" +checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272" [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "ena" @@ -3011,19 +3026,19 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "enum_dispatch" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2" +checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e" dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] @@ -3034,9 +3049,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" -version = "0.3.25" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2b0c2380453a92ea8b6c8e5f64ecaafccddde8ceab55ff7a8ac1029f894569" +checksum = "da96524cc884f6558f1769b6c46686af2fe8e8b4cd253bd5a3cdba8181b8e070" dependencies = [ "serde", ] @@ -3054,9 +3069,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -3153,13 +3168,19 @@ dependencies = [ ] [[package]] -name = "fd-lock" -version = "3.0.12" +name = "fastrand" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + +[[package]] +name = "fd-lock" +version = "3.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if 1.0.0", - "rustix 0.37.19", + "rustix 0.38.4", "windows-sys 0.48.0", ] @@ -3245,7 +3266,7 @@ checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" dependencies = [ "crc32fast", "libz-sys", - "miniz_oxide 0.7.1", + "miniz_oxide", ] [[package]] @@ -3320,14 +3341,14 @@ dependencies = [ "file-table-engine", "futures", "futures-util", - "itertools", + "itertools 0.10.5", "meta-client", "meta-srv", "meter-core", "meter-macros", "metrics", "mito", - "moka 0.9.7", + "moka 0.9.8", "object-store", "openmetrics-parser", "opentelemetry-proto", @@ -3356,9 +3377,9 @@ dependencies = [ [[package]] name = "frunk" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89c703bf50009f383a0873845357cc400a95fc535f836feddfe015d7df6e1e0" +checksum = "11a351b59e12f97b4176ee78497dff72e4276fb1ceb13e19056aca7fa0206287" dependencies = [ "frunk_core", "frunk_derives", @@ -3367,55 +3388,43 @@ dependencies = [ [[package]] name = "frunk_core" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a446d01a558301dca28ef43222864a9fa2bd9a2e71370f769d5d5d5ec9f3537" +checksum = "af2469fab0bd07e64ccf0ad57a1438f63160c69b2e57f04a439653d68eb558d6" [[package]] name = "frunk_derives" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b83164912bb4c97cfe0772913c7af7387ee2e00cb6d4636fb65a35b3d0c8f173" +checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] name = "frunk_proc_macro_helpers" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "015425591bbeb0f5b8a75593340f1789af428e9f887a4f1e36c0c471f067ef50" +checksum = "35b54add839292b743aeda6ebedbd8b11e93404f902c56223e51b9ec18a13d2c" dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] name = "frunk_proc_macros" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea01524f285deab48affffb342b97f186e657b119c3f1821ac531780e0fbfae0" -dependencies = [ - "frunk_core", - "frunk_proc_macros_impl", - "proc-macro-hack", -] - -[[package]] -name = "frunk_proc_macros_impl" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a802d974cc18ee7fe1a7868fc9ce31086294fd96ba62f8da64ecb44e92a2653" +checksum = "71b85a1d4a9a6b300b41c05e8e13ef2feca03e0334127f29eca9506a7fe13a93" dependencies = [ "frunk_core", "frunk_proc_macro_helpers", - "proc-macro-hack", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] @@ -3499,7 +3508,7 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "futures-io", "memchr", @@ -3516,7 +3525,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -3586,9 +3595,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3609,22 +3618,11 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "ghost" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77ac7b51b8e6313251737fcef4b1c01a2ea102bde68415b62c0ee9268fec357" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - [[package]] name = "gimli" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" [[package]] name = "git2" @@ -3687,7 +3685,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc22b0cdc52237667c301dd7cdc6ead8f8f73c9f824e9942c8ebd6b764f6c0bf" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "btoi", "gix-date", "itoa", @@ -3701,7 +3699,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2231a25934a240d0a4b6f4478401c73ee81d8be52de0293eedbc172334abf3e1" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-features 0.28.1", "gix-glob", "gix-path", @@ -3712,29 +3710,29 @@ dependencies = [ [[package]] name = "gix-bitmap" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55a95f4942360766c3880bdb2b4b57f1ef73b190fc424755e7fdf480430af618" +checksum = "0aa8bbde7551a9e3e783a2871f53bbb0f50aac7a77db5680c8709f69e8ce724f" dependencies = [ "thiserror", ] [[package]] name = "gix-chunk" -version = "0.4.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d39583cab06464b8bf73b3f1707458270f0e7383cb24c3c9c1a16e6f792978" +checksum = "5b42ea64420f7994000130328f3c7a2038f639120518870436d31b8bde704493" dependencies = [ "thiserror", ] [[package]] name = "gix-command" -version = "0.2.4" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2c6f75c1e0f924de39e750880a6e21307194bb1ab773efe3c7d2d787277f8ab" +checksum = "2783ad148fb16bf9cfd46423706ba552a62a4d4a18fda5dd07648eb0228862dd" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", ] [[package]] @@ -3743,7 +3741,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fbad5ce54a8fc997acc50febd89ec80fa6e97cb7f8d0654cb229936407489d8" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-config-value", "gix-features 0.28.1", "gix-glob", @@ -3766,7 +3764,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d09154c0c8677e4da0ec35e896f56ee3e338e741b9599fae06075edd83a4081c" dependencies = [ "bitflags 1.3.2", - "bstr 1.5.0", + "bstr 1.6.0", "gix-path", "libc", "thiserror", @@ -3778,7 +3776,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "750b684197374518ea057e0a0594713e07683faa0a3f43c0f93d97f64130ad8d" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-command", "gix-config-value", "gix-path", @@ -3794,10 +3792,10 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b96271912ce39822501616f177dea7218784e6c63be90d5f36322ff3a722aae2" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "itoa", "thiserror", - "time 0.3.21", + "time 0.3.24", ] [[package]] @@ -3818,7 +3816,7 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6eba8ba458cb8f4a6c33409b0fe650b1258655175a7ffd1d24fafd3ed31d880b" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "dunce", "gix-hash 0.10.4", "gix-path", @@ -3850,7 +3848,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf69b0f5c701cc3ae22d3204b671907668f6437ca88862d355eaf9bc47a4f897" dependencies = [ - "gix-hash 0.11.1", + "gix-hash 0.11.4", "libc", ] @@ -3870,7 +3868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93e43efd776bc543f46f0fd0ca3d920c37af71a764a16f2aebd89765e9ff2993" dependencies = [ "bitflags 1.3.2", - "bstr 1.5.0", + "bstr 1.6.0", ] [[package]] @@ -3885,9 +3883,9 @@ dependencies = [ [[package]] name = "gix-hash" -version = "0.11.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078eec3ac2808cc03f0bddd2704cb661da5c5dc33b41a9d7947b141d499c7c42" +checksum = "4b422ff2ad9a0628baaad6da468cf05385bf3f5ab495ad5a33cce99b9f41092f" dependencies = [ "hex", "thiserror", @@ -3911,7 +3909,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "717ab601ece7921f59fe86849dbe27d44a46ebb883b5885732c4f30df4996177" dependencies = [ "bitflags 1.3.2", - "bstr 1.5.0", + "bstr 1.6.0", "btoi", "filetime", "gix-bitmap", @@ -3943,7 +3941,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b66aea5e52875cd4915f4957a6f4b75831a36981e2ec3f5fad9e370e444fe1a" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-actor", "thiserror", ] @@ -3954,7 +3952,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8df068db9180ee935fbb70504848369e270bdcb576b05c0faa8b9fd3b86fc017" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "btoi", "gix-actor", "gix-features 0.28.1", @@ -4013,7 +4011,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32370dce200bb951df013e03dff35b4233fc7a89458642b047629b91734a7e19" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "thiserror", ] @@ -4032,11 +4030,11 @@ dependencies = [ [[package]] name = "gix-quote" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a282f5a8d9ee0b09ec47390ac727350c48f2f5c76d803cd8da6b3e7ad56e0bcb" +checksum = "dfd80d3d0c733508df9449b1d3795da36083807e31d851d7d61d29af13bd4b0a" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "btoi", "thiserror", ] @@ -4066,7 +4064,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aba332462bda2e8efeae4302b39a6ed01ad56ef772fd5b7ef197cf2798294d65" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-hash 0.10.4", "gix-revision", "gix-validate", @@ -4080,7 +4078,7 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c6f6ff53f888858afc24bf12628446a14279ceec148df6194481f306f553ad2" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-date", "gix-hash 0.10.4", "gix-hashtable", @@ -4134,7 +4132,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6a22b4b32ad14d68f7b7fb6458fa58d44b01797d94c1b8f4db2d9c7b3c366b5" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-features 0.28.1", "gix-path", "home", @@ -4144,20 +4142,20 @@ dependencies = [ [[package]] name = "gix-utils" -version = "0.1.1" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c10b69beac219acb8df673187a1f07dde2d74092f974fb3f9eb385aeb667c909" +checksum = "b85d89dc728613e26e0ed952a19583744e7f5240fcd4aa30d6c824ffd8b52f0f" dependencies = [ - "fastrand", + "fastrand 2.0.0", ] [[package]] name = "gix-validate" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd629d3680773e1785e585d76fd4295b740b559cad9141517300d99a0c8c049" +checksum = "ba9b3737b2cef3dcd014633485f0034b0f1a931ee54aeb7d8f87f177f3c89040" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "thiserror", ] @@ -4167,7 +4165,7 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54ec9a000b4f24af706c3cc680c7cda235656cbe3216336522f5692773b8a301" dependencies = [ - "bstr 1.5.0", + "bstr 1.6.0", "gix-attributes", "gix-features 0.28.1", "gix-glob", @@ -4199,9 +4197,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" dependencies = [ "bytes", "fnv", @@ -4224,10 +4222,11 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "half" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" dependencies = [ + "cfg-if 1.0.0", "crunchy", "num-traits", ] @@ -4255,14 +4254,18 @@ name = "hashbrown" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +dependencies = [ + "ahash 0.8.3", + "allocator-api2", +] [[package]] name = "hashlink" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa" +checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f" dependencies = [ - "hashbrown 0.13.2", + "hashbrown 0.14.0", ] [[package]] @@ -4323,18 +4326,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -4410,9 +4404,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" @@ -4444,9 +4438,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.26" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -4468,15 +4462,16 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ + "futures-util", "http", "hyper", - "rustls 0.21.1", + "rustls 0.21.5", "tokio", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", ] [[package]] @@ -4506,9 +4501,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -4608,7 +4603,7 @@ dependencies = [ "console", "instant", "number_prefix", - "portable-atomic 1.3.3", + "portable-atomic 1.4.2", "unicode-width", ] @@ -4668,12 +4663,9 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.6" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0539b5de9241582ce6bd6b0ba7399313560151e58c9aaf8b74b711b1bdce644" -dependencies = [ - "ghost", -] +checksum = "a53088c87cf71c9d4f3372a2cb9eea1e7b8a0b1bf8b7f7d23fe5b76dbb07e63b" [[package]] name = "io-close" @@ -4691,16 +4683,16 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.2", "libc", "windows-sys 0.48.0", ] [[package]] name = "ipnet" -version = "2.7.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "iri-string" @@ -4726,13 +4718,12 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix 0.37.19", + "hermit-abi 0.3.2", + "rustix 0.38.4", "windows-sys 0.48.0", ] @@ -4746,10 +4737,19 @@ dependencies = [ ] [[package]] -name = "itoa" -version = "1.0.6" +name = "itertools" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -4762,9 +4762,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.63" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -4823,7 +4823,7 @@ dependencies = [ "diff", "ena", "is-terminal", - "itertools", + "itertools 0.10.5", "lalrpop-util", "petgraph", "regex", @@ -4933,9 +4933,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.145" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc86cde3ff845662b8f4ef6cb50ea0e20c524eb3d29ae048287e06a1b3fa6a81" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libgit2-sys" @@ -4989,9 +4989,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "libc", @@ -5017,6 +5017,12 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +[[package]] +name = "linux-raw-sys" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" + [[package]] name = "lock_api" version = "0.4.10" @@ -5029,9 +5035,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.18" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" [[package]] name = "log-store" @@ -5126,9 +5132,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f1160296536f10c833a82dca22267d5486734230d47bf00bf435885814ba1e" +checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" dependencies = [ "hashbrown 0.13.2", ] @@ -5219,7 +5225,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] @@ -5230,9 +5236,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "67827e6ea8ee8a7c4a72227ef4fc08957040acffdb5f122733b24fa12daff41b" [[package]] name = "matrixmultiply" @@ -5294,9 +5300,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg", ] @@ -5497,15 +5503,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -5611,9 +5608,9 @@ dependencies = [ [[package]] name = "moka" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b9268097a2cf211ac9955b1cc95e80fa84fff5c2d13ba292916445dc8a311f" +checksum = "19ca9b167ed904bc89a2f64c4be5014615c26fd9c4ddd2042c6094744c7df11a" dependencies = [ "async-io", "async-lock", @@ -5624,7 +5621,7 @@ dependencies = [ "num_cpus", "once_cell", "parking_lot 0.12.1", - "quanta 0.10.1", + "quanta 0.11.1", "rustc_version 0.4.0", "scheduled-thread-pool", "skeptic", @@ -5637,9 +5634,9 @@ dependencies = [ [[package]] name = "moka" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36506f2f935238463605f3bb13b362f1949daafc3b347d05d60ae08836db2bd2" +checksum = "206bf83f415b0579fd885fe0804eb828e727636657dc1bf73d80d2f1218e14a1" dependencies = [ "async-io", "async-lock", @@ -5647,7 +5644,6 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "futures-util", - "num_cpus", "once_cell", "parking_lot 0.12.1", "quanta 0.11.1", @@ -5682,14 +5678,14 @@ version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56b0d8a0db9bf6d2213e11f2c701cb91387b0614361625ab7b9743b41aa4938f" dependencies = [ - "darling 0.20.1", + "darling 0.20.3", "heck", "num-bigint", "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", "termcolor", "thiserror", ] @@ -5706,7 +5702,7 @@ dependencies = [ "futures-sink", "futures-util", "lazy_static", - "lru 0.10.0", + "lru 0.10.1", "mio", "mysql_common", "once_cell", @@ -5714,14 +5710,14 @@ dependencies = [ "percent-encoding", "pin-project", "priority-queue", - "rustls 0.21.1", + "rustls 0.21.5", "rustls-pemfile", "serde", "serde_json", "socket2 0.5.3", "thiserror", "tokio", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", "tokio-util", "twox-hash", "url", @@ -5731,14 +5727,14 @@ dependencies = [ [[package]] name = "mysql_common" -version = "0.30.4" +version = "0.30.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b8fb568c9537cf4f1ad39e2542aa74a66bf89883e550df2cb30a8f0c0f0355" +checksum = "57349d5a326b437989b6ee4dc8f2f34b0cc131202748414712a8e7d98952fc8c" dependencies = [ "base64 0.21.2", "bigdecimal", - "bindgen 0.65.1", - "bitflags 2.3.1", + "bindgen 0.66.1", + "bitflags 2.3.3", "bitvec", "byteorder", "bytes", @@ -5764,7 +5760,7 @@ dependencies = [ "smallvec", "subprocess", "thiserror", - "time 0.3.21", + "time 0.3.24", "uuid", ] @@ -5893,9 +5889,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint", "num-complex", @@ -5918,9 +5914,9 @@ dependencies = [ [[package]] name = "num-bigint-dig" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ "byteorder", "lazy_static", @@ -5998,9 +5994,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", "libm", @@ -6008,11 +6004,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] @@ -6054,9 +6050,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.30.4" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" dependencies = [ "memchr", ] @@ -6082,15 +6078,16 @@ dependencies = [ [[package]] name = "object_store" -version = "0.5.6" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9cd6ca25e796a49fa242876d1c4de36a24a6da5258e9f0bc062dbf5e81c53b" +checksum = "27c776db4f332b571958444982ff641d2531417a326ca368995073b639205d58" dependencies = [ "async-trait", "bytes", "chrono", "futures", - "itertools", + "humantime", + "itertools 0.10.5", "parking_lot 0.12.1", "percent-encoding", "snafu", @@ -6171,14 +6168,14 @@ dependencies = [ "nom", "pin-project-lite", "tokio", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", ] [[package]] name = "openssl" -version = "0.10.54" +version = "0.10.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ "bitflags 1.3.2", "cfg-if 1.0.0", @@ -6197,7 +6194,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -6208,9 +6205,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.88" +version = "0.9.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" dependencies = [ "cc", "libc", @@ -6330,9 +6327,9 @@ checksum = "978aa494585d3ca4ad74929863093e87cac9790d81fe7aba2b3dc2890643a0fc" [[package]] name = "orc-rust" -version = "0.2.4" +version = "0.2.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01773d11a950f7418e691899bd2917e393972188b961d381ee3ce1880ad02e32" +checksum = "a9b5b4b473b25ddddd0071cdec7f014cd256a2b14e66a0d92df677a84a777f32" dependencies = [ "arrow", "bytes", @@ -6347,7 +6344,7 @@ dependencies = [ "snafu", "tokio", "zigzag", - "zstd 0.12.3+zstd.1.5.2", + "zstd 0.12.4", ] [[package]] @@ -6401,9 +6398,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.5.0" +version = "6.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" [[package]] name = "overload" @@ -6494,14 +6491,14 @@ dependencies = [ "redox_syscall 0.3.5", "smallvec", "thread-id", - "windows-targets 0.48.0", + "windows-targets 0.48.1", ] [[package]] name = "parquet" -version = "40.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6a656fcc17e641657c955742c689732684e096f790ff30865d9f8dcc39f7c4a" +checksum = "ec7267a9607c3f955d4d0ac41b88a67cecc0d8d009173ad3da390699a6cb3750" dependencies = [ "ahash 0.8.3", "arrow-array", @@ -6517,7 +6514,7 @@ dependencies = [ "chrono", "flate2", "futures", - "hashbrown 0.13.2", + "hashbrown 0.14.0", "lz4", "num", "num-bigint", @@ -6528,7 +6525,7 @@ dependencies = [ "thrift 0.17.0", "tokio", "twox-hash", - "zstd 0.12.3+zstd.1.5.2", + "zstd 0.12.4", ] [[package]] @@ -6569,7 +6566,7 @@ dependencies = [ "datafusion-expr", "datatypes", "meta-client", - "moka 0.9.7", + "moka 0.9.8", "serde", "serde_json", "snafu", @@ -6579,9 +6576,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pathdiff" @@ -6640,9 +6637,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70" +checksum = "0d2d1d55045829d65aad9d389139882ad623b33b904e7c9f1b10c5b8927298e5" dependencies = [ "thiserror", "ucd-trie", @@ -6650,9 +6647,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b79d4c71c865a25a4322296122e3924d30bc8ee0834c8bfc8b95f7f054afbfb" +checksum = "5f94bca7e7a599d89dea5dfa309e217e7906c3c007fb9c3299c40b10d6a315d3" dependencies = [ "pest", "pest_generator", @@ -6660,22 +6657,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e" +checksum = "99d490fe7e8556575ff6911e45567ab95e71617f43781e5c05490dc8d75c965c" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "pest_meta" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411" +checksum = "2674c66ebb4b4d9036012091b537aae5878970d6999f81a265034d85b136b341" dependencies = [ "once_cell", "pest", @@ -6713,39 +6710,39 @@ dependencies = [ "ring", "stringprep", "thiserror", - "time 0.3.21", + "time 0.3.24", "tokio", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", "tokio-util", "x509-certificate", ] [[package]] name = "phf" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "phf_shared 0.11.1", + "phf_shared 0.11.2", ] [[package]] name = "phf_codegen" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" dependencies = [ "phf_generator", - "phf_shared 0.11.1", + "phf_shared 0.11.2", ] [[package]] name = "phf_generator" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "phf_shared 0.11.1", + "phf_shared 0.11.2", "rand", ] @@ -6760,9 +6757,9 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ "siphasher", "uncased", @@ -6770,29 +6767,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" +checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" +checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" [[package]] name = "pin-utils" @@ -6817,7 +6814,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "der 0.7.6", + "der 0.7.7", "pkcs8 0.10.2", "spki 0.7.2", ] @@ -6839,7 +6836,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.6", + "der 0.7.7", "spki 0.7.2", ] @@ -6860,9 +6857,9 @@ dependencies = [ [[package]] name = "plotters" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" +checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" dependencies = [ "num-traits", "plotters-backend", @@ -6873,15 +6870,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" +checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" [[package]] name = "plotters-svg" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" +checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" dependencies = [ "plotters-backend", ] @@ -6919,14 +6916,14 @@ version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e30165d31df606f5726b090ec7592c308a0eaf61721ff64c9a3018e344a8753e" dependencies = [ - "portable-atomic 1.3.3", + "portable-atomic 1.4.2", ] [[package]] name = "portable-atomic" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "postgres-protocol" @@ -7018,19 +7015,19 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.6" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b69d39aab54d069e7f2fe8cb970493e7834601ca2d8c65fd7bbd183578080d1" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" dependencies = [ "proc-macro2", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "priority-queue" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca9c6be70d989d21a136eb86c2d83e4b328447fac4a88dace2143c179c86267" +checksum = "fff39edfcaec0d64e8d0da38564fad195d2d51b680940295fcc307366e101e61" dependencies = [ "autocfg", "indexmap 1.9.3", @@ -7087,9 +7084,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.59" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -7104,7 +7101,7 @@ dependencies = [ "byteorder", "hex", "lazy_static", - "rustix 0.36.14", + "rustix 0.36.15", ] [[package]] @@ -7167,9 +7164,9 @@ dependencies = [ [[package]] name = "promql-parser" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86b6a58ddafa87824aecefd60ab8bf33638f4dc687c560a3c06a31122948274" +checksum = "a96ad54e4f5d76ea28a131b1a09aaa6e58708eae98510f63ccec4ce7514bf30d" dependencies = [ "cfgrammar", "lazy_static", @@ -7196,7 +7193,7 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "multimap", @@ -7217,7 +7214,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", @@ -7301,14 +7298,14 @@ checksum = "3b7e158a385023d209d6d5f2585c4b468f6dcb3dd5aca9b75c4f1678c05bb375" [[package]] name = "pyo3" -version = "0.18.3" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109" +checksum = "ffb88ae05f306b4bfcde40ac4a51dc0b05936a9207a4b75b798c7729c4258a59" dependencies = [ "cfg-if 1.0.0", "indoc", "libc", - "memoffset 0.8.0", + "memoffset 0.9.0", "parking_lot 0.12.1", "pyo3-build-config", "pyo3-ffi", @@ -7318,9 +7315,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.18.3" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3" +checksum = "554db24f0b3c180a9c0b1268f91287ab3f17c162e15b54caaae5a6b3773396b0" dependencies = [ "once_cell", "target-lexicon", @@ -7328,9 +7325,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.18.3" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c" +checksum = "922ede8759e8600ad4da3195ae41259654b9c55da4f7eec84a0ccc7d067a70a4" dependencies = [ "libc", "pyo3-build-config", @@ -7338,9 +7335,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.18.3" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d" +checksum = "8a5caec6a1dd355964a841fcbeeb1b89fe4146c87295573f94228911af3cc5a2" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -7350,9 +7347,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.18.3" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918" +checksum = "e0b78ccbb160db1556cdb6fd96c50334c5d4ec44dc5e0a968d0a1208fa0efa8b" dependencies = [ "proc-macro2", "quote", @@ -7484,9 +7481,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.28" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -7536,7 +7533,7 @@ dependencies = [ "scopeguard", "serde", "serde_repr", - "strum", + "strum 0.24.1", "thiserror", ] @@ -7650,13 +7647,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.4" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick 1.0.2", "memchr", - "regex-syntax 0.7.2", + "regex-automata 0.3.4", + "regex-syntax 0.7.4", ] [[package]] @@ -7668,6 +7666,17 @@ dependencies = [ "regex-syntax 0.6.29", ] +[[package]] +name = "regex-automata" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" +dependencies = [ + "aho-corasick 1.0.2", + "memchr", + "regex-syntax 0.7.4", +] + [[package]] name = "regex-syntax" version = "0.6.29" @@ -7676,9 +7685,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "regress" @@ -7766,7 +7775,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.1", + "rustls 0.21.5", "rustls-native-certs", "rustls-pemfile", "serde", @@ -7774,7 +7783,7 @@ dependencies = [ "serde_urlencoded", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", "tokio-util", "tower-service", "url", @@ -7925,7 +7934,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8" dependencies = [ "byteorder", - "const-oid 0.9.2", + "const-oid 0.9.4", "digest", "num-bigint-dig", "num-integer", @@ -7980,9 +7989,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "6.6.1" +version = "6.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b68543d5527e158213414a92832d2aab11a84d2571a5eb021ebe22c43aab066" +checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -7991,22 +8000,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "6.5.0" +version = "6.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4e0f0ced47ded9a68374ac145edd65a6c1fa13a96447b873660b2a568a0fd7" +checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 1.0.109", + "syn 2.0.28", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "7.5.0" +version = "7.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731" +checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" dependencies = [ "sha2", "walkdir", @@ -8034,13 +8043,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.29.1" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26bd36b60561ee1fb5ec2817f198b6fd09fa571c897a5e86d1487cfc2b096dfc" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" dependencies = [ "arrayvec", "borsh", - "bytecheck", "byteorder", "bytes", "num-traits", @@ -8077,17 +8085,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.17", + "semver 1.0.18", ] [[package]] name = "rustix" -version = "0.36.14" +version = "0.36.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e4d67015953998ad0eb82887a0eb0129e18a7e2f3b7b0f6c422fddcd503d62" +checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941" dependencies = [ "bitflags 1.3.2", - "errno 0.3.1", + "errno 0.3.2", "io-lifetimes", "libc", "linux-raw-sys 0.1.4", @@ -8096,18 +8104,31 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.19" +version = "0.37.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" dependencies = [ "bitflags 1.3.2", - "errno 0.3.1", + "errno 0.3.2", "io-lifetimes", "libc", "linux-raw-sys 0.3.8", "windows-sys 0.48.0", ] +[[package]] +name = "rustix" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +dependencies = [ + "bitflags 2.3.3", + "errno 0.3.2", + "libc", + "linux-raw-sys 0.4.3", + "windows-sys 0.48.0", +] + [[package]] name = "rustls" version = "0.20.8" @@ -8122,21 +8143,21 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.1" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" +checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" dependencies = [ "log", "ring", - "rustls-webpki", + "rustls-webpki 0.101.2", "sct", ] [[package]] name = "rustls-native-certs" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -8146,9 +8167,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ "base64 0.21.2", ] @@ -8163,6 +8184,16 @@ dependencies = [ "untrusted", ] +[[package]] +name = "rustls-webpki" +version = "0.101.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "rustpython-ast" version = "0.2.0" @@ -8181,7 +8212,7 @@ dependencies = [ "ahash 0.7.6", "bitflags 1.3.2", "indexmap 1.9.3", - "itertools", + "itertools 0.10.5", "log", "num-complex", "num-traits", @@ -8199,7 +8230,7 @@ dependencies = [ "bstr 0.2.17", "cfg-if 1.0.0", "hexf-parse", - "itertools", + "itertools 0.10.5", "lexical-parse-float", "libc", "lock_api", @@ -8232,7 +8263,7 @@ source = "git+https://github.com/discord9/RustPython?rev=9ed5137412#9ed51374125b dependencies = [ "bitflags 1.3.2", "bstr 0.2.17", - "itertools", + "itertools 0.10.5", "lz4_flex", "num-bigint", "num-complex", @@ -8254,7 +8285,7 @@ version = "0.2.0" source = "git+https://github.com/discord9/RustPython?rev=9ed5137412#9ed51374125b5f1a9e5cee5dd7e27023b8591f1e" dependencies = [ "indexmap 1.9.3", - "itertools", + "itertools 0.10.5", "maplit", "once_cell", "proc-macro2", @@ -8281,7 +8312,7 @@ source = "git+https://github.com/discord9/RustPython?rev=9ed5137412#9ed51374125b dependencies = [ "ahash 0.7.6", "anyhow", - "itertools", + "itertools 0.10.5", "lalrpop", "lalrpop-util", "log", @@ -8328,7 +8359,7 @@ dependencies = [ "flate2", "gethostname", "hex", - "itertools", + "itertools 0.10.5", "libc", "libsqlite3-sys", "mac_address", @@ -8396,7 +8427,7 @@ dependencies = [ "hex", "indexmap 1.9.3", "is-macro", - "itertools", + "itertools 0.10.5", "libc", "log", "memchr", @@ -8427,8 +8458,8 @@ dependencies = [ "schannel", "sre-engine", "static_assertions", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", "thread_local", "timsort", @@ -8448,9 +8479,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "rustyline" @@ -8500,9 +8531,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "safe-lock" @@ -8559,9 +8590,9 @@ dependencies = [ [[package]] name = "safe_arch" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529" +checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" dependencies = [ "bytemuck", ] @@ -8583,11 +8614,11 @@ checksum = "ece8e78b2f38ec51c51f5d475df0a7187ba5111b2a28bdc761ee05b075d40a71" [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] @@ -8626,9 +8657,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "script" @@ -8711,9 +8742,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -8724,9 +8755,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -8743,9 +8774,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" dependencies = [ "serde", ] @@ -8761,15 +8792,15 @@ dependencies = [ [[package]] name = "seq-macro" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.163" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "0a5bf42b8d227d4abf38a1ddb08602e229108a517cd4e5bb28f9c7eaafdce5c0" dependencies = [ "serde_derive", ] @@ -8786,13 +8817,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "741e124f5485c7e60c03b043f79f320bff3527f4bbf12cf3831750dc46a0ec2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -8808,9 +8839,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -8819,22 +8850,23 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ + "itoa", "serde", ] [[package]] name = "serde_repr" -version = "0.1.12" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -8866,7 +8898,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -8883,11 +8915,11 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.21" +version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c" +checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.0.0", "itoa", "ryu", "serde", @@ -8938,7 +8970,7 @@ dependencies = [ "humantime-serde", "hyper", "influxdb_line_protocol", - "itertools", + "itertools 0.10.5", "metrics", "metrics-process", "mime_guess", @@ -8958,7 +8990,7 @@ dependencies = [ "rand", "regex", "rust-embed", - "rustls 0.21.1", + "rustls 0.21.5", "rustls-pemfile", "schemars", "script", @@ -8970,13 +9002,13 @@ dependencies = [ "snafu", "snap", "sql", - "strum", + "strum 0.24.1", "table", "tikv-jemalloc-ctl", "tokio", "tokio-postgres", "tokio-postgres-rustls", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", "tokio-stream", "tokio-test", "tonic 0.9.2", @@ -9027,9 +9059,9 @@ checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -9063,9 +9095,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" dependencies = [ "libc", "signal-hook-registry", @@ -9118,7 +9150,7 @@ dependencies = [ "num-bigint", "num-traits", "thiserror", - "time 0.3.21", + "time 0.3.24", ] [[package]] @@ -9170,15 +9202,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "snafu" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0656e7e3ffb70f6c39b3c2a86332bb74aa3c679da781642590f3c1118c5045" +checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" dependencies = [ "backtrace", "doc-comment", @@ -9187,9 +9219,9 @@ dependencies = [ [[package]] name = "snafu-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475b3bbe5245c26f2d8a6f62d67c1f30eb9fffeccee721c45d162c3ebbdf81b2" +checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" dependencies = [ "heck", "proc-macro2", @@ -9258,7 +9290,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", - "der 0.7.6", + "der 0.7.7", ] [[package]] @@ -9275,7 +9307,7 @@ dependencies = [ "datafusion-sql", "datatypes", "hex", - "itertools", + "itertools 0.10.5", "mito", "once_cell", "snafu", @@ -9288,7 +9320,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" dependencies = [ - "itertools", + "itertools 0.10.5", "nom", "unicode_categories", ] @@ -9327,9 +9359,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.34.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3706eefb17039056234df6b566b0014f303f867f2656108334a55b8096f59" +checksum = "ca597d77c98894be1f965f2e4e2d2a61575d4998088e655476c73715c54b2b43" dependencies = [ "log", "sqlparser_derive", @@ -9519,7 +9551,7 @@ dependencies = [ "datatypes", "futures", "futures-util", - "itertools", + "itertools 0.10.5", "lazy_static", "log-store", "metrics", @@ -9606,9 +9638,9 @@ dependencies = [ [[package]] name = "stringprep" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -9632,7 +9664,16 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros", + "strum_macros 0.24.3", +] + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros 0.25.1", ] [[package]] @@ -9648,6 +9689,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strum_macros" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6069ca09d878a33f883cc06aaa9718ede171841d3832450354410b718b097232" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.28", +] + [[package]] name = "subprocess" version = "0.2.9" @@ -9679,7 +9733,7 @@ dependencies = [ "prost", "session", "snafu", - "substrait 0.10.0", + "substrait 0.12.3", "table", "tokio", ] @@ -9692,39 +9746,39 @@ checksum = "e3ae64fb7ad0670c7d6d53d57b1b91beb2212afc30e164cc8edb02d6b2cff32a" dependencies = [ "gix", "heck", - "prettyplease 0.2.6", + "prettyplease 0.2.12", "prost", "prost-build", "prost-types", "schemars", - "semver 1.0.17", + "semver 1.0.18", "serde", "serde_json", "serde_yaml", - "syn 2.0.18", + "syn 2.0.28", "typify 0.0.11", "walkdir", ] [[package]] name = "substrait" -version = "0.10.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df5d9e071804204172dc77e707c363f187e7f6566f9c78e5100c9a8f5ea434e" +checksum = "2ac1ce8315086b127ca0abf162c62279550942bb26ebf7946fe17fe114446472" dependencies = [ "git2", "heck", - "prettyplease 0.2.6", + "prettyplease 0.2.12", "prost", "prost-build", "prost-types", "schemars", - "semver 1.0.17", + "semver 1.0.18", "serde", "serde_json", "serde_yaml", - "syn 2.0.18", - "typify 0.0.12", + "syn 2.0.28", + "typify 0.0.13", "walkdir", ] @@ -9770,9 +9824,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.18" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", @@ -9889,9 +9943,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.7" +version = "0.12.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" +checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" [[package]] name = "temp-env" @@ -9904,15 +9958,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.5.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" dependencies = [ "cfg-if 1.0.0", - "fastrand", + "fastrand 2.0.0", "redox_syscall 0.3.5", - "rustix 0.37.19", - "windows-sys 0.45.0", + "rustix 0.38.4", + "windows-sys 0.48.0", ] [[package]] @@ -9973,7 +10027,7 @@ dependencies = [ "dotenv", "frontend", "futures", - "itertools", + "itertools 0.10.5", "meta-client", "meta-srv", "mito", @@ -10028,22 +10082,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -10102,9 +10156,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-ctl" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1" +checksum = "619bfed27d807b54f7f776b9430d4f8060e66ee138a28632ca898584d462c31c" dependencies = [ "libc", "paste", @@ -10113,9 +10167,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -10123,9 +10177,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979" +checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca" dependencies = [ "libc", "tikv-jemalloc-sys", @@ -10143,10 +10197,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" +checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b" dependencies = [ + "deranged", "itoa", "libc", "num_threads", @@ -10163,9 +10218,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -10212,11 +10267,12 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.2" +version = "1.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" +checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" dependencies = [ "autocfg", + "backtrace", "bytes", "libc", "mio", @@ -10248,7 +10304,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -10293,10 +10349,10 @@ checksum = "dd5831152cb0d3f79ef5523b357319ba154795d64c7078b2daa95a803b54057f" dependencies = [ "futures", "ring", - "rustls 0.21.1", + "rustls 0.21.5", "tokio", "tokio-postgres", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", ] [[package]] @@ -10312,11 +10368,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d409377ff5b1e3ca6437aa86c1eb7d40c134bfec254e44c830defa92669db5" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.1", + "rustls 0.21.5", "tokio", ] @@ -10391,9 +10447,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.12" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "serde", @@ -10457,7 +10513,7 @@ dependencies = [ "prost", "rustls-pemfile", "tokio", - "tokio-rustls 0.24.0", + "tokio-rustls 0.24.1", "tokio-stream", "tower", "tower-layer", @@ -10574,33 +10630,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" dependencies = [ "crossbeam-channel", - "time 0.3.21", + "time 0.3.24", "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] name = "tracing-bunyan-formatter" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a348912d4e90923cb93343691d3be97e3409607363706c400fc935bb032fb0" +checksum = "464ce79ea7f689ca56d90a9c5563e803a4b61b2695e789205644ed8e8101e6bf" dependencies = [ "ahash 0.8.3", "gethostname", "log", "serde", "serde_json", - "time 0.3.21", + "time 0.3.24", "tracing", "tracing-core", "tracing-log", @@ -10674,9 +10730,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "try-lock" @@ -10712,9 +10768,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "typetag" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6898cc6f6a32698cc3e14d5632a14d2b23ed9f7b11e6b8e05ce685990acc22" +checksum = "aec6850cc671cd0cfb3ab285465e48a3b927d9de155051c35797446b32f9169f" dependencies = [ "erased-serde", "inventory", @@ -10725,13 +10781,13 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3e1c30cedd24fc597f7d37a721efdbdc2b1acae012c1ef1218f4c7c2c0f3e7" +checksum = "30c49a6815b4f8379c36f06618bc1b80ca77aaf8a3fd4d8549dca6fdb016000f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -10746,12 +10802,12 @@ dependencies = [ [[package]] name = "typify" -version = "0.0.12" +version = "0.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6658d09e71bfe59e7987dc95ee7f71809fdb5793ab0cdc1503cc0073990484d" +checksum = "be9bb640c0eece20cac2028ebbc2ca1a3d17e3b1ddd98540309c309ed178d158" dependencies = [ - "typify-impl 0.0.12", - "typify-macro 0.0.12", + "typify-impl 0.0.13", + "typify-macro 0.0.13", ] [[package]] @@ -10774,9 +10830,9 @@ dependencies = [ [[package]] name = "typify-impl" -version = "0.0.12" +version = "0.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d3bb47587b13edf526d6ed02bf360ecefe083ab47a4ef29fc43112828b2bef" +checksum = "5c8d9ecedde2fd77e975c38eeb9ca40b34ad0247b2259c6e6bbd2a8d6cc2444f" dependencies = [ "heck", "log", @@ -10785,7 +10841,7 @@ dependencies = [ "regress 0.6.0", "schemars", "serde_json", - "syn 2.0.18", + "syn 2.0.28", "thiserror", "unicode-ident", ] @@ -10808,9 +10864,9 @@ dependencies = [ [[package]] name = "typify-macro" -version = "0.0.12" +version = "0.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3f7e627c18be12d53bc1f261830b9c2763437b6a86ac57293b9085af2d32ffe" +checksum = "c08942cd65d458d2da15777a649cb6400cb545f17964f1ca965583f22e9cc3a9" dependencies = [ "proc-macro2", "quote", @@ -10818,8 +10874,8 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream 0.2.0", - "syn 2.0.18", - "typify-impl 0.0.12", + "syn 2.0.28", + "typify-impl 0.0.13", ] [[package]] @@ -10830,9 +10886,9 @@ checksum = "fe4fa6e588762366f1eb4991ce59ad1b93651d0b769dfb4e4d1c5c4b943d1159" [[package]] name = "ucd-trie" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" [[package]] name = "uname" @@ -10997,9 +11053,9 @@ checksum = "623f59e6af2a98bdafeb93fa277ac8e1e40440973001ca15cf4ae1541cd16d56" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -11050,9 +11106,9 @@ checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" [[package]] name = "unsafe-libyaml" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" +checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" [[package]] name = "untrusted" @@ -11073,9 +11129,9 @@ dependencies = [ [[package]] name = "urlencoding" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "utf8parse" @@ -11085,9 +11141,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.3.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ "atomic", "getrandom", @@ -11098,13 +11154,13 @@ dependencies = [ [[package]] name = "uuid-macro-internal" -version = "1.3.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f67b459f42af2e6e1ee213cb9da4dbd022d3320788c3fb3e1b893093f1e45da" +checksum = "f7e1ba1f333bd65ce3c9f27de592fcbc256dafe3af2717f56d7c87761fbaccf4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", ] [[package]] @@ -11137,7 +11193,7 @@ dependencies = [ "getset", "rustversion", "thiserror", - "time 0.3.21", + "time 0.3.24", ] [[package]] @@ -11181,11 +11237,10 @@ dependencies = [ [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -11203,9 +11258,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.86" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -11213,24 +11268,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.86" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.36" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -11240,9 +11295,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.86" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11250,22 +11305,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.86" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.86" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-streams" @@ -11282,9 +11337,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.63" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -11315,7 +11370,7 @@ version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" dependencies = [ - "rustls-webpki", + "rustls-webpki 0.100.1", ] [[package]] @@ -11331,9 +11386,9 @@ dependencies = [ [[package]] name = "whoami" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68" +checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" dependencies = [ "wasm-bindgen", "web-sys", @@ -11341,9 +11396,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.9" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0496a71f3cc6bc4bf0ed91346426a5099e93d89807e663162dc5a1069ff65" +checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f" dependencies = [ "bytemuck", "safe_arch", @@ -11420,22 +11475,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets 0.48.1", ] [[package]] @@ -11453,7 +11493,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.1", ] [[package]] @@ -11473,9 +11513,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm 0.48.0", "windows_aarch64_msvc 0.48.0", @@ -11602,9 +11642,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.6" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +checksum = "8bd122eb777186e60c3fdf765a58ac76e41c582f1f535fbf3314434c6b58f3f7" dependencies = [ "memchr", ] @@ -11636,7 +11676,7 @@ dependencies = [ "bcder", "bytes", "chrono", - "der 0.7.6", + "der 0.7.7", "hex", "pem 2.0.1", "ring", @@ -11647,9 +11687,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.14" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52839dc911083a8ef63efa4d039d1f58b5e409f923e44c80828f206f66e5541c" +checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1" [[package]] name = "xz2" @@ -11695,11 +11735,11 @@ dependencies = [ [[package]] name = "zstd" -version = "0.12.3+zstd.1.5.2" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" dependencies = [ - "zstd-safe 6.0.5+zstd.1.5.4", + "zstd-safe 6.0.6", ] [[package]] @@ -11714,9 +11754,9 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "6.0.5+zstd.1.5.4" +version = "6.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" dependencies = [ "libc", "zstd-sys", diff --git a/Cargo.toml b/Cargo.toml index 6fa7e5ce50..2794ddc04e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,23 +56,22 @@ edition = "2021" license = "Apache-2.0" [workspace.dependencies] -arrow = { version = "40.0" } -arrow-array = "40.0" -arrow-flight = "40.0" -arrow-schema = { version = "40.0", features = ["serde"] } +arrow = { version = "43.0" } +etcd-client = "0.11" +arrow-array = "43.0" +arrow-flight = "43.0" +arrow-schema = { version = "43.0", features = ["serde"] } async-stream = "0.3" async-trait = "0.1" chrono = { version = "0.4", features = ["serde"] } -# TODO(ruihang): use arrow-datafusion when it contains https://github.com/apache/arrow-datafusion/pull/6032 -datafusion = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } -datafusion-common = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } -datafusion-expr = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } -datafusion-optimizer = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } -datafusion-physical-expr = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } -datafusion-sql = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } -datafusion-substrait = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "63e52dde9e44cac4b1f6c6e6b6bf6368ba3bd323" } +datafusion = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } +datafusion-common = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } +datafusion-expr = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } +datafusion-optimizer = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } +datafusion-physical-expr = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } +datafusion-sql = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } +datafusion-substrait = { git = "https://github.com/waynexia/arrow-datafusion.git", rev = "2ceb7f927c40787773fdc466d6a4b79f3a6c0001" } derive_builder = "0.12" -etcd-client = "0.11" futures = "0.3" futures-util = "0.3" greptime-proto = { git = "https://github.com/GreptimeTeam/greptime-proto.git", rev = "356694a72f12ad9e15008d4245a0b4fe48f982ad" } @@ -80,7 +79,7 @@ itertools = "0.10" lazy_static = "1.4" once_cell = "1.18" opentelemetry-proto = { version = "0.2", features = ["gen-tonic", "metrics"] } -parquet = "40.0" +parquet = "43.0" paste = "1.0" prost = "0.11" rand = "0.8" @@ -88,7 +87,7 @@ regex = "1.8" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" snafu = { version = "0.7", features = ["backtraces"] } -sqlparser = "0.34" +sqlparser = "0.35" tempfile = "3" tokio = { version = "1.28", features = ["full"] } tokio-util = { version = "0.7", features = ["io-util", "compat"] } diff --git a/src/catalog/src/information_schema/columns.rs b/src/catalog/src/information_schema/columns.rs index df67ff33e6..2bcf476497 100644 --- a/src/catalog/src/information_schema/columns.rs +++ b/src/catalog/src/information_schema/columns.rs @@ -22,8 +22,8 @@ use common_error::ext::BoxedError; use common_query::physical_plan::TaskContext; use common_recordbatch::adapter::RecordBatchStreamAdapter; use common_recordbatch::{RecordBatch, SendableRecordBatchStream}; -use datafusion::datasource::streaming::PartitionStream as DfPartitionStream; use datafusion::physical_plan::stream::RecordBatchStreamAdapter as DfRecordBatchStreamAdapter; +use datafusion::physical_plan::streaming::PartitionStream as DfPartitionStream; use datafusion::physical_plan::SendableRecordBatchStream as DfSendableRecordBatchStream; use datatypes::prelude::{ConcreteDataType, DataType}; use datatypes::scalars::ScalarVectorBuilder; diff --git a/src/catalog/src/information_schema/tables.rs b/src/catalog/src/information_schema/tables.rs index b3324eb92a..2382e9fcf0 100644 --- a/src/catalog/src/information_schema/tables.rs +++ b/src/catalog/src/information_schema/tables.rs @@ -20,8 +20,8 @@ use common_error::ext::BoxedError; use common_query::physical_plan::TaskContext; use common_recordbatch::adapter::RecordBatchStreamAdapter; use common_recordbatch::{RecordBatch, SendableRecordBatchStream}; -use datafusion::datasource::streaming::PartitionStream as DfPartitionStream; use datafusion::physical_plan::stream::RecordBatchStreamAdapter as DfRecordBatchStreamAdapter; +use datafusion::physical_plan::streaming::PartitionStream as DfPartitionStream; use datafusion::physical_plan::SendableRecordBatchStream as DfSendableRecordBatchStream; use datatypes::prelude::{ConcreteDataType, ScalarVectorBuilder, VectorRef}; use datatypes::schema::{ColumnSchema, Schema, SchemaRef}; diff --git a/src/common/datasource/src/file_format.rs b/src/common/datasource/src/file_format.rs index b74e2b1558..ae300d38e3 100644 --- a/src/common/datasource/src/file_format.rs +++ b/src/common/datasource/src/file_format.rs @@ -30,8 +30,8 @@ use arrow::record_batch::RecordBatch; use arrow_schema::{ArrowError, Schema as ArrowSchema}; use async_trait::async_trait; use bytes::{Buf, Bytes}; +use datafusion::datasource::physical_plan::FileOpenFuture; use datafusion::error::{DataFusionError, Result as DataFusionResult}; -use datafusion::physical_plan::file_format::FileOpenFuture; use datafusion::physical_plan::SendableRecordBatchStream; use futures::StreamExt; use object_store::ObjectStore; diff --git a/src/common/datasource/src/file_format/csv.rs b/src/common/datasource/src/file_format/csv.rs index dfd2f3199a..78058c251b 100644 --- a/src/common/datasource/src/file_format/csv.rs +++ b/src/common/datasource/src/file_format/csv.rs @@ -23,8 +23,8 @@ use arrow::record_batch::RecordBatch; use arrow_schema::{Schema, SchemaRef}; use async_trait::async_trait; use common_runtime; +use datafusion::datasource::physical_plan::{FileMeta, FileOpenFuture, FileOpener}; use datafusion::error::Result as DataFusionResult; -use datafusion::physical_plan::file_format::{FileMeta, FileOpenFuture, FileOpener}; use datafusion::physical_plan::SendableRecordBatchStream; use derive_builder::Builder; use object_store::ObjectStore; diff --git a/src/common/datasource/src/file_format/json.rs b/src/common/datasource/src/file_format/json.rs index 9a13cc1cf1..7e9777b02b 100644 --- a/src/common/datasource/src/file_format/json.rs +++ b/src/common/datasource/src/file_format/json.rs @@ -26,8 +26,8 @@ use arrow::record_batch::RecordBatch; use arrow_schema::Schema; use async_trait::async_trait; use common_runtime; +use datafusion::datasource::physical_plan::{FileMeta, FileOpenFuture, FileOpener}; use datafusion::error::{DataFusionError, Result as DataFusionResult}; -use datafusion::physical_plan::file_format::{FileMeta, FileOpenFuture, FileOpener}; use datafusion::physical_plan::SendableRecordBatchStream; use object_store::ObjectStore; use snafu::ResultExt; diff --git a/src/common/datasource/src/file_format/orc.rs b/src/common/datasource/src/file_format/orc.rs index 00d455c72e..350fdd9cad 100644 --- a/src/common/datasource/src/file_format/orc.rs +++ b/src/common/datasource/src/file_format/orc.rs @@ -20,8 +20,8 @@ use arrow::compute::cast; use arrow_schema::{ArrowError, Schema, SchemaRef}; use async_trait::async_trait; use datafusion::arrow::record_batch::RecordBatch as DfRecordBatch; +use datafusion::datasource::physical_plan::{FileMeta, FileOpenFuture, FileOpener}; use datafusion::error::{DataFusionError, Result as DfResult}; -use datafusion::physical_plan::file_format::{FileMeta, FileOpenFuture, FileOpener}; use datafusion::physical_plan::RecordBatchStream; use futures::{Stream, StreamExt, TryStreamExt}; use object_store::ObjectStore; diff --git a/src/common/datasource/src/file_format/parquet.rs b/src/common/datasource/src/file_format/parquet.rs index e29729e028..d24101f203 100644 --- a/src/common/datasource/src/file_format/parquet.rs +++ b/src/common/datasource/src/file_format/parquet.rs @@ -18,13 +18,13 @@ use std::sync::Arc; use arrow::record_batch::RecordBatch; use arrow_schema::Schema; use async_trait::async_trait; +use datafusion::datasource::physical_plan::{FileMeta, ParquetFileReaderFactory}; use datafusion::error::Result as DatafusionResult; use datafusion::parquet::arrow::async_reader::AsyncFileReader; use datafusion::parquet::arrow::{parquet_to_arrow_schema, ArrowWriter}; use datafusion::parquet::errors::{ParquetError, Result as ParquetResult}; use datafusion::parquet::file::metadata::ParquetMetaData; use datafusion::parquet::format::FileMetaData; -use datafusion::physical_plan::file_format::{FileMeta, ParquetFileReaderFactory}; use datafusion::physical_plan::metrics::ExecutionPlanMetricsSet; use futures::future::BoxFuture; use object_store::{ObjectStore, Reader}; diff --git a/src/common/datasource/src/file_format/tests.rs b/src/common/datasource/src/file_format/tests.rs index bc01abe16c..51f2fd4a90 100644 --- a/src/common/datasource/src/file_format/tests.rs +++ b/src/common/datasource/src/file_format/tests.rs @@ -18,8 +18,8 @@ use std::sync::Arc; use std::vec; use datafusion::assert_batches_eq; +use datafusion::datasource::physical_plan::{FileOpener, FileScanConfig, FileStream, ParquetExec}; use datafusion::execution::context::TaskContext; -use datafusion::physical_plan::file_format::{FileOpener, FileScanConfig, FileStream, ParquetExec}; use datafusion::physical_plan::metrics::ExecutionPlanMetricsSet; use datafusion::physical_plan::ExecutionPlan; use datafusion::prelude::SessionContext; diff --git a/src/common/datasource/src/test_util.rs b/src/common/datasource/src/test_util.rs index 0117f54087..32be04deee 100644 --- a/src/common/datasource/src/test_util.rs +++ b/src/common/datasource/src/test_util.rs @@ -19,7 +19,7 @@ use arrow_schema::{DataType, Field, Schema, SchemaRef}; use common_test_util::temp_dir::{create_temp_dir, TempDir}; use datafusion::datasource::listing::PartitionedFile; use datafusion::datasource::object_store::ObjectStoreUrl; -use datafusion::physical_plan::file_format::{FileScanConfig, FileStream}; +use datafusion::datasource::physical_plan::{FileScanConfig, FileStream}; use datafusion::physical_plan::metrics::ExecutionPlanMetricsSet; use object_store::services::Fs; use object_store::ObjectStore; @@ -86,7 +86,7 @@ pub fn scan_config(file_schema: SchemaRef, limit: Option, filename: &str) projection: None, limit, table_partition_cols: vec![], - output_ordering: None, + output_ordering: vec![], infinite_source: false, } } diff --git a/src/common/grpc/src/flight.rs b/src/common/grpc/src/flight.rs index fa15a63306..09928d1efc 100644 --- a/src/common/grpc/src/flight.rs +++ b/src/common/grpc/src/flight.rs @@ -17,7 +17,7 @@ use std::sync::Arc; use api::v1::{AffectedRows, FlightMetadata}; use arrow_flight::utils::flight_data_to_arrow_batch; -use arrow_flight::{FlightData, IpcMessage, SchemaAsIpc}; +use arrow_flight::{FlightData, SchemaAsIpc}; use common_base::bytes::Bytes; use common_recordbatch::{RecordBatch, RecordBatches}; use datatypes::arrow; @@ -25,6 +25,7 @@ use datatypes::arrow::datatypes::Schema as ArrowSchema; use datatypes::arrow::ipc::{root_as_message, writer, MessageHeader}; use datatypes::schema::{Schema, SchemaRef}; use flatbuffers::FlatBufferBuilder; +use prost::bytes::Bytes as ProstBytes; use prost::Message; use snafu::{OptionExt, ResultExt}; @@ -86,12 +87,12 @@ impl FlightEncoder { affected_rows: Some(AffectedRows { value: rows as _ }), } .encode_to_vec(); - FlightData::new( - None, - IpcMessage(build_none_flight_msg().into()), - metadata, - vec![], - ) + FlightData { + flight_descriptor: None, + data_header: build_none_flight_msg().into(), + app_metadata: metadata.into(), + data_body: ProstBytes::default(), + } } } } diff --git a/src/common/query/src/logical_plan/udaf.rs b/src/common/query/src/logical_plan/udaf.rs index 3fe2ddc62b..b96de5b888 100644 --- a/src/common/query/src/logical_plan/udaf.rs +++ b/src/common/query/src/logical_plan/udaf.rs @@ -20,8 +20,8 @@ use std::fmt::{self, Debug, Formatter}; use std::sync::Arc; use datafusion_expr::{ - AccumulatorFunctionImplementation as DfAccumulatorFunctionImplementation, - AggregateUDF as DfAggregateUdf, StateTypeFunction as DfStateTypeFunction, + AccumulatorFactoryFunction, AggregateUDF as DfAggregateUdf, + StateTypeFunction as DfStateTypeFunction, }; use datatypes::arrow::datatypes::DataType as ArrowDataType; use datatypes::prelude::*; @@ -103,11 +103,11 @@ impl From for DfAggregateUdf { fn to_df_accumulator_func( accumulator: AccumulatorFunctionImpl, creator: AggregateFunctionCreatorRef, -) -> DfAccumulatorFunctionImplementation { +) -> AccumulatorFactoryFunction { Arc::new(move |_| { let accumulator = accumulator()?; let creator = creator.clone(); - Ok(Box::new(DfAccumulatorAdaptor::new(accumulator, creator))) + Ok(Box::new(DfAccumulatorAdaptor::new(accumulator, creator)) as _) }) } diff --git a/src/common/query/src/physical_plan.rs b/src/common/query/src/physical_plan.rs index 053246c4d3..896969bace 100644 --- a/src/common/query/src/physical_plan.rs +++ b/src/common/query/src/physical_plan.rs @@ -13,7 +13,7 @@ // limitations under the License. use std::any::Any; -use std::fmt::Debug; +use std::fmt::{self, Debug}; use std::sync::Arc; use common_recordbatch::adapter::{DfRecordBatchStreamAdapter, RecordBatchStreamAdapter}; @@ -24,7 +24,7 @@ pub use datafusion::execution::context::{SessionContext, TaskContext}; use datafusion::physical_plan::expressions::PhysicalSortExpr; use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet}; pub use datafusion::physical_plan::Partitioning; -use datafusion::physical_plan::Statistics; +use datafusion::physical_plan::{DisplayAs, DisplayFormatType, Statistics}; use datatypes::schema::SchemaRef; use snafu::ResultExt; @@ -218,6 +218,12 @@ impl DfPhysicalPlan for DfPhysicalPlanAdapter { } } +impl DisplayAs for DfPhysicalPlanAdapter { + fn fmt_as(&self, _t: DisplayFormatType, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{:?}", self.0) + } +} + #[cfg(test)] mod test { use async_trait::async_trait; diff --git a/src/common/substrait/Cargo.toml b/src/common/substrait/Cargo.toml index 4a3f2be2c1..5d8984dfa9 100644 --- a/src/common/substrait/Cargo.toml +++ b/src/common/substrait/Cargo.toml @@ -26,7 +26,7 @@ table = { path = "../../table" } [dependencies.substrait_proto] package = "substrait" -version = "0.10" +version = "0.12" [dev-dependencies] datatypes = { path = "../../datatypes" } diff --git a/src/common/substrait/src/df_substrait.rs b/src/common/substrait/src/df_substrait.rs index b90301f8cc..25de9a30b9 100644 --- a/src/common/substrait/src/df_substrait.rs +++ b/src/common/substrait/src/df_substrait.rs @@ -16,7 +16,7 @@ use std::sync::Arc; use async_trait::async_trait; use bytes::{Buf, Bytes, BytesMut}; -use datafusion::catalog::catalog::CatalogList; +use datafusion::catalog::CatalogList; use datafusion::execution::context::SessionState; use datafusion::execution::runtime_env::RuntimeEnv; use datafusion::prelude::{SessionConfig, SessionContext}; diff --git a/src/common/substrait/src/lib.rs b/src/common/substrait/src/lib.rs index 24bff0f0f2..87e50efda2 100644 --- a/src/common/substrait/src/lib.rs +++ b/src/common/substrait/src/lib.rs @@ -23,7 +23,7 @@ use std::sync::Arc; use async_trait::async_trait; use bytes::{Buf, Bytes}; -use datafusion::catalog::catalog::CatalogList; +use datafusion::catalog::CatalogList; pub use crate::df_substrait::DFLogicalSubstraitConvertor; diff --git a/src/datanode/src/instance/grpc.rs b/src/datanode/src/instance/grpc.rs index 3b6e5c652f..c5c3f62f5c 100644 --- a/src/datanode/src/instance/grpc.rs +++ b/src/datanode/src/instance/grpc.rs @@ -23,10 +23,8 @@ use async_trait::async_trait; use catalog::CatalogManagerRef; use common_grpc_expr::insert::to_table_insert_request; use common_query::Output; -use datafusion::catalog::catalog::{ - CatalogList, CatalogProvider, MemoryCatalogList, MemoryCatalogProvider, -}; use datafusion::catalog::schema::SchemaProvider; +use datafusion::catalog::{CatalogList, CatalogProvider, MemoryCatalogList, MemoryCatalogProvider}; use datafusion::datasource::TableProvider; use futures::future; use query::parser::{PromQuery, QueryLanguageParser, QueryStatement}; diff --git a/src/datatypes/src/value.rs b/src/datatypes/src/value.rs index 097cb4d103..032fa9de0a 100644 --- a/src/datatypes/src/value.rs +++ b/src/datatypes/src/value.rs @@ -635,7 +635,7 @@ impl TryFrom for Value { ScalarValue::Binary(b) | ScalarValue::LargeBinary(b) | ScalarValue::FixedSizeBinary(_, b) => Value::from(b.map(Bytes::from)), - ScalarValue::List(vs, field) => { + ScalarValue::List(vs, field) | ScalarValue::Fixedsizelist(vs, field, _) => { let items = if let Some(vs) = vs { let vs = vs .into_iter() @@ -687,6 +687,10 @@ impl TryFrom for Value { .map(|x| Value::Interval(Interval::from_i128(x))) .unwrap_or(Value::Null), ScalarValue::Decimal128(_, _, _) + | ScalarValue::DurationSecond(_) + | ScalarValue::DurationMillisecond(_) + | ScalarValue::DurationMicrosecond(_) + | ScalarValue::DurationNanosecond(_) | ScalarValue::Struct(_, _) | ScalarValue::Dictionary(_, _) => { return error::UnsupportedArrowTypeSnafu { diff --git a/src/datatypes/src/vectors/datetime.rs b/src/datatypes/src/vectors/datetime.rs index 6e8638dba3..e30dda3372 100644 --- a/src/datatypes/src/vectors/datetime.rs +++ b/src/datatypes/src/vectors/datetime.rs @@ -27,7 +27,6 @@ mod tests { use arrow::array::{Array, PrimitiveArray}; use arrow_array::ArrayRef; use common_time::DateTime; - use datafusion_common::from_slice::FromSlice; use super::*; use crate::data_type::DataType; @@ -39,7 +38,7 @@ mod tests { #[test] fn test_datetime_vector() { std::env::set_var("TZ", "Asia/Shanghai"); - let v = DateTimeVector::new(PrimitiveArray::from_slice([1, 2, 3])); + let v = DateTimeVector::new(PrimitiveArray::from(vec![1, 2, 3])); assert_eq!(ConcreteDataType::datetime_datatype(), v.data_type()); assert_eq!(3, v.len()); assert_eq!("DateTimeVector", v.vector_type_name()); @@ -57,7 +56,7 @@ mod tests { assert_eq!(Some(DateTime::new(2)), iter.next().unwrap()); assert_eq!(Some(DateTime::new(3)), iter.next().unwrap()); assert!(!v.is_null(0)); - assert_eq!(64, v.memory_size()); + assert_eq!(24, v.memory_size()); if let Value::DateTime(d) = v.get(0) { assert_eq!(1, d.val()); diff --git a/src/datatypes/src/vectors/helper.rs b/src/datatypes/src/vectors/helper.rs index 44a9a2cc7d..645d235c20 100644 --- a/src/datatypes/src/vectors/helper.rs +++ b/src/datatypes/src/vectors/helper.rs @@ -159,7 +159,7 @@ impl Helper { | ScalarValue::FixedSizeBinary(_, v) => { ConstantVector::new(Arc::new(BinaryVector::from(vec![v])), length) } - ScalarValue::List(v, field) => { + ScalarValue::List(v, field) | ScalarValue::Fixedsizelist(v, field, _) => { let item_type = ConcreteDataType::try_from(field.data_type())?; let mut builder = ListVectorBuilder::with_type_capacity(item_type.clone(), 1); if let Some(values) = v { @@ -219,6 +219,10 @@ impl Helper { ConstantVector::new(Arc::new(IntervalMonthDayNanoVector::from(vec![v])), length) } ScalarValue::Decimal128(_, _, _) + | ScalarValue::DurationSecond(_) + | ScalarValue::DurationMillisecond(_) + | ScalarValue::DurationMicrosecond(_) + | ScalarValue::DurationNanosecond(_) | ScalarValue::Struct(_, _) | ScalarValue::Dictionary(_, _) => { return error::ConversionSnafu { diff --git a/src/datatypes/src/vectors/primitive.rs b/src/datatypes/src/vectors/primitive.rs index 506a6bf997..5cbeeee491 100644 --- a/src/datatypes/src/vectors/primitive.rs +++ b/src/datatypes/src/vectors/primitive.rs @@ -84,24 +84,28 @@ impl PrimitiveVector { .as_any() .downcast_ref::() .unwrap() + .clone() .with_timezone_opt(None::) .to_data(), arrow_schema::TimeUnit::Millisecond => array .as_any() .downcast_ref::() .unwrap() + .clone() .with_timezone_opt(None::) .to_data(), arrow_schema::TimeUnit::Microsecond => array .as_any() .downcast_ref::() .unwrap() + .clone() .with_timezone_opt(None::) .to_data(), arrow_schema::TimeUnit::Nanosecond => array .as_any() .downcast_ref::() .unwrap() + .clone() .with_timezone_opt(None::) .to_data(), }, diff --git a/src/datatypes/src/vectors/string.rs b/src/datatypes/src/vectors/string.rs index a87b43a145..b0be6ab01d 100644 --- a/src/datatypes/src/vectors/string.rs +++ b/src/datatypes/src/vectors/string.rs @@ -312,7 +312,7 @@ mod tests { assert!(!v.is_const()); assert!(v.validity().is_all_valid()); assert!(!v.only_null()); - assert_eq!(128, v.memory_size()); + assert_eq!(1088, v.memory_size()); for (i, s) in strs.iter().enumerate() { assert_eq!(Value::from(*s), v.get(i)); diff --git a/src/file-table-engine/src/table/format.rs b/src/file-table-engine/src/table/format.rs index 811e6d78a1..920db271d0 100644 --- a/src/file-table-engine/src/table/format.rs +++ b/src/file-table-engine/src/table/format.rs @@ -26,10 +26,10 @@ use common_recordbatch::SendableRecordBatchStream; use datafusion::common::ToDFSchema; use datafusion::datasource::listing::PartitionedFile; use datafusion::datasource::object_store::ObjectStoreUrl; +use datafusion::datasource::physical_plan::{FileOpener, FileScanConfig, FileStream, ParquetExec}; use datafusion::optimizer::utils::conjunction; use datafusion::physical_expr::create_physical_expr; use datafusion::physical_expr::execution_props::ExecutionProps; -use datafusion::physical_plan::file_format::{FileOpener, FileScanConfig, FileStream, ParquetExec}; use datafusion::physical_plan::metrics::ExecutionPlanMetricsSet; use datafusion::prelude::SessionContext; use datatypes::arrow::datatypes::Schema as ArrowSchema; @@ -113,7 +113,7 @@ fn build_record_batch_stream( projection: projection.cloned(), limit, table_partition_cols: vec![], - output_ordering: None, + output_ordering: vec![], infinite_source: false, }, 0, // partition: hard-code @@ -185,7 +185,7 @@ fn new_parquet_stream_with_exec_plan( projection: projection.cloned(), limit: *limit, table_partition_cols: vec![], - output_ordering: None, + output_ordering: vec![], infinite_source: false, }; diff --git a/src/frontend/src/statement/copy_table_from.rs b/src/frontend/src/statement/copy_table_from.rs index 041d0cb1a6..f64c038f85 100644 --- a/src/frontend/src/statement/copy_table_from.rs +++ b/src/frontend/src/statement/copy_table_from.rs @@ -31,8 +31,8 @@ use common_recordbatch::adapter::ParquetRecordBatchStreamAdapter; use common_recordbatch::DfSendableRecordBatchStream; use datafusion::datasource::listing::PartitionedFile; use datafusion::datasource::object_store::ObjectStoreUrl; +use datafusion::datasource::physical_plan::{FileOpener, FileScanConfig, FileStream}; use datafusion::parquet::arrow::ParquetRecordBatchStreamBuilder; -use datafusion::physical_plan::file_format::{FileOpener, FileScanConfig, FileStream}; use datafusion::physical_plan::metrics::ExecutionPlanMetricsSet; use datatypes::arrow::compute::can_cast_types; use datatypes::arrow::datatypes::{Schema, SchemaRef}; @@ -143,7 +143,7 @@ impl StatementExecutor { projection: None, limit: None, table_partition_cols: vec![], - output_ordering: None, + output_ordering: vec![], infinite_source: false, }, 0, diff --git a/src/promql/src/error.rs b/src/promql/src/error.rs index 90163d9326..c85d01d55d 100644 --- a/src/promql/src/error.rs +++ b/src/promql/src/error.rs @@ -113,6 +113,12 @@ pub enum Error { #[snafu(display("Cannot find column {col}, location: {}", location))] ColumnNotFound { col: String, location: Location }, + + #[snafu(display("Found multiple metric matchers in selector, location: {}", location))] + MultipleMetricMatchers { location: Location }, + + #[snafu(display("Expect a metric matcher, but not found, location: {}", location))] + NoMetricMatcher { location: Location }, } impl ErrorExt for Error { @@ -138,6 +144,8 @@ impl ErrorExt for Error { TableNameNotFound { .. } => StatusCode::TableNotFound, + MultipleMetricMatchers { .. } | NoMetricMatcher { .. } => StatusCode::InvalidSyntax, + Catalog { source, .. } => source.status_code(), } } diff --git a/src/promql/src/extension_plan/empty_metric.rs b/src/promql/src/extension_plan/empty_metric.rs index dff1b44852..0e81f43d48 100644 --- a/src/promql/src/extension_plan/empty_metric.rs +++ b/src/promql/src/extension_plan/empty_metric.rs @@ -27,9 +27,10 @@ use datafusion::logical_expr::{ExprSchemable, LogicalPlan, UserDefinedLogicalNod use datafusion::physical_expr::{PhysicalExprRef, PhysicalSortExpr}; use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet}; use datafusion::physical_plan::{ - DisplayFormatType, ExecutionPlan, Partitioning, PhysicalPlanner, RecordBatchStream, + DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, }; +use datafusion::physical_planner::PhysicalPlanner; use datafusion::prelude::{col, lit, Expr}; use datatypes::arrow::array::TimestampMillisecondArray; use datatypes::arrow::datatypes::SchemaRef; @@ -207,16 +208,6 @@ impl ExecutionPlan for EmptyMetricExec { })) } - fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match t { - DisplayFormatType::Default => write!( - f, - "EmptyMetric: range=[{}..{}], interval=[{}]", - self.start, self.end, self.interval, - ), - } - } - fn metrics(&self) -> Option { Some(self.metric.clone_inner()) } @@ -234,6 +225,18 @@ impl ExecutionPlan for EmptyMetricExec { } } +impl DisplayAs for EmptyMetricExec { + fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match t { + DisplayFormatType::Default | DisplayFormatType::Verbose => write!( + f, + "EmptyMetric: range=[{}..{}], interval=[{}]", + self.start, self.end, self.interval, + ), + } + } +} + pub struct EmptyMetricStream { start: Millisecond, end: Millisecond, @@ -319,7 +322,7 @@ pub fn build_special_time_expr(time_index_column_name: &str) -> Expr { #[cfg(test)] mod test { - use datafusion::physical_plan::planner::DefaultPhysicalPlanner; + use datafusion::physical_planner::DefaultPhysicalPlanner; use datafusion::prelude::SessionContext; use super::*; diff --git a/src/promql/src/extension_plan/instant_manipulate.rs b/src/promql/src/extension_plan/instant_manipulate.rs index b09bfe7bf7..3b8e6a910a 100644 --- a/src/promql/src/extension_plan/instant_manipulate.rs +++ b/src/promql/src/extension_plan/instant_manipulate.rs @@ -28,8 +28,8 @@ use datafusion::logical_expr::{EmptyRelation, Expr, LogicalPlan, UserDefinedLogi use datafusion::physical_expr::PhysicalSortExpr; use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet}; use datafusion::physical_plan::{ - DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, - Statistics, + DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, + SendableRecordBatchStream, Statistics, }; use datatypes::arrow::compute; use datatypes::arrow::error::Result as ArrowResult; @@ -258,18 +258,6 @@ impl ExecutionPlan for InstantManipulateExec { })) } - fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match t { - DisplayFormatType::Default => { - write!( - f, - "PromInstantManipulateExec: range=[{}..{}], lookback=[{}], interval=[{}], time index=[{}]", - self.start,self.end, self.lookback_delta, self.interval, self.time_index_column - ) - } - } - } - fn metrics(&self) -> Option { Some(self.metric.clone_inner()) } @@ -294,6 +282,20 @@ impl ExecutionPlan for InstantManipulateExec { } } +impl DisplayAs for InstantManipulateExec { + fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match t { + DisplayFormatType::Default | DisplayFormatType::Verbose => { + write!( + f, + "PromInstantManipulateExec: range=[{}..{}], lookback=[{}], interval=[{}], time index=[{}]", + self.start,self.end, self.lookback_delta, self.interval, self.time_index_column + ) + } + } + } +} + pub struct InstantManipulateStream { start: Millisecond, end: Millisecond, @@ -442,7 +444,6 @@ mod test { use datafusion::arrow::datatypes::{ ArrowPrimitiveType, DataType, Field, Schema, TimestampMillisecondType, }; - use datafusion::from_slice::FromSlice; use datafusion::physical_plan::memory::MemoryExec; use datafusion::prelude::SessionContext; use datatypes::arrow::array::TimestampMillisecondArray; @@ -458,13 +459,13 @@ mod test { Field::new("value", DataType::Float64, true), Field::new("path", DataType::Utf8, true), ])); - let timestamp_column = Arc::new(TimestampMillisecondArray::from_slice([ + let timestamp_column = Arc::new(TimestampMillisecondArray::from(vec![ 0, 30_000, 60_000, 90_000, 120_000, // every 30s 180_000, 240_000, // every 60s 241_000, 271_000, 291_000, // others ])) as _; - let field_column = Arc::new(Float64Array::from_slice([1.0; 10])) as _; - let path_column = Arc::new(StringArray::from_slice(["foo"; 10])) as _; + let field_column = Arc::new(Float64Array::from(vec![1.0; 10])) as _; + let path_column = Arc::new(StringArray::from(vec!["foo"; 10])) as _; let data = RecordBatch::try_new( schema.clone(), vec![timestamp_column, field_column, path_column], @@ -748,16 +749,11 @@ mod test { Field::new(TIME_INDEX_COLUMN, TimestampMillisecondType::DATA_TYPE, true), Field::new("value", DataType::Float64, true), ])); - let timestamp_column = Arc::new(TimestampMillisecondArray::from_slice([ + let timestamp_column = Arc::new(TimestampMillisecondArray::from(vec![ 0, 30_000, 60_000, 90_000, 120_000, // every 30s ])) as _; - let field_column = Arc::new(Float64Array::from_slice([ - 0.0, - f64::NAN, - 6.0, - f64::NAN, - 12.0, - ])) as _; + let field_column = + Arc::new(Float64Array::from(vec![0.0, f64::NAN, 6.0, f64::NAN, 12.0])) as _; let data = RecordBatch::try_new(schema.clone(), vec![timestamp_column, field_column]).unwrap(); diff --git a/src/promql/src/extension_plan/normalize.rs b/src/promql/src/extension_plan/normalize.rs index de575a7ce2..28977ef4d5 100644 --- a/src/promql/src/extension_plan/normalize.rs +++ b/src/promql/src/extension_plan/normalize.rs @@ -26,7 +26,8 @@ use datafusion::logical_expr::{EmptyRelation, Expr, LogicalPlan, UserDefinedLogi use datafusion::physical_expr::PhysicalSortExpr; use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet}; use datafusion::physical_plan::{ - DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, + DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, + SendableRecordBatchStream, }; use datatypes::arrow::array::TimestampMillisecondArray; use datatypes::arrow::datatypes::SchemaRef; @@ -214,9 +215,19 @@ impl ExecutionPlan for SeriesNormalizeExec { })) } + fn metrics(&self) -> Option { + Some(self.metric.clone_inner()) + } + + fn statistics(&self) -> Statistics { + self.input.statistics() + } +} + +impl DisplayAs for SeriesNormalizeExec { fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { match t { - DisplayFormatType::Default => { + DisplayFormatType::Default | DisplayFormatType::Verbose => { write!( f, "PromSeriesNormalizeExec: offset=[{}], time index=[{}], filter NaN: [{}]", @@ -225,14 +236,6 @@ impl ExecutionPlan for SeriesNormalizeExec { } } } - - fn metrics(&self) -> Option { - Some(self.metric.clone_inner()) - } - - fn statistics(&self) -> Statistics { - self.input.statistics() - } } pub struct SeriesNormalizeStream { @@ -324,7 +327,6 @@ mod test { use datafusion::arrow::datatypes::{ ArrowPrimitiveType, DataType, Field, Schema, TimestampMillisecondType, }; - use datafusion::from_slice::FromSlice; use datafusion::physical_plan::memory::MemoryExec; use datafusion::prelude::SessionContext; use datatypes::arrow::array::TimestampMillisecondArray; @@ -340,12 +342,11 @@ mod test { Field::new("value", DataType::Float64, true), Field::new("path", DataType::Utf8, true), ])); - let timestamp_column = Arc::new(TimestampMillisecondArray::from_slice([ + let timestamp_column = Arc::new(TimestampMillisecondArray::from(vec![ 60_000, 120_000, 0, 30_000, 90_000, ])) as _; - let field_column = Arc::new(Float64Array::from_slice([0.0, 1.0, 10.0, 100.0, 1000.0])) as _; - let path_column = - Arc::new(StringArray::from_slice(["foo", "foo", "foo", "foo", "foo"])) as _; + let field_column = Arc::new(Float64Array::from(vec![0.0, 1.0, 10.0, 100.0, 1000.0])) as _; + let path_column = Arc::new(StringArray::from(vec!["foo", "foo", "foo", "foo", "foo"])) as _; let data = RecordBatch::try_new( schema.clone(), vec![timestamp_column, field_column, path_column], diff --git a/src/promql/src/extension_plan/planner.rs b/src/promql/src/extension_plan/planner.rs index 7d7541d640..1198108012 100644 --- a/src/promql/src/extension_plan/planner.rs +++ b/src/promql/src/extension_plan/planner.rs @@ -18,8 +18,8 @@ use async_trait::async_trait; use datafusion::error::Result as DfResult; use datafusion::execution::context::SessionState; use datafusion::logical_expr::{LogicalPlan, UserDefinedLogicalNode}; -use datafusion::physical_plan::planner::ExtensionPlanner; -use datafusion::physical_plan::{ExecutionPlan, PhysicalPlanner}; +use datafusion::physical_plan::ExecutionPlan; +use datafusion::physical_planner::{ExtensionPlanner, PhysicalPlanner}; use crate::extension_plan::{ EmptyMetric, InstantManipulate, RangeManipulate, SeriesDivide, SeriesNormalize, diff --git a/src/promql/src/extension_plan/range_manipulate.rs b/src/promql/src/extension_plan/range_manipulate.rs index 5bd119a8df..f35ceb2508 100644 --- a/src/promql/src/extension_plan/range_manipulate.rs +++ b/src/promql/src/extension_plan/range_manipulate.rs @@ -30,8 +30,8 @@ use datafusion::logical_expr::{EmptyRelation, Expr, LogicalPlan, UserDefinedLogi use datafusion::physical_expr::PhysicalSortExpr; use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet}; use datafusion::physical_plan::{ - DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, - Statistics, + DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, + SendableRecordBatchStream, Statistics, }; use datafusion::sql::TableReference; use futures::{Stream, StreamExt}; @@ -321,18 +321,6 @@ impl ExecutionPlan for RangeManipulateExec { })) } - fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match t { - DisplayFormatType::Default => { - write!( - f, - "PromRangeManipulateExec: req range=[{}..{}], interval=[{}], eval range=[{}], time index=[{}]", - self.start, self.end, self.interval, self.range, self.time_index_column - ) - } - } - } - fn metrics(&self) -> Option { Some(self.metric.clone_inner()) } @@ -357,6 +345,20 @@ impl ExecutionPlan for RangeManipulateExec { } } +impl DisplayAs for RangeManipulateExec { + fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match t { + DisplayFormatType::Default | DisplayFormatType::Verbose => { + write!( + f, + "PromRangeManipulateExec: req range=[{}..{}], interval=[{}], eval range=[{}], time index=[{}]", + self.start, self.end, self.interval, self.range, self.time_index_column + ) + } + } + } +} + pub struct RangeManipulateStream { start: Millisecond, end: Millisecond, @@ -490,7 +492,6 @@ mod test { ArrowPrimitiveType, DataType, Field, Int64Type, Schema, TimestampMillisecondType, }; use datafusion::common::ToDFSchema; - use datafusion::from_slice::FromSlice; use datafusion::physical_plan::memory::MemoryExec; use datafusion::prelude::SessionContext; use datatypes::arrow::array::TimestampMillisecondArray; @@ -506,13 +507,13 @@ mod test { Field::new("value_2", DataType::Float64, true), Field::new("path", DataType::Utf8, true), ])); - let timestamp_column = Arc::new(TimestampMillisecondArray::from_slice([ + let timestamp_column = Arc::new(TimestampMillisecondArray::from(vec![ 0, 30_000, 60_000, 90_000, 120_000, // every 30s 180_000, 240_000, // every 60s 241_000, 271_000, 291_000, // others ])) as _; - let field_column: ArrayRef = Arc::new(Float64Array::from_slice([1.0; 10])) as _; - let path_column = Arc::new(StringArray::from_slice(["foo"; 10])) as _; + let field_column: ArrayRef = Arc::new(Float64Array::from(vec![1.0; 10])) as _; + let path_column = Arc::new(StringArray::from(vec!["foo"; 10])) as _; let data = RecordBatch::try_new( schema.clone(), vec![ diff --git a/src/promql/src/extension_plan/series_divide.rs b/src/promql/src/extension_plan/series_divide.rs index 064fb824bd..502d08ce0b 100644 --- a/src/promql/src/extension_plan/series_divide.rs +++ b/src/promql/src/extension_plan/series_divide.rs @@ -27,7 +27,7 @@ use datafusion::logical_expr::{EmptyRelation, Expr, LogicalPlan, UserDefinedLogi use datafusion::physical_expr::PhysicalSortExpr; use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet}; use datafusion::physical_plan::{ - DisplayFormatType, Distribution, ExecutionPlan, Partitioning, RecordBatchStream, + DisplayAs, DisplayFormatType, Distribution, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, Statistics, }; use datatypes::arrow::compute; @@ -190,14 +190,6 @@ impl ExecutionPlan for SeriesDivideExec { })) } - fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match t { - DisplayFormatType::Default => { - write!(f, "PromSeriesDivideExec: tags={:?}", self.tag_columns) - } - } - } - fn metrics(&self) -> Option { Some(self.metric.clone_inner()) } @@ -213,6 +205,16 @@ impl ExecutionPlan for SeriesDivideExec { } } +impl DisplayAs for SeriesDivideExec { + fn fmt_as(&self, t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match t { + DisplayFormatType::Default | DisplayFormatType::Verbose => { + write!(f, "PromSeriesDivideExec: tags={:?}", self.tag_columns) + } + } + } +} + /// Assume the input stream is ordered on the tag columns. pub struct SeriesDivideStream { tag_indices: Vec, @@ -312,7 +314,6 @@ impl SeriesDivideStream { #[cfg(test)] mod test { use datafusion::arrow::datatypes::{DataType, Field, Schema}; - use datafusion::from_slice::FromSlice; use datafusion::physical_plan::memory::MemoryExec; use datafusion::prelude::SessionContext; @@ -324,20 +325,20 @@ mod test { Field::new("path", DataType::Utf8, true), ])); - let path_column_1 = Arc::new(StringArray::from_slice([ + let path_column_1 = Arc::new(StringArray::from(vec![ "foo", "foo", "foo", "bar", "bar", "bar", "bar", "bar", "bar", "bla", "bla", "bla", ])) as _; - let host_column_1 = Arc::new(StringArray::from_slice([ + let host_column_1 = Arc::new(StringArray::from(vec![ "000", "000", "001", "002", "002", "002", "002", "002", "003", "005", "005", "005", ])) as _; - let path_column_2 = Arc::new(StringArray::from_slice(["bla", "bla", "bla"])) as _; - let host_column_2 = Arc::new(StringArray::from_slice(["005", "005", "005"])) as _; + let path_column_2 = Arc::new(StringArray::from(vec!["bla", "bla", "bla"])) as _; + let host_column_2 = Arc::new(StringArray::from(vec!["005", "005", "005"])) as _; - let path_column_3 = Arc::new(StringArray::from_slice([ + let path_column_3 = Arc::new(StringArray::from(vec![ "bla", "🥺", "🥺", "🥺", "🥺", "🥺", "🫠", "🫠", ])) as _; - let host_column_3 = Arc::new(StringArray::from_slice([ + let host_column_3 = Arc::new(StringArray::from(vec![ "005", "001", "001", "001", "001", "001", "001", "001", ])) as _; diff --git a/src/promql/src/planner.rs b/src/promql/src/planner.rs index 28318b66df..667f03af49 100644 --- a/src/promql/src/planner.rs +++ b/src/promql/src/planner.rs @@ -21,7 +21,7 @@ use async_recursion::async_recursion; use catalog::table_source::DfTableSourceProvider; use datafusion::common::{DFSchemaRef, OwnedTableReference, Result as DfResult}; use datafusion::datasource::DefaultTableSource; -use datafusion::logical_expr::expr::{AggregateFunction, ScalarFunction, ScalarUDF}; +use datafusion::logical_expr::expr::{AggregateFunction, Alias, ScalarFunction, ScalarUDF}; use datafusion::logical_expr::expr_rewriter::normalize_cols; use datafusion::logical_expr::{ AggregateFunction as AggregateFunctionEnum, BinaryExpr, BuiltinScalarFunction, Cast, Extension, @@ -44,9 +44,10 @@ use table::table::adapter::DfTableProviderAdapter; use crate::error::{ CatalogSnafu, ColumnNotFoundSnafu, DataFusionPlanningSnafu, ExpectExprSnafu, - ExpectRangeSelectorSnafu, MultipleVectorSnafu, Result, TableNameNotFoundSnafu, - TimeIndexNotFoundSnafu, UnexpectedPlanExprSnafu, UnexpectedTokenSnafu, UnknownTableSnafu, - UnsupportedExprSnafu, ValueNotFoundSnafu, ZeroRangeSelectorSnafu, + ExpectRangeSelectorSnafu, MultipleMetricMatchersSnafu, MultipleVectorSnafu, + NoMetricMatcherSnafu, Result, TableNameNotFoundSnafu, TimeIndexNotFoundSnafu, + UnexpectedPlanExprSnafu, UnexpectedTokenSnafu, UnknownTableSnafu, UnsupportedExprSnafu, + ValueNotFoundSnafu, ZeroRangeSelectorSnafu, }; use crate::extension_plan::{ build_special_time_expr, EmptyMetric, InstantManipulate, Millisecond, RangeManipulate, @@ -338,12 +339,12 @@ impl PromPlanner { }) } PromExpr::VectorSelector(VectorSelector { - name: _, + name, offset, matchers, at: _, }) => { - let matchers = self.preprocess_label_matchers(matchers)?; + let matchers = self.preprocess_label_matchers(matchers, name)?; self.setup_context().await?; let normalize = self .selector_to_series_normalize_plan(offset, matchers, false) @@ -364,14 +365,14 @@ impl PromPlanner { node: Arc::new(manipulate), }) } - PromExpr::MatrixSelector(MatrixSelector { - vector_selector, - range, - }) => { + PromExpr::MatrixSelector(MatrixSelector { vs, range }) => { let VectorSelector { - offset, matchers, .. - } = vector_selector; - let matchers = self.preprocess_label_matchers(matchers)?; + name, + offset, + matchers, + .. + } = vs; + let matchers = self.preprocess_label_matchers(matchers, name)?; self.setup_context().await?; ensure!(!range.is_zero(), ZeroRangeSelectorSnafu); @@ -471,13 +472,35 @@ impl PromPlanner { /// Extract metric name from `__name__` matcher and set it into [PromPlannerContext]. /// Returns a new [Matchers] that doesn't contains metric name matcher. - fn preprocess_label_matchers(&mut self, label_matchers: &Matchers) -> Result { + /// + /// Name rule: + /// - if `name` is some, then the matchers MUST NOT contains `__name__` matcher. + /// - if `name` is none, then the matchers MAY contains NONE OR MULTIPLE `__name__` matchers. + fn preprocess_label_matchers( + &mut self, + label_matchers: &Matchers, + name: &Option, + ) -> Result { + let metric_name; + if let Some(name) = name.clone() { + metric_name = Some(name); + ensure!( + label_matchers.find_matcher(METRIC_NAME).is_none(), + MultipleMetricMatchersSnafu + ); + } else { + metric_name = Some( + label_matchers + .find_matcher(METRIC_NAME) + .context(NoMetricMatcherSnafu)?, + ); + } + self.ctx.table_name = metric_name; + let mut matchers = HashSet::new(); for matcher in &label_matchers.matchers { // TODO(ruihang): support other metric match ops - if matcher.name == METRIC_NAME && matches!(matcher.op, MatchOp::Equal) { - self.ctx.table_name = Some(matcher.value.clone()); - } else if matcher.name == FIELD_COLUMN_MATCHER { + if matcher.name == FIELD_COLUMN_MATCHER { self.ctx .field_column_matcher .get_or_insert_default() @@ -486,6 +509,7 @@ impl PromPlanner { let _ = matchers.insert(matcher.clone()); } } + let matchers = matchers.into_iter().collect(); Ok(Matchers { matchers }) } @@ -640,8 +664,8 @@ impl PromPlanner { ) -> Result> { match modifier { LabelModifier::Include(labels) => { - let mut exprs = Vec::with_capacity(labels.len()); - for label in labels { + let mut exprs = Vec::with_capacity(labels.labels.len()); + for label in &labels.labels { // nonexistence label will be ignored if let Ok(field) = input_schema.field_with_unqualified_name(label) { exprs.push(DfExpr::Column(Column::from(field.name()))); @@ -649,7 +673,7 @@ impl PromPlanner { } // change the tag columns in context - self.ctx.tag_columns = labels.iter().cloned().collect(); + self.ctx.tag_columns = labels.labels.clone(); // add timestamp column exprs.push(self.create_time_index_column_expr()?); @@ -665,7 +689,7 @@ impl PromPlanner { // remove "without"-ed fields // nonexistence label will be ignored - for label in labels { + for label in &labels.labels { let _ = all_fields.remove(label); } @@ -1250,7 +1274,7 @@ impl PromPlanner { let field_columns_iter = result_field_columns .into_iter() .zip(self.ctx.field_columns.iter()) - .map(|(expr, name)| Ok(DfExpr::Alias(Box::new(expr), name.to_string()))); + .map(|(expr, name)| Ok(DfExpr::Alias(Alias::new(expr, name.to_string())))); // chain non-value columns (unchanged) and value columns (applied computation then alias) let project_fields = non_field_columns_iter @@ -1315,6 +1339,7 @@ mod test { use common_catalog::consts::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME}; use datatypes::prelude::ConcreteDataType; use datatypes::schema::{ColumnSchema, Schema}; + use promql_parser::label::Labels; use promql_parser::parser; use session::context::QueryContext; use table::metadata::{TableInfoBuilder, TableMetaBuilder}; @@ -1615,7 +1640,7 @@ mod test { let plan = PromPlanner::stmt_to_plan(table_provider, eval_stmt.clone()) .await .unwrap(); - let expected_no_without = String::from( + let expected_no_without = String::from( "Sort: some_metric.tag_1 ASC NULLS LAST, some_metric.timestamp ASC NULLS LAST [tag_1:Utf8, timestamp:Timestamp(Millisecond, None), TEMPLATE(some_metric.field_0):Float64;N, TEMPLATE(some_metric.field_1):Float64;N]\ \n Aggregate: groupBy=[[some_metric.tag_1, some_metric.timestamp]], aggr=[[TEMPLATE(some_metric.field_0), TEMPLATE(some_metric.field_1)]] [tag_1:Utf8, timestamp:Timestamp(Millisecond, None), TEMPLATE(some_metric.field_0):Float64;N, TEMPLATE(some_metric.field_1):Float64;N]\ \n PromInstantManipulate: range=[0..100000000], lookback=[1000], interval=[5000], time index=[timestamp] [tag_0:Utf8, tag_1:Utf8, timestamp:Timestamp(Millisecond, None), field_0:Float64;N, field_1:Float64;N]\ @@ -1632,15 +1657,15 @@ mod test { // test group without if let PromExpr::Aggregate(AggregateExpr { modifier, .. }) = &mut eval_stmt.expr { - *modifier = Some(LabelModifier::Exclude( - vec![String::from("tag_1")].into_iter().collect(), - )); + *modifier = Some(LabelModifier::Exclude(Labels { + labels: vec![String::from("tag_1")].into_iter().collect(), + })); } let table_provider = build_test_table_provider("some_metric".to_string(), 2, 2).await; let plan = PromPlanner::stmt_to_plan(table_provider, eval_stmt) .await .unwrap(); - let expected_without = String::from( + let expected_without = String::from( "Sort: some_metric.tag_0 ASC NULLS LAST, some_metric.timestamp ASC NULLS LAST [tag_0:Utf8, timestamp:Timestamp(Millisecond, None), TEMPLATE(some_metric.field_0):Float64;N, TEMPLATE(some_metric.field_1):Float64;N]\ \n Aggregate: groupBy=[[some_metric.tag_0, some_metric.timestamp]], aggr=[[TEMPLATE(some_metric.field_0), TEMPLATE(some_metric.field_1)]] [tag_0:Utf8, timestamp:Timestamp(Millisecond, None), TEMPLATE(some_metric.field_0):Float64;N, TEMPLATE(some_metric.field_1):Float64;N]\ \n PromInstantManipulate: range=[0..100000000], lookback=[1000], interval=[5000], time index=[timestamp] [tag_0:Utf8, tag_1:Utf8, timestamp:Timestamp(Millisecond, None), field_0:Float64;N, field_1:Float64;N]\ diff --git a/src/query/src/datafusion/planner.rs b/src/query/src/datafusion/planner.rs index 7b6d4d627d..dfa185543c 100644 --- a/src/query/src/datafusion/planner.rs +++ b/src/query/src/datafusion/planner.rs @@ -27,7 +27,7 @@ use datafusion::physical_plan::udf::ScalarUDF; use datafusion::sql::planner::ContextProvider; use datafusion_common::config::ConfigOptions; use datafusion_common::{DataFusionError, OwnedTableReference}; -use datafusion_expr::TableSource; +use datafusion_expr::{TableSource, WindowUDF}; use datafusion_physical_expr::var_provider::{is_system_variables, VarType}; use datafusion_sql::parser::Statement as DfStatement; use session::context::QueryContextRef; @@ -115,6 +115,10 @@ impl ContextProvider for DfContextProviderAdapter { }) } + fn get_window_meta(&self, _name: &str) -> Option> { + None + } + fn get_variable_type(&self, variable_names: &[String]) -> Option { if variable_names.is_empty() { return None; diff --git a/src/query/src/dist_plan/commutativity.rs b/src/query/src/dist_plan/commutativity.rs index f7a1d52418..3c6b004a48 100644 --- a/src/query/src/dist_plan/commutativity.rs +++ b/src/query/src/dist_plan/commutativity.rs @@ -118,7 +118,6 @@ impl Categorizer { | Expr::Exists(_) => Commutativity::Commutative, Expr::Like(_) - | Expr::ILike(_) | Expr::SimilarTo(_) | Expr::IsUnknown(_) | Expr::IsNotUnknown(_) @@ -136,7 +135,7 @@ impl Categorizer { | Expr::ScalarSubquery(_) | Expr::Wildcard => Commutativity::Unimplemented, - Expr::Alias(_, _) + Expr::Alias(_) | Expr::QualifiedWildcard { .. } | Expr::GroupingSet(_) | Expr::Placeholder(_) diff --git a/src/query/src/dist_plan/merge_scan.rs b/src/query/src/dist_plan/merge_scan.rs index 236e32129b..9dedc9177d 100644 --- a/src/query/src/dist_plan/merge_scan.rs +++ b/src/query/src/dist_plan/merge_scan.rs @@ -30,7 +30,7 @@ use common_recordbatch::error::ExternalSnafu; use common_recordbatch::{ DfSendableRecordBatchStream, RecordBatch, RecordBatchStreamAdaptor, SendableRecordBatchStream, }; -use datafusion::physical_plan::{DisplayFormatType, ExecutionPlan, Partitioning}; +use datafusion::physical_plan::{DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning}; use datafusion_common::{DataFusionError, Result, Statistics}; use datafusion_expr::{Extension, LogicalPlan, UserDefinedLogicalNodeCore}; use datafusion_physical_expr::PhysicalSortExpr; @@ -243,7 +243,9 @@ impl ExecutionPlan for MergeScanExec { fn statistics(&self) -> Statistics { Statistics::default() } +} +impl DisplayAs for MergeScanExec { fn fmt_as(&self, _t: DisplayFormatType, f: &mut std::fmt::Formatter) -> std::fmt::Result { write!(f, "MergeScanExec: peers=[")?; for peer in self.peers.iter() { diff --git a/src/query/src/dist_plan/planner.rs b/src/query/src/dist_plan/planner.rs index 898bca3514..b131cdd808 100644 --- a/src/query/src/dist_plan/planner.rs +++ b/src/query/src/dist_plan/planner.rs @@ -26,8 +26,8 @@ use common_meta::table_name::TableName; use datafusion::common::Result; use datafusion::datasource::DefaultTableSource; use datafusion::execution::context::SessionState; -use datafusion::physical_plan::planner::ExtensionPlanner; -use datafusion::physical_plan::{ExecutionPlan, PhysicalPlanner}; +use datafusion::physical_plan::ExecutionPlan; +use datafusion::physical_planner::{ExtensionPlanner, PhysicalPlanner}; use datafusion_common::tree_node::{Transformed, TreeNode, TreeNodeVisitor, VisitRecursion}; use datafusion_common::{DataFusionError, TableReference}; use datafusion_expr::{LogicalPlan, UserDefinedLogicalNode}; diff --git a/src/query/src/parser.rs b/src/query/src/parser.rs index a32c4ca270..15d7ad6ff0 100644 --- a/src/query/src/parser.rs +++ b/src/query/src/parser.rs @@ -337,11 +337,7 @@ mod test { expr: VectorSelector(VectorSelector { \ name: Some(\"http_request\"), \ matchers: Matchers { \ - matchers: {Matcher { \ - op: Equal, \ - name: \"__name__\", \ - value: \"http_request\" \ - }} }, \ + matchers: [] }, \ offset: None, at: None }), \ start: SystemTime { tv_sec: 1644772440, tv_nsec: 0 }, \ end: SystemTime { tv_sec: 1676308440, tv_nsec: 0 }, \ diff --git a/src/query/src/query_engine/context.rs b/src/query/src/query_engine/context.rs index d9f3bc5d30..79c6ec7f06 100644 --- a/src/query/src/query_engine/context.rs +++ b/src/query/src/query_engine/context.rs @@ -47,6 +47,7 @@ impl QueryEngineContext { state.config().clone(), state.scalar_functions().clone(), state.aggregate_functions().clone(), + state.window_functions().clone(), state.runtime_env().clone(), )) } diff --git a/src/query/src/query_engine/state.rs b/src/query/src/query_engine/state.rs index e20ed083e4..8552f42b9b 100644 --- a/src/query/src/query_engine/state.rs +++ b/src/query/src/query_engine/state.rs @@ -23,7 +23,7 @@ use common_base::Plugins; use common_function::scalars::aggregate::AggregateFunctionMetaRef; use common_query::physical_plan::SessionContext; use common_query::prelude::ScalarUdf; -use datafusion::catalog::catalog::MemoryCatalogList; +use datafusion::catalog::MemoryCatalogList; use datafusion::dataframe::DataFrame; use datafusion::error::Result as DfResult; use datafusion::execution::context::{QueryPlanner, SessionConfig, SessionState}; @@ -32,8 +32,8 @@ use datafusion::physical_optimizer::dist_enforcement::EnforceDistribution; use datafusion::physical_optimizer::repartition::Repartition; use datafusion::physical_optimizer::sort_enforcement::EnforceSorting; use datafusion::physical_optimizer::PhysicalOptimizerRule; -use datafusion::physical_plan::planner::{DefaultPhysicalPlanner, ExtensionPlanner}; -use datafusion::physical_plan::{ExecutionPlan, PhysicalPlanner}; +use datafusion::physical_plan::ExecutionPlan; +use datafusion::physical_planner::{DefaultPhysicalPlanner, ExtensionPlanner, PhysicalPlanner}; use datafusion_expr::LogicalPlan as DfLogicalPlan; use datafusion_optimizer::analyzer::Analyzer; use datafusion_optimizer::optimizer::Optimizer; diff --git a/src/script/Cargo.toml b/src/script/Cargo.toml index b870378dce..730647da37 100644 --- a/src/script/Cargo.toml +++ b/src/script/Cargo.toml @@ -61,7 +61,7 @@ rustpython-vm = { git = "https://github.com/discord9/RustPython", optional = tru "default", "codegen", ] } -pyo3 = { version = "0.18", optional = true, features = ["abi3", "abi3-py37"] } +pyo3 = { version = "0.19", optional = true, features = ["abi3", "abi3-py37"] } session = { path = "../session" } snafu = { version = "0.7", features = ["backtraces"] } sql = { path = "../sql" } diff --git a/src/script/src/python/pyo3/copr_impl.rs b/src/script/src/python/pyo3/copr_impl.rs index fe9c91d60d..2e1d95f48f 100644 --- a/src/script/src/python/pyo3/copr_impl.rs +++ b/src/script/src/python/pyo3/copr_impl.rs @@ -178,24 +178,24 @@ coprocessor = copr /// 4. a single constant, will be expanded to a PyVector of length of `col_len` fn py_any_to_vec(obj: &PyAny, col_len: usize) -> PyResult> { let is_literal = |obj: &PyAny| -> PyResult { - Ok(obj.is_instance_of::()? - || obj.is_instance_of::()? - || obj.is_instance_of::()? - || obj.is_instance_of::()?) + Ok(obj.is_instance_of::() + || obj.is_instance_of::() + || obj.is_instance_of::() + || obj.is_instance_of::()) }; - let check = if obj.is_instance_of::()? { + let check = if obj.is_instance_of::() { let tuple = obj.downcast::()?; (0..tuple.len()) .map(|idx| { tuple.get_item(idx).map(|i| -> PyResult { - Ok(i.is_instance_of::()? - || i.is_instance_of::()? + Ok(i.is_instance_of::() + || i.is_instance_of::() || is_literal(i)?) }) }) .all(|i| matches!(i, Ok(Ok(true)))) } else { - obj.is_instance_of::()? || obj.is_instance_of::()? || is_literal(obj)? + obj.is_instance_of::() || obj.is_instance_of::() || is_literal(obj)? }; if !check { return Err(PyRuntimeError::new_err(format!( @@ -241,13 +241,13 @@ fn py_list_to_vec(list: &PyList) -> PyResult { let mut expected_type = None; let mut v = Vec::with_capacity(list.len()); for (idx, elem) in list.iter().enumerate() { - let (elem_ty, con_type) = if elem.is_instance_of::()? { + let (elem_ty, con_type) = if elem.is_instance_of::() { (ExpectType::Bool, ConcreteDataType::boolean_datatype()) - } else if elem.is_instance_of::()? { + } else if elem.is_instance_of::() { (ExpectType::Int, ConcreteDataType::int64_datatype()) - } else if elem.is_instance_of::()? { + } else if elem.is_instance_of::() { (ExpectType::Float, ConcreteDataType::float64_datatype()) - } else if elem.is_instance_of::()? { + } else if elem.is_instance_of::() { (ExpectType::String, ConcreteDataType::string_datatype()) } else { return Err(PyRuntimeError::new_err(format!( diff --git a/src/script/src/python/pyo3/dataframe_impl.rs b/src/script/src/python/pyo3/dataframe_impl.rs index 7b1adeb239..80ce2e4ab2 100644 --- a/src/script/src/python/pyo3/dataframe_impl.rs +++ b/src/script/src/python/pyo3/dataframe_impl.rs @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +use std::ops::Not; + use arrow::compute; use common_recordbatch::{DfRecordBatch, RecordBatch}; use datafusion::dataframe::DataFrame as DfDataFrame; diff --git a/src/script/src/python/pyo3/utils.rs b/src/script/src/python/pyo3/utils.rs index a69e6aa489..7708a90f98 100644 --- a/src/script/src/python/pyo3/utils.rs +++ b/src/script/src/python/pyo3/utils.rs @@ -246,8 +246,8 @@ pub fn try_into_columnar_value(py: Python<'_>, obj: PyObject) -> PyResult(py) { Ok(ColumnarValue::Array(v.to_arrow_array())) - } else if obj.as_ref(py).is_instance_of::()? - || obj.as_ref(py).is_instance_of::()? + } else if obj.as_ref(py).is_instance_of::() + || obj.as_ref(py).is_instance_of::() { let ret: Vec = { if let Ok(val) = obj.downcast::(py) { diff --git a/src/script/src/python/pyo3/vector_impl.rs b/src/script/src/python/pyo3/vector_impl.rs index 21888dc7c7..86feefc111 100644 --- a/src/script/src/python/pyo3/vector_impl.rs +++ b/src/script/src/python/pyo3/vector_impl.rs @@ -13,7 +13,7 @@ // limitations under the License. use arrow::array::{make_array, ArrayData}; -use arrow::pyarrow::PyArrowConvert; +use arrow::pyarrow::{FromPyArrow, ToPyArrow}; use datafusion::arrow::array::BooleanArray; use datafusion::arrow::compute; use datafusion::arrow::compute::kernels::{arithmetic, comparison}; @@ -33,10 +33,10 @@ use crate::python::pyo3::utils::{pyo3_obj_try_to_typed_val, to_py_err}; macro_rules! get_con_type { ($obj:ident, $($pyty:ident => $con_ty:ident),*$(,)?) => { $( - if $obj.is_instance_of::<$pyty>()?{ + if $obj.is_instance_of::<$pyty>() { Ok(ConcreteDataType::$con_ty()) } - )else* else{ + ) else* else{ Err(PyValueError::new_err("Unsupported pyobject type: {obj:?}")) } }; diff --git a/src/script/src/python/rspython/dataframe_impl.rs b/src/script/src/python/rspython/dataframe_impl.rs index 88d210c436..48a04a99cc 100644 --- a/src/script/src/python/rspython/dataframe_impl.rs +++ b/src/script/src/python/rspython/dataframe_impl.rs @@ -374,7 +374,7 @@ pub(crate) mod data_frame { #[pymethod(magic)] fn invert(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult { let zelf = obj_cast_to::(zelf, vm)?; - Ok(zelf.inner.clone().not().into()) + Ok((!zelf.inner.clone()).into()) } /// sort ascending&nulls_first diff --git a/src/servers/src/prometheus.rs b/src/servers/src/prometheus.rs index 94121eb6ee..c2e42aa048 100644 --- a/src/servers/src/prometheus.rs +++ b/src/servers/src/prometheus.rs @@ -752,14 +752,12 @@ fn promql_expr_to_metric_name(expr: &PromqlExpr) -> Option { PromqlExpr::NumberLiteral(_) => Some(String::new()), PromqlExpr::StringLiteral(_) => Some(String::new()), PromqlExpr::Extension(_) => None, - PromqlExpr::VectorSelector(VectorSelector { matchers, .. }) => { - matchers.find_matchers(METRIC_NAME).pop().cloned() + PromqlExpr::VectorSelector(VectorSelector { name, matchers, .. }) => { + name.clone().or(matchers.find_matcher(METRIC_NAME)) } - PromqlExpr::MatrixSelector(MatrixSelector { - vector_selector, .. - }) => { - let VectorSelector { matchers, .. } = vector_selector; - matchers.find_matchers(METRIC_NAME).pop().cloned() + PromqlExpr::MatrixSelector(MatrixSelector { vs, .. }) => { + let VectorSelector { name, matchers, .. } = vs; + name.clone().or(matchers.find_matcher(METRIC_NAME)) } PromqlExpr::Call(Call { args, .. }) => { args.args.iter().find_map(|e| promql_expr_to_metric_name(e)) diff --git a/src/table/src/table/adapter.rs b/src/table/src/table/adapter.rs index 7c09940348..2d82e38dd3 100644 --- a/src/table/src/table/adapter.rs +++ b/src/table/src/table/adapter.rs @@ -20,11 +20,11 @@ use common_query::physical_plan::DfPhysicalPlanAdapter; use common_query::DfPhysicalPlan; use common_recordbatch::OrderOption; use datafusion::arrow::datatypes::SchemaRef as DfSchemaRef; -use datafusion::datasource::datasource::TableProviderFilterPushDown as DfTableProviderFilterPushDown; use datafusion::datasource::{TableProvider, TableType as DfTableType}; use datafusion::error::Result as DfResult; use datafusion::execution::context::SessionState; use datafusion_expr::expr::Expr as DfExpr; +use datafusion_expr::TableProviderFilterPushDown as DfTableProviderFilterPushDown; use datafusion_physical_expr::expressions::Column; use datafusion_physical_expr::PhysicalSortExpr; use store_api::storage::ScanRequest; diff --git a/src/table/src/table/numbers.rs b/src/table/src/table/numbers.rs index 34aedf5d76..9f71e381e5 100644 --- a/src/table/src/table/numbers.rs +++ b/src/table/src/table/numbers.rs @@ -20,7 +20,6 @@ use common_catalog::consts::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, NUMBERS_ use common_recordbatch::error::Result as RecordBatchResult; use common_recordbatch::{RecordBatch, RecordBatchStream, SendableRecordBatchStream}; use datafusion::arrow::record_batch::RecordBatch as DfRecordBatch; -use datafusion_common::from_slice::FromSlice; use datatypes::arrow::array::UInt32Array; use datatypes::data_type::ConcreteDataType; use datatypes::schema::{ColumnSchema, SchemaBuilder, SchemaRef}; @@ -147,7 +146,7 @@ impl Stream for NumbersStream { let numbers: Vec = (0..self.limit).collect(); let batch = DfRecordBatch::try_new( self.schema.arrow_schema().clone(), - vec![Arc::new(UInt32Array::from_slice(numbers))], + vec![Arc::new(UInt32Array::from(numbers))], ) .unwrap(); diff --git a/src/table/src/table/scan.rs b/src/table/src/table/scan.rs index cdc2d17b79..9bb5696746 100644 --- a/src/table/src/table/scan.rs +++ b/src/table/src/table/scan.rs @@ -42,7 +42,7 @@ impl Debug for StreamScanAdapter { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { f.debug_struct("StreamScanAdapter") .field("stream", &"") - .field("schema", &self.schema) + .field("schema", &self.schema.arrow_schema().fields) .finish() } } diff --git a/tests/cases/distributed/explain/order_by.result b/tests/cases/distributed/explain/order_by.result index b3413f906d..73e867c131 100644 --- a/tests/cases/distributed/explain/order_by.result +++ b/tests/cases/distributed/explain/order_by.result @@ -20,7 +20,7 @@ EXPLAIN SELECT DISTINCT i%2 FROM integers ORDER BY 1; |_|_TableScan: integers projection=[i]_| | physical_plan | SortPreservingMergeExec: [integers.i % Int64(2)@0 ASC NULLS LAST]_| |_|_SortExec: expr=[integers.i % Int64(2)@0 ASC NULLS LAST]_| -|_|_AggregateExec: mode=FinalPartitioned, gby=[integers.i % Int64(2)@0 as integers.i % Int64(2)], aggr=[]_| +|_|_AggregateExec: mode=FinalPartitioned, gby=[integers.i % Int64(2)@0 as integers.i % Int64(2)], aggr=[] | |_|_CoalesceBatchesExec: target_batch_size=8192_| |_|_RepartitionExec: partitioning=REDACTED |_|_AggregateExec: mode=Partial, gby=[integers.i % Int64(2)@0 as integers.i % Int64(2)], aggr=[]_| diff --git a/tests/cases/distributed/optimizer/filter_push_down.result b/tests/cases/distributed/optimizer/filter_push_down.result index 427b8c1a54..9bb97dc61d 100644 --- a/tests/cases/distributed/optimizer/filter_push_down.result +++ b/tests/cases/distributed/optimizer/filter_push_down.result @@ -56,7 +56,7 @@ SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i> SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NOT NULL ORDER BY 2; -Error: 1003(Internal), This feature is not implemented: Unsupported expression: greptime.public.integers.i IS NOT NULL +Error: 1003(Internal), This feature is not implemented: Unsupported expression: IsNotNull(Column(Column { relation: Some(Full { catalog: "greptime", schema: "public", table: "integers" }), name: "i" })) SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i>1 ORDER BY 2; @@ -65,7 +65,7 @@ SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i> SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE CASE WHEN i2.i IS NULL THEN False ELSE True END ORDER BY 2; -Error: 1003(Internal), This feature is not implemented: Unsupported expression: greptime.public.integers.i IS NOT NULL +Error: 1003(Internal), This feature is not implemented: Unsupported expression: IsNotNull(Column(Column { relation: Some(Full { catalog: "greptime", schema: "public", table: "integers" }), name: "i" })) SELECT DISTINCT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NULL ORDER BY 1; diff --git a/tests/cases/distributed/optimizer/order_by.result b/tests/cases/distributed/optimizer/order_by.result index 3d130d366f..3d4a03e89b 100644 --- a/tests/cases/distributed/optimizer/order_by.result +++ b/tests/cases/distributed/optimizer/order_by.result @@ -1,67 +1,67 @@ explain select * from numbers; -+---------------+------------------------------------------+ -| plan_type | plan | -+---------------+------------------------------------------+ -| logical_plan | MergeScan [is_placeholder=false] | -| | TableScan: numbers projection=[number] | -| physical_plan | ExecutionPlan(PlaceHolder) | -| | | -+---------------+------------------------------------------+ ++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | MergeScan [is_placeholder=false] | +| | TableScan: numbers projection=[number] | +| physical_plan | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number desc; -+---------------+--------------------------------------------+ -| plan_type | plan | -+---------------+--------------------------------------------+ -| logical_plan | Sort: numbers.number DESC NULLS FIRST | -| | MergeScan [is_placeholder=false] | -| | TableScan: numbers projection=[number] | -| physical_plan | SortExec: expr=[number@0 DESC] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+--------------------------------------------+ ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Sort: numbers.number DESC NULLS FIRST | +| | MergeScan [is_placeholder=false] | +| | TableScan: numbers projection=[number] | +| physical_plan | SortExec: expr=[number@0 DESC] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number asc; -+---------------+--------------------------------------------+ -| plan_type | plan | -+---------------+--------------------------------------------+ -| logical_plan | Sort: numbers.number ASC NULLS LAST | -| | MergeScan [is_placeholder=false] | -| | TableScan: numbers projection=[number] | -| physical_plan | SortExec: expr=[number@0 ASC NULLS LAST] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+--------------------------------------------+ ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Sort: numbers.number ASC NULLS LAST | +| | MergeScan [is_placeholder=false] | +| | TableScan: numbers projection=[number] | +| physical_plan | SortExec: expr=[number@0 ASC NULLS LAST] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number desc limit 10; -+---------------+---------------------------------------------------+ -| plan_type | plan | -+---------------+---------------------------------------------------+ -| logical_plan | Limit: skip=0, fetch=10 | -| | Sort: numbers.number DESC NULLS FIRST, fetch=10 | -| | MergeScan [is_placeholder=false] | -| | TableScan: numbers projection=[number] | -| physical_plan | GlobalLimitExec: skip=0, fetch=10 | -| | SortExec: fetch=10, expr=[number@0 DESC] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+---------------------------------------------------+ ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Limit: skip=0, fetch=10 | +| | Sort: numbers.number DESC NULLS FIRST, fetch=10 | +| | MergeScan [is_placeholder=false] | +| | TableScan: numbers projection=[number] | +| physical_plan | GlobalLimitExec: skip=0, fetch=10 | +| | SortExec: fetch=10, expr=[number@0 DESC] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number asc limit 10; -+---------------+------------------------------------------------------+ -| plan_type | plan | -+---------------+------------------------------------------------------+ -| logical_plan | Limit: skip=0, fetch=10 | -| | Sort: numbers.number ASC NULLS LAST, fetch=10 | -| | MergeScan [is_placeholder=false] | -| | TableScan: numbers projection=[number] | -| physical_plan | GlobalLimitExec: skip=0, fetch=10 | -| | SortExec: fetch=10, expr=[number@0 ASC NULLS LAST] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+------------------------------------------------------+ ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Limit: skip=0, fetch=10 | +| | Sort: numbers.number ASC NULLS LAST, fetch=10 | +| | MergeScan [is_placeholder=false] | +| | TableScan: numbers projection=[number] | +| physical_plan | GlobalLimitExec: skip=0, fetch=10 | +| | SortExec: fetch=10, expr=[number@0 ASC NULLS LAST] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/tests/cases/distributed/tql-explain-analyze/analyze.result b/tests/cases/distributed/tql-explain-analyze/analyze.result index 1cd0c5c988..c75c9b00f4 100644 --- a/tests/cases/distributed/tql-explain-analyze/analyze.result +++ b/tests/cases/distributed/tql-explain-analyze/analyze.result @@ -18,8 +18,7 @@ TQL ANALYZE (0, 10, '5s') test; +-+-+ | plan_type_| plan_| +-+-+ -| Plan with Metrics | CoalescePartitionsExec, REDACTED -|_|_PromInstantManipulateExec: range=[0..10000], lookback=[300000], interval=[5000], time index=[j], REDACTED +| Plan with Metrics | PromInstantManipulateExec: range=[0..10000], lookback=[300000], interval=[5000], time index=[j], REDACTED |_|_PromSeriesNormalizeExec: offset=[0], time index=[j], filter NaN: [false], REDACTED |_|_RepartitionExec: partitioning=REDACTED |_|_RepartitionExec: partitioning=REDACTED diff --git a/tests/cases/standalone/common/aggregate/distinct.result b/tests/cases/standalone/common/aggregate/distinct.result index 127c14284f..707c829568 100644 --- a/tests/cases/standalone/common/aggregate/distinct.result +++ b/tests/cases/standalone/common/aggregate/distinct.result @@ -64,7 +64,7 @@ SELECT DISTINCT MAX(b) FROM test GROUP BY a; SELECT DISTINCT CASE WHEN a > 11 THEN 11 ELSE a END FROM test; +-------------------------------------------------------------+ -| CASE WHEN test.a > Int64(11) THEN Int64(11) ELSE test.a END | +| CASE WHEN test.a > Int32(11) THEN Int64(11) ELSE test.a END | +-------------------------------------------------------------+ | 11 | +-------------------------------------------------------------+ diff --git a/tests/cases/standalone/cte/cte_in_cte.result b/tests/cases/standalone/cte/cte_in_cte.result index b20ba4b40c..4c22a14020 100644 --- a/tests/cases/standalone/cte/cte_in_cte.result +++ b/tests/cases/standalone/cte/cte_in_cte.result @@ -54,7 +54,11 @@ with cte1 as (Select i as j from a) select * from (with cte2 as (select max(j) a -- this feature is not implemented in datafusion with cte1 as (Select i as j from a) select * from cte1 where j = (with cte2 as (select max(j) as j from cte1) select j from cte2); -Error: 3001(EngineExecuteQuery), This feature is not implemented: Physical plan does not support logical expression () ++----+ +| j | ++----+ +| 42 | ++----+ -- Refer to same-named CTE in a subquery expression -- this feature is not implemented in datafusion diff --git a/tests/cases/standalone/optimizer/order_by.result b/tests/cases/standalone/optimizer/order_by.result index 87f57f31e7..f847696124 100644 --- a/tests/cases/standalone/optimizer/order_by.result +++ b/tests/cases/standalone/optimizer/order_by.result @@ -1,62 +1,62 @@ explain select * from numbers; -+---------------+----------------------------------------+ -| plan_type | plan | -+---------------+----------------------------------------+ -| logical_plan | TableScan: numbers projection=[number] | -| physical_plan | ExecutionPlan(PlaceHolder) | -| | | -+---------------+----------------------------------------+ ++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | TableScan: numbers projection=[number] | +| physical_plan | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number desc; -+---------------+------------------------------------------+ -| plan_type | plan | -+---------------+------------------------------------------+ -| logical_plan | Sort: numbers.number DESC NULLS FIRST | -| | TableScan: numbers projection=[number] | -| physical_plan | SortExec: expr=[number@0 DESC] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+------------------------------------------+ ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Sort: numbers.number DESC NULLS FIRST | +| | TableScan: numbers projection=[number] | +| physical_plan | SortExec: expr=[number@0 DESC] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number asc; -+---------------+------------------------------------------+ -| plan_type | plan | -+---------------+------------------------------------------+ -| logical_plan | Sort: numbers.number ASC NULLS LAST | -| | TableScan: numbers projection=[number] | -| physical_plan | SortExec: expr=[number@0 ASC NULLS LAST] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+------------------------------------------+ ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Sort: numbers.number ASC NULLS LAST | +| | TableScan: numbers projection=[number] | +| physical_plan | SortExec: expr=[number@0 ASC NULLS LAST] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number desc limit 10; -+---------------+---------------------------------------------------+ -| plan_type | plan | -+---------------+---------------------------------------------------+ -| logical_plan | Limit: skip=0, fetch=10 | -| | Sort: numbers.number DESC NULLS FIRST, fetch=10 | -| | TableScan: numbers projection=[number] | -| physical_plan | GlobalLimitExec: skip=0, fetch=10 | -| | SortExec: fetch=10, expr=[number@0 DESC] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+---------------------------------------------------+ ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Limit: skip=0, fetch=10 | +| | Sort: numbers.number DESC NULLS FIRST, fetch=10 | +| | TableScan: numbers projection=[number] | +| physical_plan | GlobalLimitExec: skip=0, fetch=10 | +| | SortExec: fetch=10, expr=[number@0 DESC] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ explain select * from numbers order by number asc limit 10; -+---------------+------------------------------------------------------+ -| plan_type | plan | -+---------------+------------------------------------------------------+ -| logical_plan | Limit: skip=0, fetch=10 | -| | Sort: numbers.number ASC NULLS LAST, fetch=10 | -| | TableScan: numbers projection=[number] | -| physical_plan | GlobalLimitExec: skip=0, fetch=10 | -| | SortExec: fetch=10, expr=[number@0 ASC NULLS LAST] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+------------------------------------------------------+ ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | Limit: skip=0, fetch=10 | +| | Sort: numbers.number ASC NULLS LAST, fetch=10 | +| | TableScan: numbers projection=[number] | +| physical_plan | GlobalLimitExec: skip=0, fetch=10 | +| | SortExec: fetch=10, expr=[number@0 ASC NULLS LAST] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "number", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/tests/cases/standalone/tql-explain-analyze/analyze.result b/tests/cases/standalone/tql-explain-analyze/analyze.result index db3dcb265d..38d7b58777 100644 --- a/tests/cases/standalone/tql-explain-analyze/analyze.result +++ b/tests/cases/standalone/tql-explain-analyze/analyze.result @@ -17,13 +17,12 @@ TQL ANALYZE (0, 10, '5s') test; +-+-+ | plan_type_| plan_| +-+-+ -| Plan with Metrics | CoalescePartitionsExec, REDACTED -|_|_PromInstantManipulateExec: range=[0..10000], lookback=[300000], interval=[5000], time index=[j], REDACTED +| Plan with Metrics | PromInstantManipulateExec: range=[0..10000], lookback=[300000], interval=[5000], time index=[j], REDACTED |_|_PromSeriesNormalizeExec: offset=[0], time index=[j], filter NaN: [false], REDACTED |_|_RepartitionExec: partitioning=REDACTED |_|_RepartitionExec: partitioning=REDACTED |_|_PromSeriesDivideExec: tags=["k"], REDACTED -|_|_ExecutionPlan(PlaceHolder), REDACTED +|_|_StreamScanAdapter { stream: "", schema: [Field { name: "i", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "j", data_type: Timestamp(Millisecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {"greptime:time_index": "true"} }, Field { name: "k", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }] }, REDACTED |_|_| +-+-+ diff --git a/tests/cases/standalone/tql-explain-analyze/explain.result b/tests/cases/standalone/tql-explain-analyze/explain.result index a9f501ff78..4c00bbeef1 100644 --- a/tests/cases/standalone/tql-explain-analyze/explain.result +++ b/tests/cases/standalone/tql-explain-analyze/explain.result @@ -11,21 +11,21 @@ Affected Rows: 3 -- SQLNESS REPLACE (RoundRobinBatch.*) REDACTED TQL EXPLAIN (0, 10, '5s') test; -+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ -| plan_type | plan | -+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ -| logical_plan | PromInstantManipulate: range=[0..0], lookback=[300000], interval=[300000], time index=[j] | -| | PromSeriesNormalize: offset=[0], time index=[j], filter NaN: [false] | -| | PromSeriesDivide: tags=["k"] | -| | Sort: test.k DESC NULLS LAST, test.j DESC NULLS LAST | -| | TableScan: test projection=[i, j, k], partial_filters=[j >= TimestampMillisecond(-300000, None), j <= TimestampMillisecond(300000, None)] | -| physical_plan | PromInstantManipulateExec: range=[0..0], lookback=[300000], interval=[300000], time index=[j] | -| | PromSeriesNormalizeExec: offset=[0], time index=[j], filter NaN: [false] | ++---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| plan_type | plan | ++---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| logical_plan | PromInstantManipulate: range=[0..0], lookback=[300000], interval=[300000], time index=[j] | +| | PromSeriesNormalize: offset=[0], time index=[j], filter NaN: [false] | +| | PromSeriesDivide: tags=["k"] | +| | Sort: test.k DESC NULLS LAST, test.j DESC NULLS LAST | +| | TableScan: test projection=[i, j, k], partial_filters=[j >= TimestampMillisecond(-300000, None), j <= TimestampMillisecond(300000, None)] | +| physical_plan | PromInstantManipulateExec: range=[0..0], lookback=[300000], interval=[300000], time index=[j] | +| | PromSeriesNormalizeExec: offset=[0], time index=[j], filter NaN: [false] | | | RepartitionExec: partitioning=REDACTED -| | PromSeriesDivideExec: tags=["k"] | -| | ExecutionPlan(PlaceHolder) | -| | | -+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| | PromSeriesDivideExec: tags=["k"] | +| | StreamScanAdapter { stream: "", schema: [Field { name: "i", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "j", data_type: Timestamp(Millisecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {"greptime:time_index": "true"} }, Field { name: "k", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }] } | +| | | ++---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ DROP TABLE test;