From bc54b735b5c3f8b03d40ce8ede7e26593f4e6700 Mon Sep 17 00:00:00 2001 From: Noa Date: Tue, 24 Oct 2023 19:19:29 -0500 Subject: [PATCH] Update/upgrade dependencies (#266) * Update and dedup some deps * Upgrade dependencies --- Cargo.lock | 1805 +++++++++-------- Cargo.toml | 40 +- crates/bench/Cargo.toml | 2 +- crates/bench/src/spacetime_raw.rs | 4 +- crates/bench/src/sqlite.rs | 4 +- crates/cli/src/subcommands/identity.rs | 8 +- crates/cli/src/subcommands/list.rs | 9 +- crates/cli/src/subcommands/server.rs | 8 +- crates/cli/src/subcommands/sql.rs | 93 +- crates/client-api/Cargo.toml | 6 +- crates/client-api/src/routes/subscribe.rs | 2 +- crates/client-api/src/routes/tracelog.rs | 4 +- crates/core/Cargo.toml | 3 +- crates/core/benches/odb_flavor_bench.rs | 10 +- crates/core/src/control_db/tests.rs | 6 +- crates/core/src/db/commit_log.rs | 4 +- crates/core/src/db/message_log.rs | 10 +- .../core/src/db/ostorage/hashmap_object_db.rs | 4 +- .../core/src/db/ostorage/rocks_object_db.rs | 4 +- crates/core/src/db/ostorage/sled_object_db.rs | 4 +- crates/core/src/db/relational_db.rs | 4 +- crates/core/src/sql/ast.rs | 43 +- crates/core/src/sql/execute.rs | 2 +- crates/sats/src/lib.rs | 38 + crates/sats/src/product_type.rs | 55 +- crates/sats/src/product_type_element.rs | 9 +- crates/sats/src/product_value.rs | 24 +- crates/sats/src/typespace.rs | 2 + crates/sqltest/Cargo.toml | 2 +- crates/sqltest/src/main.rs | 48 +- crates/sqltest/src/space.rs | 4 +- crates/sqltest/src/sqlite.rs | 4 +- crates/vm/Cargo.toml | 2 +- 33 files changed, 1219 insertions(+), 1048 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7f48e6d97ac..06d304fbc9f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,20 +4,11 @@ version = 3 [[package]] name = "addr2line" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.27.3", -] - -[[package]] -name = "addr2line" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" -dependencies = [ - "gimli 0.27.3", + "gimli 0.28.0", ] [[package]] @@ -51,18 +42,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56fc6cf8dc8c4158eed8649f9b8b0ea1518eb62b544fe9490d66fa0b349eafe9" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "android-tzdata" @@ -87,30 +78,29 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.3.2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] @@ -126,9 +116,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -136,9 +126,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" dependencies = [ "backtrace", ] @@ -158,6 +148,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2e1373abdaa212b704512ec2bd8b26bd0b7d5c3f70117411a5d9a451383c859" + [[package]] name = "arrayvec" version = "0.7.4" @@ -166,24 +162,13 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", + "syn 2.0.38", ] [[package]] @@ -194,13 +179,12 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core", - "base64 0.21.2", "bitflags 1.3.2", "bytes", "futures-util", @@ -219,10 +203,8 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sha1", "sync_wrapper", "tokio", - "tokio-tungstenite 0.18.0", "tower", "tower-layer", "tower-service", @@ -249,16 +231,16 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ - "addr2line 0.20.0", + "addr2line", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.31.1", + "object", "rustc-demangle", ] @@ -270,9 +252,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "benchmarks-module" @@ -293,9 +275,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.64.0" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ "bitflags 1.3.2", "cexpr", @@ -303,12 +285,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", + "prettyplease", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] @@ -334,9 +317,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "bitmaps" @@ -415,9 +398,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byte-unit" @@ -453,21 +436,21 @@ dependencies = [ [[package]] name = "bytecount" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" +checksum = "ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "bytestring" @@ -492,27 +475,27 @@ dependencies = [ [[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.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.15.4" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ "camino", "cargo-platform", @@ -555,18 +538,17 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", - "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.48.5", ] [[package]] @@ -609,65 +591,43 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "bitflags 1.3.2", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "textwrap", -] - -[[package]] -name = "clap" -version = "4.3.10" +version = "4.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384e169cc618c613d5e3ca6404dda77a8685a63e08660dcc64abaf7da7cb0c7a" +checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.10" +version = "4.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef137bbe35aab78bdb468ccfba75a5f4d8321ae011d34063770780545176af2d" +checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" dependencies = [ "anstream", "anstyle", - "clap_lex 0.5.0", + "clap_lex", "strsim", ] [[package]] name = "clap_derive" -version = "4.3.2" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "clap_lex" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" [[package]] name = "clipboard-win" @@ -697,13 +657,13 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "colored" -version = "2.0.0" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" +checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" dependencies = [ - "atty", + "is-terminal", "lazy_static", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -761,9 +721,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "corosensei" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9847f90f32a50b0dcbd68bc23ff242798b13080b97b0569f6ed96a45ce4cf2cd" +checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" dependencies = [ "autocfg", "cfg-if", @@ -783,9 +743,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -801,11 +761,11 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0853f4732d9557cc1f3b4a97112bd5f00a7c619c9828edb45d0a2389ce2913f9" +checksum = "8e5e1df0da8488dd03b34afc134ba84b754d61862cc465932a9e5d07952f661e" dependencies = [ - "cranelift-entity 0.94.1", + "cranelift-entity 0.101.0", ] [[package]] @@ -831,20 +791,21 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed06a9dd2e065be7c1f89cdc820c8c328d2cb69b2be0ba6338fe4050b30bf510" +checksum = "77a17ca4e699a0aaf49a0c88f6311a864f321048aa63f6b787cab20eb5f93f10" dependencies = [ "bumpalo", - "cranelift-bforest 0.94.1", - "cranelift-codegen-meta 0.94.1", - "cranelift-codegen-shared 0.94.1", - "cranelift-entity 0.94.1", - "cranelift-isle 0.94.1", - "gimli 0.27.3", - "hashbrown 0.13.2", + "cranelift-bforest 0.101.0", + "cranelift-codegen-meta 0.101.0", + "cranelift-codegen-shared 0.101.0", + "cranelift-control", + "cranelift-entity 0.101.0", + "cranelift-isle 0.101.0", + "gimli 0.28.0", + "hashbrown 0.14.1", "log", - "regalloc2 0.6.1", + "regalloc2 0.9.3", "smallvec", "target-lexicon", ] @@ -860,11 +821,11 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f0e0e34689be78c2689b31374404d21f1c7667431fd7cd29bed0fa8a67ce8" +checksum = "022f2793cdade1d37a1f755ac42938a3f832f533eac6cafc8b26b209544c3c06" dependencies = [ - "cranelift-codegen-shared 0.94.1", + "cranelift-codegen-shared 0.101.0", ] [[package]] @@ -875,9 +836,18 @@ checksum = "278e52e29c53fcf32431ef08406c295699a70306d05a0715c5b1bf50e33a9ab7" [[package]] name = "cranelift-codegen-shared" -version = "0.94.1" +version = "0.101.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4d72dbb83c2ad788dec4ad0843070973cb48c35a3ca19b1e7437ac40834fd9c" + +[[package]] +name = "cranelift-control" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a05c0a89f82c5731ccad8795cd91cc3c771295aa42c268c7f81607388495d374" +checksum = "ae07cf26dcc90d546826d747ac63b6c40c916f34b03e92a6ae0422c28d771b8a" +dependencies = [ + "arbitrary", +] [[package]] name = "cranelift-egraph" @@ -901,11 +871,12 @@ checksum = "9a59bcbca89c3f1b70b93ab3cbba5e5e0cbf3e63dadb23c7525cb142e21a9d4c" [[package]] name = "cranelift-entity" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f184fc14ff49b119760e5f96d1c836d89ee0f5d1b94073ebe88f45b745a9c7a5" +checksum = "c2fe6b7e49820893691aea497f36257e9d6f52061d8c4758d61d802d5f101a3d" dependencies = [ "serde", + "serde_derive", ] [[package]] @@ -922,11 +893,11 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1990b107c505d3bb0e9fe7ee9a4180912c924c12da1ebed68230393789387858" +checksum = "44f497576ca3674581581601b6a55ccc1b43447217648c880e5bce70db3cf659" dependencies = [ - "cranelift-codegen 0.94.1", + "cranelift-codegen 0.101.0", "log", "smallvec", "target-lexicon", @@ -940,34 +911,34 @@ checksum = "393bc73c451830ff8dbb3a07f61843d6cb41a084f9996319917c0b291ed785bb" [[package]] name = "cranelift-isle" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e47d398114545d4de2b152c28b1428c840e55764a6b58eea2a0e5c661d9a382a" +checksum = "b96aa02eac00fffee13b0cd37d17874ccdb3d5458983041accd825ef78ce6454" [[package]] name = "cranelift-native" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c769285ed99f5791ca04d9716b3ca3508ec4e7b959759409fddf51ad0481f51" +checksum = "2870170ca44054b202c737626607b87be6e35655084bd94a6ff807a5812ba7df" dependencies = [ - "cranelift-codegen 0.94.1", + "cranelift-codegen 0.101.0", "libc", "target-lexicon", ] [[package]] name = "cranelift-wasm" -version = "0.94.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cbcdec1d7b678919910d213b9e98d5d4c65eeb2153ac042535b00931f093d3" +checksum = "103975f31b2c015ba53cd4bbb4fb9c509e91cf532752587d4e48748d0305334f" dependencies = [ - "cranelift-codegen 0.94.1", - "cranelift-entity 0.94.1", - "cranelift-frontend 0.94.1", - "itertools", + "cranelift-codegen 0.101.0", + "cranelift-entity 0.101.0", + "cranelift-frontend 0.101.0", + "itertools 0.10.5", "log", "smallvec", - "wasmparser 0.100.0", + "wasmparser 0.115.0", "wasmtime-types", ] @@ -982,20 +953,20 @@ dependencies = [ [[package]] name = "criterion" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" dependencies = [ "anes", - "atty", "cast", "ciborium", - "clap 3.2.25", + "clap", "criterion-plot", "futures", - "itertools", - "lazy_static", + "is-terminal", + "itertools 0.10.5", "num-traits", + "once_cell", "oorandom", "plotters", "rayon", @@ -1015,7 +986,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -1052,6 +1023,16 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.16" @@ -1079,9 +1060,9 @@ dependencies = [ [[package]] name = "crossterm_winapi" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" dependencies = [ "winapi", ] @@ -1129,7 +1110,7 @@ dependencies = [ "log", "num", "owning_ref", - "time 0.3.22", + "time", "unicode-segmentation", "unicode-width", "xi-unicode", @@ -1157,9 +1138,9 @@ 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", "darling_macro", @@ -1167,37 +1148,37 @@ 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", - "syn 2.0.22", + "syn 2.0.38", ] [[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", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "dashmap" -version = "5.5.0" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.0", + "hashbrown 0.14.1", "lock_api", "once_cell", "parking_lot_core 0.9.8", @@ -1209,6 +1190,15 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "uuid", +] + [[package]] name = "decorum" version = "0.3.1" @@ -1219,6 +1209,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "deranged" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", + "serde", +] + [[package]] name = "derivative" version = "2.2.0" @@ -1289,9 +1289,9 @@ dependencies = [ [[package]] name = "educe" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "079044df30bb07de7d846d41a184c4b00e66ebdac93ee459253474f3a47e50ae" +checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" dependencies = [ "enum-ordinalize", "proc-macro2", @@ -1301,9 +1301,9 @@ dependencies = [ [[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 = "email_address" @@ -1322,9 +1322,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] @@ -1344,7 +1344,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -1384,27 +1384,27 @@ checksum = "04d0b288e3bb1d861c4403c1774a6f7a798781dfc519b3647df2a3dd4ae95f25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "enum-ordinalize" -version = "3.1.13" +version = "3.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4f76552f53cefc9a7f64987c3701b99d982f7690606fd67de1d09712fbf52f1" +checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" dependencies = [ "num-bigint", "num-traits", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "enumset" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e875f1719c16de097dee81ed675e2d9bb63096823ed3f0ca827b7dea3028bbbb" +checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" dependencies = [ "enumset_derive", ] @@ -1418,7 +1418,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -1436,31 +1436,20 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ - "errno-dragonfly", "libc", "windows-sys 0.48.0", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "error-code" version = "2.3.1" @@ -1477,6 +1466,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + [[package]] name = "fallible-streaming-iterator" version = "0.1.9" @@ -1485,9 +1480,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fancy-regex" -version = "0.7.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf" +checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" dependencies = [ "bit-set", "regex", @@ -1506,10 +1501,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if", - "rustix 0.38.1", + "rustix", "windows-sys 0.48.0", ] +[[package]] +name = "finl_unicode" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" + [[package]] name = "fixedbitset" version = "0.4.2" @@ -1518,9 +1519,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -1572,12 +1573,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - [[package]] name = "funty" version = "2.0.0" @@ -1640,7 +1635,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -1682,6 +1677,19 @@ dependencies = [ "byteorder", ] +[[package]] +name = "fxprof-processed-profile" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" +dependencies = [ + "bitflags 2.4.1", + "debugid", + "fxhash", + "serde", + "serde_json", +] + [[package]] name = "generator" version = "0.7.5" @@ -1713,7 +1721,7 @@ checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -1722,19 +1730,19 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" dependencies = [ - "fallible-iterator", + "fallible-iterator 0.2.0", "indexmap 1.9.3", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", + "fallible-iterator 0.3.0", + "indexmap 2.0.2", "stable_deref_trait", ] @@ -1746,9 +1754,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" -version = "0.3.20" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" dependencies = [ "bytes", "fnv", @@ -1789,9 +1797,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" dependencies = [ "ahash 0.8.3", "allocator-api2", @@ -1799,21 +1807,20 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.0", + "hashbrown 0.14.1", ] [[package]] name = "headers" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.13.1", - "bitflags 1.3.2", + "base64 0.21.4", "bytes", "headers-core", "http", @@ -1839,18 +1846,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -1911,9 +1909,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" @@ -1923,9 +1921,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -2016,7 +2014,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" dependencies = [ "bitmaps", - "rand_core 0.6.4", + "rand_core", "rand_xoshiro", "sized-chunks", "typenum", @@ -2046,26 +2044,27 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.1", + "serde", ] [[package]] name = "insta" -version = "1.30.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28491f7753051e5704d4d0ae7860d45fae3238d7d235bc4289dcd45c48d3cec3" +checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc" dependencies = [ "console", "lazy_static", "linked-hash-map", "serde", "similar", - "toml", + "toml 0.5.11", "yaml-rust", ] @@ -2078,17 +2077,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.8.0" @@ -2097,12 +2085,12 @@ checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "is-terminal" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "rustix 0.38.1", + "hermit-abi", + "rustix", "windows-sys 0.48.0", ] @@ -2115,6 +2103,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -2123,9 +2120,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" dependencies = [ "libc", ] @@ -2145,7 +2142,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "pem", "ring", "serde", @@ -2182,9 +2179,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "libloading" @@ -2198,9 +2195,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libmimalloc-sys" @@ -2214,9 +2211,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.8.3+7.4.4" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ "bindgen", "bzip2-sys", @@ -2224,6 +2221,7 @@ dependencies = [ "glob", "libc", "libz-sys", + "lz4-sys", ] [[package]] @@ -2243,16 +2241,16 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d8de370f98a6cb8a4606618e53e802f93b094ddec0f96988eaec2c27e6e9ce7" dependencies = [ - "clap 4.3.10", + "clap", "termcolor", "threadpool", ] [[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", "pkg-config", @@ -2276,21 +2274,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - -[[package]] -name = "linux-raw-sys" -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" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" @@ -2304,9 +2290,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "loom" @@ -2321,6 +2307,16 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "lz4-sys" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "mach" version = "0.3.2" @@ -2342,37 +2338,38 @@ 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]] name = "matchit" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest", ] [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memfd" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.37.21", + "rustix", ] [[package]] @@ -2384,6 +2381,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.8.0" @@ -2440,7 +2446,7 @@ checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.48.0", ] @@ -2491,14 +2497,13 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "static_assertions", ] [[package]] @@ -2542,9 +2547,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -2553,9 +2558,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", ] @@ -2594,9 +2599,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", "libm", @@ -2608,7 +2613,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi", "libc", ] @@ -2623,22 +2628,13 @@ dependencies = [ [[package]] name = "object" -version = "0.30.4" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "memchr", -] - -[[package]] -name = "object" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" -dependencies = [ + "hashbrown 0.14.1", + "indexmap 2.0.2", "memchr", ] @@ -2656,11 +2652,11 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "cfg-if", "foreign-types", "libc", @@ -2677,7 +2673,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -2688,18 +2684,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.28.0+1.1.1w" +version = "300.1.5+3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ce95ee1f6f999dfb95b8afd43ebe442758ea2104d1ccb99a94c30db22ae701f" +checksum = "559068e4c12950d7dcaa1857a61725c0d38d4fc03ff8e070ab31a75d6e316491" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" dependencies = [ "cc", "libc", @@ -2724,12 +2720,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "os_str_bytes" -version = "6.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" - [[package]] name = "overload" version = "0.1.1" @@ -2753,9 +2743,9 @@ checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" [[package]] name = "papergrid" -version = "0.5.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453cf71f2a37af495a1a124bf30d4d7469cfbea58e9f2479be9d222396a518a2" +checksum = "a2ccbe15f2b6db62f9a9871642746427e297b0ceb85f9a7f1ee5ff47d184d0c8" dependencies = [ "bytecount", "fnv", @@ -2807,14 +2797,14 @@ dependencies = [ "libc", "redox_syscall 0.3.5", "smallvec", - "windows-targets 0.48.1", + "windows-targets 0.48.5", ] [[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 = "peeking_take_while" @@ -2839,12 +2829,12 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 1.9.3", + "indexmap 2.0.2", ] [[package]] @@ -2878,29 +2868,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e138fdd8263907a2b0e1b4e80b7e58c721126479b6e6eedfb1b402acea7b9bd" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1fef411b303e3e12d534fb6e7852de82da56edd937d895125821fb7c09436c7" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2916,16 +2906,16 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "plist" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590" +checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "indexmap 1.9.3", "line-wrap", - "quick-xml 0.28.2", + "quick-xml", "serde", - "time 0.3.22", + "time", ] [[package]] @@ -2958,12 +2948,12 @@ dependencies = [ [[package]] name = "postgres" -version = "0.19.5" +version = "0.19.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bed5017bc2ff49649c0075d0d7a9d676933c1292480c1d137776fb205b5cd18" +checksum = "7915b33ed60abc46040cbcaa25ffa1c7ec240668e0477c4f3070786f5916d451" dependencies = [ "bytes", - "fallible-iterator", + "fallible-iterator 0.2.0", "futures-util", "log", "tokio", @@ -2972,59 +2962,76 @@ dependencies = [ [[package]] name = "postgres-derive" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "070ffaa78859c779b19f9358ce035480479cf2619e968593ffbe72abcb6e0fcf" +checksum = "83145eba741b050ef981a9a1838c843fa7665e154383325aa8b440ae703180a2" dependencies = [ + "heck", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "postgres-protocol" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b7fa9f396f51dffd61546fd8573ee20592287996568e6175ceb0f8699ad75d" +checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "byteorder", "bytes", - "fallible-iterator", + "fallible-iterator 0.2.0", "hmac", "md-5", "memchr", - "rand 0.8.5", + "rand", "sha2", "stringprep", ] [[package]] name = "postgres-types" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f028f05971fe20f512bcc679e2c10227e57809a3af86a7606304435bc8896cd6" +checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c" dependencies = [ "bytes", "chrono", - "fallible-iterator", + "fallible-iterator 0.2.0", "postgres-derive", "postgres-protocol", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.38", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ - "toml", + "toml 0.5.11", ] [[package]] @@ -3053,9 +3060,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -3077,19 +3084,19 @@ dependencies = [ [[package]] name = "proptest" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65" +checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" dependencies = [ "bit-set", - "bitflags 1.3.2", - "byteorder", + "bit-vec", + "bitflags 2.4.1", "lazy_static", "num-traits", - "rand 0.8.5", + "rand", "rand_chacha", "rand_xorshift", - "regex-syntax 0.6.29", + "regex-syntax 0.7.5", "rusty-fork", "tempfile", "unarray", @@ -3115,7 +3122,7 @@ dependencies = [ "cfg-if", "cmake", "heck", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "multimap", @@ -3134,7 +3141,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", @@ -3193,32 +3200,23 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-junit" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b909fe9bf2abb1e3d6a97c9189a37c8105c61d03dca9ce6aace023e7d682bd" +checksum = "6bf780b59d590c25f8c59b44c124166a2a93587868b619fb8f5b47fb15e9ed6d" dependencies = [ "chrono", - "indexmap 1.9.3", + "indexmap 2.0.2", "nextest-workspace-hack", - "quick-xml 0.26.0", + "quick-xml", "thiserror", "uuid", ] [[package]] name = "quick-xml" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.28.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" +checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" dependencies = [ "memchr", ] @@ -3233,9 +3231,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -3256,19 +3254,6 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi", -] - [[package]] name = "rand" version = "0.8.5" @@ -3277,7 +3262,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -3287,24 +3272,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", + "rand_core", ] -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - [[package]] name = "rand_core" version = "0.6.4" @@ -3320,7 +3290,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -3329,14 +3299,14 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ - "rand_core 0.6.4", + "rand_core", ] [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -3344,23 +3314,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", ] [[package]] @@ -3406,25 +3365,27 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.6.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" dependencies = [ - "fxhash", + "hashbrown 0.13.2", "log", + "rustc-hash", "slice-group-by", "smallvec", ] [[package]] name = "regex" -version = "1.8.4" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.2", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -3436,6 +3397,17 @@ dependencies = [ "regex-syntax 0.6.29", ] +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + [[package]] name = "regex-syntax" version = "0.6.29" @@ -3444,9 +3416,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "region" @@ -3460,31 +3438,22 @@ dependencies = [ "winapi", ] -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - [[package]] name = "rend" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" dependencies = [ "bytecheck", ] [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "bytes", "encoding_rs", "futures-core", @@ -3505,6 +3474,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tokio-util", @@ -3563,9 +3533,9 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ "libc", "librocksdb-sys", @@ -3577,8 +3547,8 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2" dependencies = [ - "bitflags 2.3.3", - "fallible-iterator", + "bitflags 2.4.1", + "fallible-iterator 0.2.0", "fallible-streaming-iterator", "hashlink", "libsqlite3-sys", @@ -3597,18 +3567,16 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.30.0" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +checksum = "a4c4216490d5a413bc6d10fa4742bd7d4955941d062c0ef873141d6b0e7b30fd" dependencies = [ "arrayvec", "borsh", - "bytecheck", - "byteorder", "bytes", "num-traits", "postgres", - "rand 0.8.5", + "rand", "rkyv", "serde", "serde_json", @@ -3638,50 +3606,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.14" +version = "0.38.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e4d67015953998ad0eb82887a0eb0129e18a7e2f3b7b0f6c422fddcd503d62" +checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "errno", - "io-lifetimes", "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.37.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25693a73057a1b4cb56179dd3c7ea21a7c6c5ee7d85781f5749b46f34b79c" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc6396159432b5c8490d4e301d8c705f61860b8b6c863bf79942ce5401968f3" -dependencies = [ - "bitflags 2.3.3", - "errno", - "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys", "windows-sys 0.48.0", ] [[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 = "rusty-fork" @@ -3701,7 +3641,7 @@ version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "994eca4bca05c87e86e15d90fc7a91d1be64b4482b38cb2d27474568fe7c9db9" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.1", "cfg-if", "clipboard-win", "fd-lock", @@ -3720,9 +3660,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 = "safemem" @@ -3741,11 +3681,11 @@ dependencies = [ [[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]] @@ -3756,9 +3696,9 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[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 = "sdk-test-module" @@ -3777,9 +3717,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[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", @@ -3790,28 +3730,34 @@ 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", ] +[[package]] +name = "self_cell" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6" + [[package]] name = "semver" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] [[package]] name = "sendgrid" -version = "0.18.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6ba8c048dc4beab827cebc1d54f1007f5ebdfa240812ed6faa89452fd34ba0" +checksum = "524482908e6edc4f1deac0fe8be323fb11d48b598d4a1a414a866599595f55f1" dependencies = [ "data-encoding", "reqwest", @@ -3823,9 +3769,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.164" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" dependencies = [ "serde_derive", ] @@ -3843,22 +3789,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.164" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "serde_json" -version = "1.0.99" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.0.2", "itoa", "ryu", "serde", @@ -3866,9 +3812,19 @@ 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_spanned" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" dependencies = [ "serde", ] @@ -3887,30 +3843,31 @@ dependencies = [ [[package]] name = "serde_with" -version = "2.3.3" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" dependencies = [ - "base64 0.13.1", + "base64 0.21.4", "chrono", "hex", "indexmap 1.9.3", + "indexmap 2.0.2", "serde", "serde_json", "serde_with_macros", - "time 0.3.22", + "time", ] [[package]] name = "serde_with_macros" -version = "2.3.3" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -3935,14 +3892,14 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -3951,9 +3908,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -3972,13 +3929,23 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] +[[package]] +name = "shared-buffer" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cf61602ee61e2f83dd016b3e6387245291cf728ea071c378b35088125b4d995" +dependencies = [ + "bytes", + "memmap2 0.6.2", +] + [[package]] name = "shared_child" version = "1.0.0" @@ -3991,9 +3958,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" [[package]] name = "signal-hook" @@ -4033,9 +4000,9 @@ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] name = "similar" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" +checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" [[package]] name = "simple_asn1" @@ -4046,14 +4013,14 @@ dependencies = [ "num-bigint", "num-traits", "thiserror", - "time 0.3.22", + "time", ] [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "sized-chunks" @@ -4067,9 +4034,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] @@ -4098,9 +4065,9 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "socket2" @@ -4114,9 +4081,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ "libc", "windows-sys 0.48.0", @@ -4138,7 +4105,7 @@ dependencies = [ "derive_more", "log", "once_cell", - "rand 0.8.5", + "rand", "scoped-tls", "spacetimedb-bindings-macro", "spacetimedb-bindings-sys", @@ -4154,13 +4121,13 @@ dependencies = [ "anyhow", "anymap", "byte-unit", - "clap 4.3.10", + "clap", "criterion", "futures", "lazy_static", "log", "mimalloc", - "rand 0.8.5", + "rand", "regex", "rusqlite", "serde", @@ -4171,7 +4138,7 @@ dependencies = [ "spacetimedb-primitives", "spacetimedb-standalone", "spacetimedb-testing", - "tempdir", + "tempfile", "tokio", "tracing-subscriber", "walkdir", @@ -4181,11 +4148,11 @@ dependencies = [ name = "spacetimedb-bindings-macro" version = "0.7.1" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.1", "humantime", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -4201,9 +4168,9 @@ name = "spacetimedb-cli" version = "0.7.1" dependencies = [ "anyhow", - "base64 0.21.2", + "base64 0.21.4", "cargo_metadata", - "clap 4.3.10", + "clap", "colored", "convert_case 0.6.0", "dirs", @@ -4212,7 +4179,7 @@ dependencies = [ "futures", "insta", "is-terminal", - "itertools", + "itertools 0.11.0", "jsonwebtoken", "mimalloc", "reqwest", @@ -4228,7 +4195,7 @@ dependencies = [ "tempfile", "termcolor", "tokio", - "toml", + "toml 0.8.2", "wasmbin", "wasmtime", ] @@ -4253,16 +4220,16 @@ dependencies = [ "log", "mime", "prometheus", - "rand 0.8.5", + "rand", "regex", "serde", "serde_json", "spacetimedb-core", "spacetimedb-lib", - "tempdir", + "tempfile", "tokio", "tokio-stream", - "tokio-tungstenite 0.18.0", + "tokio-tungstenite", ] [[package]] @@ -4281,10 +4248,10 @@ dependencies = [ "anyhow", "async-trait", "backtrace", - "base64 0.21.2", + "base64 0.21.4", "bytes", "bytestring", - "clap 4.3.10", + "clap", "criterion", "crossbeam-channel", "derive_more", @@ -4298,8 +4265,8 @@ dependencies = [ "hostname", "hyper", "imara-diff", - "indexmap 1.9.3", - "itertools", + "indexmap 2.0.2", + "itertools 0.11.0", "jsonwebtoken", "lazy_static", "log", @@ -4312,7 +4279,7 @@ dependencies = [ "prometheus", "prost", "prost-build", - "rand 0.8.5", + "rand", "rayon-core", "regex", "rocksdb", @@ -4335,7 +4302,7 @@ dependencies = [ "spacetimedb-vm", "sqlparser", "strum", - "tempdir", + "tempfile", "thiserror", "tokio", "tokio-util", @@ -4353,7 +4320,6 @@ dependencies = [ "wasmer-middlewares", "wasmer-types", "wasmer-vm", - "wasmparser 0.92.0", ] [[package]] @@ -4361,17 +4327,17 @@ name = "spacetimedb-lib" version = "0.7.1" dependencies = [ "anyhow", - "bitflags 2.3.3", + "bitflags 2.4.1", "bytes", "chrono", - "clap 4.3.10", + "clap", "derive_more", "enum-as-inner", "hex", "insta", - "itertools", + "itertools 0.11.0", "proptest", - "rand 0.8.5", + "rand", "serde", "serde_json", "serde_with", @@ -4407,10 +4373,10 @@ dependencies = [ "derive_more", "enum-as-inner", "hex", - "itertools", + "itertools 0.11.0", "nonempty", "proptest", - "rand 0.8.5", + "rand", "serde", "spacetimedb-bindings-macro", "spacetimedb-primitives", @@ -4424,7 +4390,7 @@ version = "0.7.1" dependencies = [ "anyhow", "anymap", - "base64 0.21.2", + "base64 0.21.4", "cursive", "futures", "futures-channel", @@ -4435,13 +4401,13 @@ dependencies = [ "lazy_static", "log", "prost", - "rand 0.8.5", + "rand", "spacetimedb-client-api-messages", "spacetimedb-lib", "spacetimedb-sats", "spacetimedb-testing", "tokio", - "tokio-tungstenite 0.19.0", + "tokio-tungstenite", ] [[package]] @@ -4451,7 +4417,7 @@ dependencies = [ "anyhow", "async-trait", "axum", - "clap 4.3.10", + "clap", "dirs", "hostname", "http", @@ -4472,11 +4438,11 @@ name = "spacetimedb-testing" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.3.10", + "clap", "duct", "lazy_static", "prost", - "rand 0.8.5", + "rand", "serde_json", "serial_test", "spacetimedb-cli", @@ -4498,7 +4464,7 @@ dependencies = [ "spacetimedb-lib", "spacetimedb-primitives", "spacetimedb-sats", - "tempdir", + "tempfile", "thiserror", "tracing", ] @@ -4509,11 +4475,17 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "sptr" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" + [[package]] name = "sqllogictest" -version = "0.13.2" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b7d83bd42830e2c891865c0da6e8ad741ed3a108188061ea4eaf99cf13cd375" +checksum = "4a1e74af2f280e063ed8346f0b1bec1403dc3540e90e7f3fed54f96cadc64fed" dependencies = [ "async-trait", "educe", @@ -4521,12 +4493,13 @@ dependencies = [ "futures", "glob", "humantime", - "itertools", + "itertools 0.11.0", "libtest-mimic", "md-5", "owo-colors", "regex", "similar", + "subst", "tempfile", "thiserror", "tracing", @@ -4534,9 +4507,9 @@ dependencies = [ [[package]] name = "sqllogictest-engines" -version = "0.13.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c5547860615e7d078da98e8f59624b0928b861bda6293f0f1f62263d45e5e51" +checksum = "fad4b133d3ac98a8f1a9ad95a8455775d11400855e6169dc12f5153e3b97a35b" dependencies = [ "async-trait", "bytes", @@ -4557,9 +4530,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.34.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3706eefb17039056234df6b566b0014f303f867f2656108334a55b8096f59" +checksum = "0272b7bb0a225320170c99901b4b5fb3a4384e255a7f2cc228f61e2ba3893e75" dependencies = [ "log", ] @@ -4571,13 +4544,13 @@ dependencies = [ "anyhow", "async-trait", "chrono", - "clap 4.3.10", + "clap", "console", "derive_more", "fs-err", "futures", "glob", - "itertools", + "itertools 0.11.0", "postgres-types", "quick-junit", "rusqlite", @@ -4587,7 +4560,7 @@ dependencies = [ "spacetimedb-sats", "sqllogictest", "sqllogictest-engines", - "tempdir", + "tempfile", "tokio", "tokio-postgres", ] @@ -4598,12 +4571,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "str-buf" version = "1.0.6" @@ -4612,10 +4579,11 @@ checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" [[package]] name = "stringprep" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" dependencies = [ + "finl_unicode", "unicode-bidi", "unicode-normalization", ] @@ -4628,24 +4596,34 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strum" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.24.3" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck", "proc-macro2", "quote", "rustversion", - "syn 1.0.109", + "syn 2.0.38", +] + +[[package]] +name = "subst" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca1318e5d6716d6541696727c88d9b8dfc8cfe6afd6908e186546fd4af7f5b98" +dependencies = [ + "memchr", + "unicode-width", ] [[package]] @@ -4667,9 +4645,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.22" +version = "2.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" dependencies = [ "proc-macro2", "quote", @@ -4696,32 +4674,51 @@ dependencies = [ [[package]] name = "syntect" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" +checksum = "e02b4b303bf8d08bfeb0445cba5068a3d306b6baece1d5582171a9bf49188f91" dependencies = [ "bincode", "bitflags 1.3.2", "fancy-regex", "flate2", "fnv", - "lazy_static", "once_cell", "plist", - "regex-syntax 0.6.29", + "regex-syntax 0.7.5", "serde", - "serde_derive", "serde_json", "thiserror", "walkdir", "yaml-rust", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabled" -version = "0.8.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b2f8c37d26d87d2252187b0a45ea3cbf42baca10377c7e7eaaa2800fa9bf97" +checksum = "dfe9c3632da101aba5131ed63f9eed38665f8b3c68703a6bb18124835c1a5d22" dependencies = [ "papergrid", "tabled_derive", @@ -4730,9 +4727,9 @@ dependencies = [ [[package]] name = "tabled_derive" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ee618502f497abf593e1c5c9577f34775b111480009ffccd7ad70d23fcaba8" +checksum = "99f688a08b54f4f02f0a3c382aefdb7884d3d69609f785bd253dc033243e3fe4" dependencies = [ "heck", "proc-macro-error", @@ -4749,19 +4746,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac" - -[[package]] -name = "tempdir" -version = "0.3.7" +version = "0.12.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" -dependencies = [ - "rand 0.4.6", - "remove_dir_all", -] +checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" [[package]] name = "tempfile" @@ -4772,15 +4759,15 @@ dependencies = [ "cfg-if", "fastrand", "redox_syscall 0.3.5", - "rustix 0.38.1", + "rustix", "windows-sys 0.48.0", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] @@ -4803,30 +4790,24 @@ dependencies = [ "anyhow", ] -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" - [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -4850,24 +4831,15 @@ dependencies = [ [[package]] name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.22" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ + "deranged", "itoa", "libc", "num_threads", + "powerfmt", "serde", "time-core", "time-macros", @@ -4875,15 +4847,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -4915,11 +4887,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", @@ -4928,7 +4899,7 @@ dependencies = [ "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", - "socket2 0.4.9", + "socket2 0.5.4", "tokio-macros", "windows-sys 0.48.0", ] @@ -4941,7 +4912,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] @@ -4956,14 +4927,14 @@ dependencies = [ [[package]] name = "tokio-postgres" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e89f6234aa8fd43779746012fcf53603cdb91fdd8399aa0de868c2d56b6dde1" +checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8" dependencies = [ "async-trait", "byteorder", "bytes", - "fallible-iterator", + "fallible-iterator 0.2.0", "futures-channel", "futures-util", "log", @@ -4973,9 +4944,11 @@ dependencies = [ "pin-project-lite", "postgres-protocol", "postgres-types", - "socket2 0.5.3", + "rand", + "socket2 0.5.4", "tokio", "tokio-util", + "whoami", ] [[package]] @@ -4992,35 +4965,23 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite 0.18.0", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec509ac96e9a0c43427c74f003127d953a265737636129424288d27cb5c4b12c" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", "native-tls", "tokio", "tokio-native-tls", - "tungstenite 0.19.0", + "tungstenite", ] [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", @@ -5040,6 +5001,40 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.0.2", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + [[package]] name = "tower" version = "0.4.13" @@ -5058,11 +5053,11 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8bd22a874a2d0b70452d5597b12c537331d49060824a95f49f108994f94aa4c" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.1", "bytes", "futures-core", "futures-util", @@ -5088,11 +5083,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -5106,26 +5100,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" dependencies = [ "crossbeam-channel", - "time 0.3.22", + "time", "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -5210,28 +5204,9 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788" -dependencies = [ - "base64 0.13.1", - "byteorder", - "bytes", - "http", - "httparse", - "log", - "rand 0.8.5", - "sha1", - "thiserror", - "url", - "utf-8", -] - -[[package]] -name = "tungstenite" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15fba1a6d6bb030745759a9a2a588bfe8490fc8b4751a277db3a0be1c9ebbf67" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ "byteorder", "bytes", @@ -5240,7 +5215,7 @@ dependencies = [ "httparse", "log", "native-tls", - "rand 0.8.5", + "rand", "sha1", "thiserror", "url", @@ -5249,9 +5224,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unarray" @@ -5267,9 +5242,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -5288,9 +5263,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -5308,7 +5283,7 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" name = "upgrade-version" version = "0.1.0" dependencies = [ - "clap 4.3.10", + "clap", "duct", "regex", "tempfile", @@ -5317,9 +5292,9 @@ dependencies = [ [[package]] name = "url" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -5328,9 +5303,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 = "utf-8" @@ -5352,9 +5327,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ "getrandom", ] @@ -5388,9 +5363,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -5405,12 +5380,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -5438,7 +5407,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", "wasm-bindgen-shared", ] @@ -5495,7 +5464,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.38", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5508,18 +5477,18 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-encoder" -version = "0.29.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881" +checksum = "9ca90ba1b5b0a70d3d49473c5579951f3bddc78d47b59256d2f9d4922b150aca" dependencies = [ "leb128", ] [[package]] name = "wasm-streams" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" dependencies = [ "futures-util", "js-sys", @@ -5556,9 +5525,9 @@ dependencies = [ [[package]] name = "wasmer" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7142dbb91ede83cc0aef2301fa75fcc7e0c9e5a7d5358e3c4f3a7249fe9ce8" +checksum = "0e626f958755a90a6552b9528f59b58a62ae288e6c17fcf40e99495bc33c60f0" dependencies = [ "bytes", "cfg-if", @@ -5569,6 +5538,7 @@ dependencies = [ "rustc-demangle", "serde", "serde-wasm-bindgen", + "shared-buffer", "target-lexicon", "thiserror", "wasm-bindgen", @@ -5584,19 +5554,23 @@ dependencies = [ [[package]] name = "wasmer-compiler" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b99c70711ec7631b602a9fc95577c40df21e8f3916159c9d80c3fb4f77abdc" +checksum = "848e1922694cf97f4df680a0534c9d72c836378b5eb2313c1708fe1a75b40044" dependencies = [ "backtrace", + "bytes", "cfg-if", "enum-iterator", "enumset", "lazy_static", "leb128", - "memmap2", + "memmap2 0.5.10", "more-asserts", "region", + "rkyv", + "self_cell", + "shared-buffer", "smallvec", "thiserror", "wasmer-types", @@ -5607,9 +5581,9 @@ dependencies = [ [[package]] name = "wasmer-compiler-cranelift" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52aef2ef35513a04fed54de9a7dc9c469d4742a5c2e378a5f7e2a79b1327e3bd" +checksum = "3d96bce6fad15a954edcfc2749b59e47ea7de524b6ef3df392035636491a40b4" dependencies = [ "cranelift-codegen 0.91.1", "cranelift-entity 0.91.1", @@ -5626,9 +5600,9 @@ dependencies = [ [[package]] name = "wasmer-derive" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bb1425c9e4dc3e2d3aacd6e82e22e27a3127379e0d09bcbdf25ff376229162" +checksum = "7f08f80d166a9279671b7af7a09409c28ede2e0b4e3acabbf0e3cb22c8038ba7" dependencies = [ "proc-macro-error", "proc-macro2", @@ -5638,9 +5612,9 @@ dependencies = [ [[package]] name = "wasmer-middlewares" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acfc08fb8e2e1511f1d69302d7406ace6c0ec0c90e103f8c0a5aa81ecb9fe81f" +checksum = "eeb4b87c0ea9f8636c81a8ab8f52bad01c8623c9fcbb3db5f367d5f157fada30" dependencies = [ "wasmer", "wasmer-types", @@ -5649,9 +5623,9 @@ dependencies = [ [[package]] name = "wasmer-types" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7e32ed799fa8c0d96ca9615d9ea8006857a0f0c18e7c2ed8082bd5c63a9ea70" +checksum = "ae2c892882f0b416783fb4310e5697f5c30587f6f9555f9d4f2be85ab39d5d3d" dependencies = [ "bytecheck", "enum-iterator", @@ -5665,14 +5639,15 @@ dependencies = [ [[package]] name = "wasmer-vm" -version = "4.1.2" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0847513cb176b5d62a6f65d6ae474594935e726a10e9e3387177d9cbf8b8cda0" +checksum = "7c0a9a57b627fb39e5a491058d4365f099bc9b140031c000fded24a3306d9480" dependencies = [ "backtrace", "cc", "cfg-if", "corosensei", + "crossbeam-queue", "dashmap", "derivative", "enum-iterator", @@ -5690,15 +5665,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "wasmparser" -version = "0.92.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da34cec2a8c23db906cdf8b26e988d7a7f0d549eb5d51299129647af61a1b37" -dependencies = [ - "indexmap 1.9.3", -] - [[package]] name = "wasmparser" version = "0.95.0" @@ -5711,173 +5677,224 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.100.0" +version = "0.115.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b20236ab624147dfbb62cf12a19aaf66af0e41b8398838b66e997d07d269d4" +checksum = "e06c0641a4add879ba71ccb3a1e4278fd546f76f1eafb21d8f7b07733b547cd5" dependencies = [ - "indexmap 1.9.3", - "url", + "indexmap 2.0.2", + "semver", ] [[package]] name = "wasmtime" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15ac4b4bee3bcf3750911c7104cf50f12c6b1055cc491254c508294b019fd79" +checksum = "0f734876984c17b40eb5aa06086e7f25642eba7a15c1814c43556d185b8f1148" dependencies = [ "anyhow", "bincode", + "bumpalo", "cfg-if", - "indexmap 1.9.3", + "fxprof-processed-profile", + "indexmap 2.0.2", "libc", "log", - "object 0.30.4", + "object", "once_cell", "paste", "psm", "serde", + "serde_derive", + "serde_json", "target-lexicon", - "wasmparser 0.100.0", + "wasm-encoder", + "wasmparser 0.115.0", "wasmtime-cranelift", "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "wasmtime-asm-macros" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06f9859a704f6b807a3e2e3466ab727f3f748134a96712d0d27c48ba32b32992" +checksum = "8e028656da1291ec5b4720c6b3fb579ee53cdecc0d4a105d4409a6b5c0029afa" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cranelift" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ce3bc589c19cd055cc5210daaf77288563010f45cce40c58b57182b9b5bdd" +checksum = "695e60462e0c4f897a06fdea52bf8667403ff4d7a6f1c312997b226f2bdd1ed6" dependencies = [ "anyhow", - "cranelift-codegen 0.94.1", - "cranelift-entity 0.94.1", - "cranelift-frontend 0.94.1", + "cfg-if", + "cranelift-codegen 0.101.0", + "cranelift-control", + "cranelift-entity 0.101.0", + "cranelift-frontend 0.101.0", "cranelift-native", "cranelift-wasm", - "gimli 0.27.3", + "gimli 0.28.0", "log", - "object 0.30.4", + "object", "target-lexicon", "thiserror", - "wasmparser 0.100.0", + "wasmparser 0.115.0", + "wasmtime-cranelift-shared", + "wasmtime-environ", + "wasmtime-versioned-export-macros", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18cef77aabba0155e713843f6ce698d325308c3ee76aca7a1f0b106d43b25a1e" +dependencies = [ + "anyhow", + "cranelift-codegen 0.101.0", + "cranelift-control", + "cranelift-native", + "gimli 0.28.0", + "object", + "target-lexicon", "wasmtime-environ", ] [[package]] name = "wasmtime-environ" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a205f0f0ea33bcb56756718a9a9ca1042614237d6258893c519f6fed593325" +checksum = "7679dbbd0eb6ea23fc8c29dc8c46f77a951f6154bb25af969bda18b0386b4680" dependencies = [ "anyhow", - "cranelift-entity 0.94.1", - "gimli 0.27.3", - "indexmap 1.9.3", + "cranelift-entity 0.101.0", + "gimli 0.28.0", + "indexmap 2.0.2", "log", - "object 0.30.4", + "object", "serde", + "serde_derive", "target-lexicon", "thiserror", - "wasmparser 0.100.0", + "wasmparser 0.115.0", "wasmtime-types", ] [[package]] name = "wasmtime-jit" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b111d642a32c858096a57456e503f6b72abdbd04d15b44e12f329c238802f66" +checksum = "e05ba8df0a4c9d9ab245ba79f5b5f1fe29d0f9f6531f94aadc0e391f866f697e" dependencies = [ - "addr2line 0.19.0", + "addr2line", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli 0.27.3", + "gimli 0.28.0", "log", - "object 0.30.4", + "object", "rustc-demangle", + "rustix", "serde", + "serde_derive", "target-lexicon", "wasmtime-environ", "wasmtime-jit-icache-coherence", "wasmtime-runtime", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "wasmtime-jit-debug" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7da0f3ae2e2cefa9d28f3f11bcf7d956433a60ccb34f359cd8c930e2bf1cf5a" +checksum = "56166807146dbbf193ec6830450ecc0e01725d468b328bcadcd20eb2c3d8085e" dependencies = [ "once_cell", + "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52aab5839634bd3b158757b52bb689e04815023f2a83b281d657b3a0f061f7a0" +checksum = "a3a5dda53ad6993f9b0a2d65fb49e0348a7232a27a8794064122870d6ee19eb2" dependencies = [ "cfg-if", "libc", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "wasmtime-runtime" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b738633d1c81b5df6f959757ac529b5c0f69ca917c1cfefac2e114af5c397014" +checksum = "3c3c8fb9f63fd6ab79144e53415e2345867adf600ad329a05167b361eae82b18" dependencies = [ "anyhow", "cc", "cfg-if", - "indexmap 1.9.3", + "indexmap 2.0.2", "libc", "log", "mach", "memfd", - "memoffset 0.8.0", + "memoffset 0.9.0", "paste", - "rand 0.8.5", - "rustix 0.36.14", + "rand", + "rustix", + "sptr", + "wasm-encoder", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "windows-sys 0.45.0", + "wasmtime-versioned-export-macros", + "wasmtime-wmemcheck", + "windows-sys 0.48.0", ] [[package]] name = "wasmtime-types" -version = "7.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc565951214d0707de731561b84457e1200c545437a167f232e150c496295c6e" +checksum = "1dea1bc99dcd41d510b6f3535baefe56ec55741f0a9bd812b3323a1668b2eb50" dependencies = [ - "cranelift-entity 0.94.1", + "cranelift-entity 0.101.0", "serde", + "serde_derive", "thiserror", - "wasmparser 0.100.0", + "wasmparser 0.115.0", ] +[[package]] +name = "wasmtime-versioned-export-macros" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47704f2f613f4e11f48a77aa0e7a20b9b0704fee560b48995e6c8af4b3f84981" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "wasmtime-wmemcheck" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a6c6c4600bc33b7f0e2f63111406788c6595649a198638f75cd047e33ceaf5d" + [[package]] name = "wast" -version = "60.0.0" +version = "66.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd06cc744b536e30387e72a48fdd492105b9c938bb4f415c39c616a7a0a697ad" +checksum = "93cb43b0ac6dd156f2c375735ccfd72b012a7c0a6e6d09503499b8d3cb6e6072" dependencies = [ "leb128", "memchr", @@ -5887,9 +5904,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.0.66" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5abe520f0ab205366e9ac7d3e6b2fc71de44e32a2b58f2ec871b6b575bdcea3b" +checksum = "e367582095d2903caeeea9acbb140e1db9c7677001efa4347c3687fd34fe7072" dependencies = [ "wast", ] @@ -5906,13 +5923,24 @@ dependencies = [ [[package]] name = "which" -version = "4.4.0" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ "either", - "libc", + "home", "once_cell", + "rustix", +] + +[[package]] +name = "whoami" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" +dependencies = [ + "wasm-bindgen", + "web-sys", ] [[package]] @@ -5933,9 +5961,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -5952,7 +5980,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.48.5", ] [[package]] @@ -5968,21 +5996,6 @@ dependencies = [ "windows_x86_64_msvc 0.33.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", -] - [[package]] name = "windows-sys" version = "0.45.0" @@ -5998,7 +6011,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.48.5", ] [[package]] @@ -6018,17 +6031,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -6039,9 +6052,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" @@ -6057,9 +6070,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" @@ -6075,9 +6088,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" @@ -6093,9 +6106,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" @@ -6111,9 +6124,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" @@ -6123,9 +6136,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" @@ -6141,17 +6154,27 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" +dependencies = [ + "memchr", +] [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 19b7c42be7a..ac71e849791 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,17 +73,13 @@ bitflags = "2.3.3" byte-unit = "4.0.18" bytes = "1.2.1" bytestring = { version = "1.2.0", features = ["serde"] } -cargo_metadata = "0.15.2" +cargo_metadata = "0.17.0" chrono = { version = "0.4.24", default-features = false } clap = { version = "4.2.4", features = ["derive"] } colored = "2.0.0" console = { version = "0.15.6" } convert_case = "0.6.0" -criterion = { version = "0.4.0", features = [ - "async", - "async_tokio", - "html_reports", -] } +criterion = { version = "0.5.1", features = ["async", "async_tokio", "html_reports"] } crossbeam-channel = "0.5" cursive = { version = "0.20", default-features = false, features = ["crossterm-backend"] } decorum = { version = "0.3.1", default-features = false, features = ["std"] } @@ -109,10 +105,10 @@ humantime = "2.1.0" hyper = "0.14.18" im = "15.1" imara-diff = "0.1.3" -indexmap = "1.9.2" +indexmap = "2.0.0" insta = { version = "1.21.0", features = ["toml"] } is-terminal = "0.4" -itertools = "0.10.5" +itertools = "0.11.0" jsonwebtoken = { version = "8.1.0" } lazy_static = "1.4.0" log = "0.4.17" @@ -141,34 +137,31 @@ rust_decimal = { version = "1.29.1", features = ["db-tokio-postgres"] } rustyline = { version = "12.0.0", features = [] } scoped-tls = "1.0.1" scopeguard = "1.1.0" -sendgrid = { version = "0.18.1", features = ["async"] } +sendgrid = { version = "0.19.2", features = ["async"] } serde = "1.0.136" serde_json = { version = "1.0.87", features = ["raw_value"] } serde_path_to_error = "0.1.9" -serde_with = { version = "2.2.0", features = ["base64", "hex"] } +serde_with = { version = "3.3.0", features = ["base64", "hex"] } serial_test = "2.0.0" sha1 = "0.10.1" sha3 = "0.10.0" slab = "0.4.7" sled = "0.34.7" -sqlparser = "0.34.0" -sqllogictest-engines = "0.13.0" -sqllogictest = "0.13.2" -strum = { version = "0.24.1", features = ["derive"] } +sqlparser = "0.38.0" +sqllogictest-engines = "0.17" +sqllogictest = "0.17" +strum = { version = "0.25.0", features = ["derive"] } syn = { version = "2", features = ["full", "extra-traits"] } -syntect = { version = "5.0.0", default-features = false, features = [ - "default-fancy", -] } -tabled = "0.8.0" -tempdir = "0.3.7" +syntect = { version = "5.0.0", default-features = false, features = ["default-fancy"] } +tabled = "0.14.0" tempfile = "3.8" termcolor = "1.2.0" thiserror = "1.0.37" tokio = { version = "1.25.1", features = ["full"] } tokio-util = { version = "0.7.4", features = ["time"] } tokio-postgres = { version = "0.7.8", features = ["with-chrono-0_4"] } -tokio-tungstenite = { version = "0.19", features = ["native-tls"] } -toml = "0.5" +tokio-tungstenite = { version = "0.20", features = ["native-tls"] } +toml = "0.8" tower-http = { version = "0.4.1", features = ["cors"] } tracing = { version = "0.1.37", features = ["release_max_level_off"] } tracing-appender = "0.2.2" @@ -188,8 +181,7 @@ wasmer-middlewares = "4.1.1" wasmer-types = "4.1.1" wasmer-vm = "4.1.1" -wasmparser = "0.92.0" -wasmtime = { version = "7", default-features = false, features = ["cranelift"] } +wasmtime = { version = "14", default-features = false, features = ["cranelift"] } # We use the "ondemand" feature to allow connecting after the start, # and reconnecting, from the tracy client to the database. @@ -210,4 +202,4 @@ openssl = { version = "0.10", features = ["vendored"] } # Rocksdb ostorage backend, linked only if "rocksdb" feature enabled. # if we link bzip, we get multiple defs -rocksdb = { version = "0.19.0", default-features = false, features = ["lz4"] } +rocksdb = { version = "0.21.0", default-features = false, features = ["lz4"] } diff --git a/crates/bench/Cargo.toml b/crates/bench/Cargo.toml index 89b876882fb..ba4345c1eb2 100644 --- a/crates/bench/Cargo.toml +++ b/crates/bench/Cargo.toml @@ -32,7 +32,7 @@ log.workspace = true clap.workspace = true rusqlite.workspace = true criterion.workspace = true -tempdir.workspace = true +tempfile.workspace = true rand.workspace = true tokio.workspace = true serde_json.workspace = true diff --git a/crates/bench/src/spacetime_raw.rs b/crates/bench/src/spacetime_raw.rs index 57c2fff58d2..03512b6665f 100644 --- a/crates/bench/src/spacetime_raw.rs +++ b/crates/bench/src/spacetime_raw.rs @@ -8,7 +8,7 @@ use spacetimedb::db::relational_db::{open_db, RelationalDB}; use spacetimedb_lib::sats::AlgebraicValue; use spacetimedb_primitives::{ColId, TableId}; use std::hint::black_box; -use tempdir::TempDir; +use tempfile::TempDir; pub type DbResult = (RelationalDB, TempDir, u32); @@ -27,7 +27,7 @@ impl BenchDatabase for SpacetimeRaw { where Self: Sized, { - let temp_dir = TempDir::new("stdb_test")?; + let temp_dir = TempDir::with_prefix("stdb_test")?; let db = open_db(temp_dir.path(), in_memory, fsync)?; Ok(SpacetimeRaw { diff --git a/crates/bench/src/sqlite.rs b/crates/bench/src/sqlite.rs index d6167a09eb9..6a5cde106e9 100644 --- a/crates/bench/src/sqlite.rs +++ b/crates/bench/src/sqlite.rs @@ -12,7 +12,7 @@ use std::{ hint::black_box, sync::{Arc, RwLock}, }; -use tempdir::TempDir; +use tempfile::TempDir; /// SQLite benchmark harness. pub struct SQLite { @@ -30,7 +30,7 @@ impl BenchDatabase for SQLite { where Self: Sized, { - let temp_dir = TempDir::new("sqlite_test")?; + let temp_dir = TempDir::with_prefix("sqlite_test")?; let db = if in_memory { Connection::open_in_memory()? } else { diff --git a/crates/cli/src/subcommands/identity.rs b/crates/cli/src/subcommands/identity.rs index 8d117eb25f7..3d602cf0f41 100644 --- a/crates/cli/src/subcommands/identity.rs +++ b/crates/cli/src/subcommands/identity.rs @@ -12,7 +12,10 @@ use reqwest::{StatusCode, Url}; use serde::Deserialize; use spacetimedb::auth::identity::decode_token; use spacetimedb_lib::{recovery::RecoveryCodeResponse, Identity}; -use tabled::{object::Columns, Alignment, Modify, Style, Table, Tabled}; +use tabled::{ + settings::{object::Columns, Alignment, Modify, Style}, + Table, Tabled, +}; pub fn cli() -> Command { Command::new("identity") @@ -518,7 +521,8 @@ Fetch the server's fingerprint with: println!("Identities for {}:", config.server_nick_or_host(server)?); } - let table = Table::new(&rows) + let mut table = Table::new(&rows); + table .with(Style::empty()) .with(Modify::new(Columns::first()).with(Alignment::right())); println!("{}", table); diff --git a/crates/cli/src/subcommands/list.rs b/crates/cli/src/subcommands/list.rs index 8a1f2e8facc..fbed845c4d0 100644 --- a/crates/cli/src/subcommands/list.rs +++ b/crates/cli/src/subcommands/list.rs @@ -4,8 +4,10 @@ use clap::{Arg, ArgMatches, Command}; use reqwest::StatusCode; use serde::Deserialize; use spacetimedb_lib::Address; -use tabled::object::Columns; -use tabled::{Alignment, Modify, Style, Table, Tabled}; +use tabled::{ + settings::{object::Columns, Alignment, Modify, Style}, + Table, Tabled, +}; pub fn cli() -> Command { Command::new("list") @@ -67,7 +69,8 @@ pub async fn exec(config: Config, args: &ArgMatches) -> Result<(), anyhow::Error let identity = identity_config.nick_or_identity(); if !result.addresses.is_empty() { - let table = Table::new(result.addresses) + let mut table = Table::new(result.addresses); + table .with(Style::psql()) .with(Modify::new(Columns::first()).with(Alignment::left())); println!("Associated database addresses for {}:\n", identity); diff --git a/crates/cli/src/subcommands/server.rs b/crates/cli/src/subcommands/server.rs index cb8f1e2293f..cc28a76f85f 100644 --- a/crates/cli/src/subcommands/server.rs +++ b/crates/cli/src/subcommands/server.rs @@ -4,7 +4,10 @@ use crate::{ }; use anyhow::Context; use clap::{Arg, ArgAction, ArgMatches, Command}; -use tabled::{object::Columns, Alignment, Modify, Style, Table, Tabled}; +use tabled::{ + settings::{object::Columns, Alignment, Modify, Style}, + Table, Tabled, +}; pub fn cli() -> Command { Command::new("server") @@ -170,7 +173,8 @@ pub async fn exec_list(config: Config, _args: &ArgMatches) -> Result<(), anyhow: }); } - let table = Table::new(&rows) + let mut table = Table::new(&rows); + table .with(Style::empty()) .with(Modify::new(Columns::first()).with(Alignment::right())); println!("{}", table); diff --git a/crates/cli/src/subcommands/sql.rs b/crates/cli/src/subcommands/sql.rs index 3d759fda842..ba5a3bb5ede 100644 --- a/crates/cli/src/subcommands/sql.rs +++ b/crates/cli/src/subcommands/sql.rs @@ -2,11 +2,11 @@ use std::time::Instant; use crate::api::{from_json_seed, ClientApi, Connection, StmtResultJson}; use clap::{Arg, ArgAction, ArgGroup, ArgMatches}; +use itertools::Itertools; use reqwest::RequestBuilder; use spacetimedb_lib::de::serde::SeedWrapper; use spacetimedb_lib::sats::{satn, Typespace}; -use tabled::builder::Builder; -use tabled::Style; +use tabled::settings::Style; use crate::config::Config; use crate::util::{database_address, get_auth_header_only}; @@ -76,17 +76,13 @@ pub(crate) async fn parse_req(mut config: Config, args: &ArgMatches) -> Result String { + let txt = if rows == 1 { "row" } else { "rows" }; + format!("({rows} {txt})") } -fn print_timings(now: Instant, with_stats: bool) { - if with_stats { - println!("Time: {:.2?}", now.elapsed()); - } +fn print_timings(now: Instant) { + println!("Time: {:.2?}", now.elapsed()); } pub(crate) async fn run_sql(builder: RequestBuilder, sql: &str, with_stats: bool) -> Result<(), anyhow::Error> { @@ -104,47 +100,56 @@ pub(crate) async fn run_sql(builder: RequestBuilder, sql: &str, with_stats: bool // Print only `OK for empty tables as it's likely a command like `INSERT`. if stmt_result_json.is_empty() { - print_timings(now, with_stats); + if with_stats { + print_timings(now); + } println!("OK"); return Ok(()); }; - for (i, stmt_result) in stmt_result_json.iter().enumerate() { - let StmtResultJson { schema, rows } = &stmt_result; - - let mut builder = Builder::default(); - builder.set_columns( - schema - .elements - .iter() - .enumerate() - .map(|(i, e)| e.name.clone().unwrap_or_else(|| format!("column {i}"))), - ); - - let typespace = Typespace::default(); - let ty = typespace.with_type(schema); - for row in rows { - let row = from_json_seed(row.get(), SeedWrapper(ty))?; - builder.add_record( - row.elements - .iter() - .zip(&schema.elements) - .map(|(v, e)| satn::PsqlWrapper(ty.with(&e.algebraic_type).with_value(v))), - ); - } + stmt_result_json + .iter() + .map(|stmt_result| { + let mut table = stmt_result_to_table(stmt_result)?; + if with_stats { + let row_count = print_row_count(table.count_rows()); + table.with(tabled::settings::panel::Footer::new(row_count)); + } + anyhow::Ok(table) + }) + .process_results(|it| println!("{}", it.format("\n\n")))?; + if with_stats { + print_timings(now); + } - let table = builder.build().with(Style::psql()); + Ok(()) +} - if i > 0 { - println!("\n{}", table); - } else { - println!("{}", table); - } - print_row_count(rows.len(), with_stats); +fn stmt_result_to_table(stmt_result: &StmtResultJson) -> anyhow::Result { + let StmtResultJson { schema, rows } = stmt_result; + + let mut builder = tabled::builder::Builder::default(); + builder.set_header( + schema + .elements + .iter() + .enumerate() + .map(|(i, e)| e.name.clone().unwrap_or_else(|| format!("column {i}"))), + ); + + let ty = Typespace::EMPTY.with_type(schema); + for row in rows { + let row = from_json_seed(row.get(), SeedWrapper(ty))?; + builder.push_record( + ty.with_values(&row) + .map(|col_val| satn::PsqlWrapper(col_val).to_string()), + ); } - print_timings(now, with_stats); - Ok(()) + let mut table = builder.build(); + table.with(Style::psql()); + + Ok(table) } pub async fn exec(config: Config, args: &ArgMatches) -> Result<(), anyhow::Error> { diff --git a/crates/client-api/Cargo.toml b/crates/client-api/Cargo.toml index c66df466b14..fe50d4c525b 100644 --- a/crates/client-api/Cargo.toml +++ b/crates/client-api/Cargo.toml @@ -17,11 +17,11 @@ anyhow = { version = "1.0.57", features = ["backtrace"] } regex = "1" prometheus = "0.13.0" email_address = "0.2.3" -tempdir = "0.3.7" +tempfile.workspace = true async-trait = "0.1.60" chrono = { version = "0.4.23", features = ["serde"]} rand = "0.8.5" -axum = { version = "0.6.16", features = ["headers", "ws", "tracing"] } +axum = { version = "0.6.16", features = ["headers", "tracing"] } hyper = "0.14" http = "0.2" mime = "0.3.17" @@ -29,6 +29,6 @@ tokio-stream = { version = "0.1.12", features = ["sync"] } futures = "0.3" bytes = "1" bytestring = "1" -tokio-tungstenite = "0.18.0" +tokio-tungstenite.workspace = true itoa = "1.0.9" derive_more = "0.99.17" diff --git a/crates/client-api/src/routes/subscribe.rs b/crates/client-api/src/routes/subscribe.rs index ffc4a28d7f1..ca2599d6b6b 100644 --- a/crates/client-api/src/routes/subscribe.rs +++ b/crates/client-api/src/routes/subscribe.rs @@ -111,10 +111,10 @@ where }; let ws_config = WebSocketConfig { - max_send_queue: None, max_message_size: Some(0x2000000), max_frame_size: None, accept_unmasked_frames: false, + ..Default::default() }; tokio::spawn(async move { diff --git a/crates/client-api/src/routes/tracelog.rs b/crates/client-api/src/routes/tracelog.rs index 4fde2ff3da4..5586aa5e6a7 100644 --- a/crates/client-api/src/routes/tracelog.rs +++ b/crates/client-api/src/routes/tracelog.rs @@ -3,7 +3,7 @@ use axum::extract::{Path, State}; use axum::response::IntoResponse; use http::StatusCode; use serde::Deserialize; -use tempdir::TempDir; +use tempfile::TempDir; use spacetimedb::address::Address; use spacetimedb::database_instance_context::DatabaseInstanceContext; @@ -69,7 +69,7 @@ pub async fn stop_tracelog( pub async fn perform_tracelog_replay(body: Bytes) -> axum::response::Result { // Build out a temporary database let storage = Storage::Disk; - let tmp_dir = TempDir::new("stdb_test").expect("establish tmpdir"); + let tmp_dir = TempDir::with_prefix("stdb_test").expect("establish tmpdir"); let db_path = tmp_dir.path(); let logger_path = tmp_dir.path(); let identity = Identity::from_byte_array(hash_bytes(b"This is a fake identity.").data); diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index a85bfac1a3b..e37a38a8e52 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -71,7 +71,7 @@ slab.workspace = true sled.workspace = true sqlparser.workspace = true strum.workspace = true -tempdir.workspace = true +tempfile.workspace = true thiserror.workspace = true tokio-util.workspace = true tokio.workspace = true @@ -89,7 +89,6 @@ wasmer-middlewares.workspace = true wasmer-types.workspace = true wasmer-vm.workspace = true wasmer.workspace = true -wasmparser.workspace = true # Rocksdb ostorage backend, linked only if "rocksdb" feature enabled. rocksdb = {workspace = true, optional = true} diff --git a/crates/core/benches/odb_flavor_bench.rs b/crates/core/benches/odb_flavor_bench.rs index 7fb51b0125d..80e968d04c2 100644 --- a/crates/core/benches/odb_flavor_bench.rs +++ b/crates/core/benches/odb_flavor_bench.rs @@ -15,7 +15,7 @@ use spacetimedb::db::ostorage::ObjectDB; use std::collections::VecDeque; use std::fmt::{Display, Formatter}; use std::path::Path; -use tempdir::TempDir; +use tempfile::TempDir; const VALUE_MAX_SIZE: usize = 4096; const THROUGHPUT_BENCH_VALUE_SIZE: usize = 1024; @@ -68,7 +68,7 @@ fn add(bench: &mut Bencher, flavor: ODBFlavor, valgen: F) where F: Fn() -> Vec, { - let tmp_dir = TempDir::new("txdb_bench").unwrap(); + let tmp_dir = TempDir::with_prefix("txdb_bench").unwrap(); let mut db = open_db(tmp_dir.path(), flavor).unwrap(); bench.iter_with_setup(valgen, move |bytes| { db.add(bytes); @@ -80,7 +80,7 @@ fn get(bench: &mut Bencher, flavor: ODBFlavor, valgen: F) where F: Fn() -> Vec, { - let tmp_dir = TempDir::new("odb_bench").unwrap(); + let tmp_dir = TempDir::with_prefix("odb_bench").unwrap(); let mut db = open_db(tmp_dir.path(), flavor).unwrap(); let bytes = valgen(); let hash = db.add(bytes.clone()); @@ -95,7 +95,7 @@ fn add_get(bench: &mut Bencher, flavor: ODBFlavor, valgen: F) where F: Fn() -> Vec, { - let tmp_dir = TempDir::new("odb_bench").unwrap(); + let tmp_dir = TempDir::with_prefix("odb_bench").unwrap(); let mut db = open_db(tmp_dir.path(), flavor).unwrap(); bench.iter_with_setup(valgen, move |bytes| { let hash = db.add(bytes.clone()); @@ -109,7 +109,7 @@ fn add_get_delayed(bench: &mut Bencher, flavor: ODBFlavor, valgen: F, delay_c where F: Fn() -> Vec, { - let tmp_dir = TempDir::new("txdb_bench").unwrap(); + let tmp_dir = TempDir::with_prefix("txdb_bench").unwrap(); let mut db = open_db(tmp_dir.path(), flavor).unwrap(); // Keep N items in our hash stack, pushing new hashes to the end and popping old ones off diff --git a/crates/core/src/control_db/tests.rs b/crates/core/src/control_db/tests.rs index 6e6390ce75f..1e5202bb597 100644 --- a/crates/core/src/control_db/tests.rs +++ b/crates/core/src/control_db/tests.rs @@ -1,7 +1,7 @@ use std::str::FromStr; use once_cell::sync::Lazy; -use tempdir::TempDir; +use tempfile::TempDir; use super::*; @@ -10,7 +10,7 @@ static BOB: Lazy = Lazy::new(|| Identity::from_hashing_bytes("bob")); #[test] fn test_register_tld() -> anyhow::Result<()> { - let tmp = TempDir::new("register-tld")?; + let tmp = TempDir::with_prefix("register-tld")?; let domain: DomainName = "amaze".parse()?; let cdb = ControlDb::at(tmp.path())?; @@ -39,7 +39,7 @@ fn test_register_tld() -> anyhow::Result<()> { #[test] fn test_domain() -> anyhow::Result<()> { - let tmp = TempDir::new("insert-domain")?; + let tmp = TempDir::with_prefix("insert-domain")?; let domain: DomainName = "this/hASmiXed/case".parse()?; let domain_lower: DomainName = domain.to_lowercase().parse()?; diff --git a/crates/core/src/db/commit_log.rs b/crates/core/src/db/commit_log.rs index 209ae933043..cb9c09da8df 100644 --- a/crates/core/src/db/commit_log.rs +++ b/crates/core/src/db/commit_log.rs @@ -293,13 +293,13 @@ mod tests { use super::*; use spacetimedb_lib::data_key::InlineData; - use tempdir::TempDir; + use tempfile::TempDir; use crate::db::ostorage::memory_object_db::MemoryObjectDB; #[test] fn test_iter_commits() { - let tmp = TempDir::new("commit_log_test").unwrap(); + let tmp = TempDir::with_prefix("commit_log_test").unwrap(); let data_key = DataKey::Data(InlineData::from_bytes(b"asdf").unwrap()); let tx = Transaction { diff --git a/crates/core/src/db/message_log.rs b/crates/core/src/db/message_log.rs index 0fa8fdb45d3..1e3c8ec942a 100644 --- a/crates/core/src/db/message_log.rs +++ b/crates/core/src/db/message_log.rs @@ -420,11 +420,11 @@ mod tests { use super::MessageLog; use spacetimedb_lib::error::ResultTest; - use tempdir::{self, TempDir}; + use tempfile::{self, TempDir}; #[test] fn test_message_log() -> ResultTest<()> { - let tmp_dir = TempDir::new("message_log_test")?; + let tmp_dir = TempDir::with_prefix("message_log_test")?; let path = tmp_dir.path(); let mut message_log = MessageLog::open(path)?; @@ -447,7 +447,7 @@ mod tests { #[test] fn test_message_log_reopen() -> ResultTest<()> { - let tmp_dir = TempDir::new("message_log_test")?; + let tmp_dir = TempDir::with_prefix("message_log_test")?; let path = tmp_dir.path(); let mut message_log = MessageLog::open(path)?; @@ -476,7 +476,7 @@ mod tests { #[test] fn test_segments_iter() -> ResultTest<()> { - let tmp = TempDir::new("message_log_test")?; + let tmp = TempDir::with_prefix("message_log_test")?; let path = tmp.path(); const MESSAGE: &[u8] = b"fee fi fo fum"; @@ -510,7 +510,7 @@ mod tests { #[test] fn test_segment_iter() -> ResultTest<()> { - let tmp = TempDir::new("message_log_test")?; + let tmp = TempDir::with_prefix("message_log_test")?; let path = tmp.path(); const MESSAGE: &[u8] = b"fee fi fo fum"; diff --git a/crates/core/src/db/ostorage/hashmap_object_db.rs b/crates/core/src/db/ostorage/hashmap_object_db.rs index a7e8d15aaec..f7a0c4f6629 100644 --- a/crates/core/src/db/ostorage/hashmap_object_db.rs +++ b/crates/core/src/db/ostorage/hashmap_object_db.rs @@ -208,14 +208,14 @@ mod tests { use crate::error::DBError; use crate::hash::hash_bytes; use spacetimedb_lib::error::ResultTest; - use tempdir::TempDir; + use tempfile::TempDir; const TEST_DB_DIR_PREFIX: &str = "objdb_test"; const TEST_DATA1: &[u8; 21] = b"this is a byte string"; const TEST_DATA2: &[u8; 26] = b"this is also a byte string"; fn setup() -> Result<(HashMapObjectDB, TempDir), DBError> { - let tmp_dir = TempDir::new(TEST_DB_DIR_PREFIX).unwrap(); + let tmp_dir = TempDir::with_prefix(TEST_DB_DIR_PREFIX).unwrap(); let db = HashMapObjectDB::open(tmp_dir.path())?; Ok((db, tmp_dir)) } diff --git a/crates/core/src/db/ostorage/rocks_object_db.rs b/crates/core/src/db/ostorage/rocks_object_db.rs index 3608825e8f7..fd08c4eeb31 100644 --- a/crates/core/src/db/ostorage/rocks_object_db.rs +++ b/crates/core/src/db/ostorage/rocks_object_db.rs @@ -75,14 +75,14 @@ mod tests { use crate::error::DBError; use crate::hash::hash_bytes; use spacetimedb_lib::error::ResultTest; - use tempdir::TempDir; + use tempfile::TempDir; const TEST_DB_DIR_PREFIX: &str = "rocksdb_test"; const TEST_DATA1: &[u8; 21] = b"this is a byte string"; const TEST_DATA2: &[u8; 26] = b"this is also a byte string"; fn setup() -> Result { - let tmp_dir = TempDir::new(TEST_DB_DIR_PREFIX).unwrap(); + let tmp_dir = TempDir::with_prefix(TEST_DB_DIR_PREFIX).unwrap(); RocksDBObjectDB::open(tmp_dir.path()) } diff --git a/crates/core/src/db/ostorage/sled_object_db.rs b/crates/core/src/db/ostorage/sled_object_db.rs index 39eafe6fd03..6df41ee99d5 100644 --- a/crates/core/src/db/ostorage/sled_object_db.rs +++ b/crates/core/src/db/ostorage/sled_object_db.rs @@ -57,14 +57,14 @@ mod tests { use crate::error::DBError; use crate::hash::hash_bytes; - use tempdir::TempDir; + use tempfile::TempDir; const TEST_DB_DIR_PREFIX: &str = "sledb_test"; const TEST_DATA1: &[u8; 21] = b"this is a byte string"; const TEST_DATA2: &[u8; 26] = b"this is also a byte string"; fn setup() -> Result { - let tmp_dir = TempDir::new(TEST_DB_DIR_PREFIX).unwrap(); + let tmp_dir = TempDir::with_prefix(TEST_DB_DIR_PREFIX).unwrap(); SledObjectDB::open(tmp_dir.path()) } diff --git a/crates/core/src/db/relational_db.rs b/crates/core/src/db/relational_db.rs index 88f9199bea8..e52afbbca5e 100644 --- a/crates/core/src/db/relational_db.rs +++ b/crates/core/src/db/relational_db.rs @@ -626,11 +626,11 @@ pub fn open_log(path: impl AsRef) -> Result>, DBErro #[cfg(test)] pub(crate) mod tests_utils { use super::*; - use tempdir::TempDir; + use tempfile::TempDir; // Utility for creating a database on a TempDir pub(crate) fn make_test_db() -> Result<(RelationalDB, TempDir), DBError> { - let tmp_dir = TempDir::new("stdb_test")?; + let tmp_dir = TempDir::with_prefix("stdb_test")?; let in_memory = false; let fsync = false; let stdb = open_db(&tmp_dir, in_memory, fsync)?; diff --git a/crates/core/src/sql/ast.rs b/crates/core/src/sql/ast.rs index d7ef1694668..ce1fc2c10ae 100644 --- a/crates/core/src/sql/ast.rs +++ b/crates/core/src/sql/ast.rs @@ -53,8 +53,17 @@ impl Unsupported for HiveDistributionStyle { } } +impl Unsupported for sqlparser::ast::GroupByExpr { + fn unsupported(&self) -> bool { + match self { + sqlparser::ast::GroupByExpr::All => true, + sqlparser::ast::GroupByExpr::Expressions(v) => v.unsupported(), + } + } +} + macro_rules! unsupported{ - ($name:literal,$a:expr)=>{ + ($name:literal,$a:expr)=>{{ let name = stringify!($name); let it = stringify!($a); if $a.unsupported() { @@ -63,19 +72,10 @@ macro_rules! unsupported{ }); } - }; - ($name:literal,$a:expr,$b:expr)=>{ - { - unsupported!($name,$a); - unsupported!($name,$b); - } - }; - ($name:literal, $a:expr,$($b:tt)*)=>{ - { - unsupported!($name, $a); - unsupported!($name, $($b)*); - } - } + }}; + ($name:literal,$($a:expr),+$(,)?)=> {{ + $(unsupported!($name,$a);)+ + }}; } /// A convenient wrapper for a table name (that comes from an `ObjectName`). @@ -341,8 +341,10 @@ fn compile_table_factor(table: TableFactor) -> Result { alias, args, with_hints, + version, + partitions, } => { - unsupported!("TableFactor", alias, args, with_hints); + unsupported!("TableFactor", alias, args, with_hints, version, partitions); Ok(Table::new(name)) } @@ -947,6 +949,9 @@ fn compile_statement(db: &RelationalDB, tx: &MutTxId, statement: Statement) -> R on_commit, on_cluster, order_by, + comment, + auto_increment_offset, + strict, } => { if let Some(x) = &hive_formats { if x.row_format @@ -981,7 +986,10 @@ fn compile_statement(db: &RelationalDB, tx: &MutTxId, statement: Statement) -> R collation, on_commit, on_cluster, - order_by + order_by, + comment, + auto_increment_offset, + strict, ); let table = Table::new(name); compile_create_table(table, columns) @@ -993,8 +1001,9 @@ fn compile_statement(db: &RelationalDB, tx: &MutTxId, statement: Statement) -> R cascade, restrict, purge, + temporary, } => { - unsupported!("DROP", if_exists, cascade, purge, restrict); + unsupported!("DROP", if_exists, cascade, purge, restrict, temporary); if names.len() > 1 { return Err(PlanError::Unsupported { diff --git a/crates/core/src/sql/execute.rs b/crates/core/src/sql/execute.rs index 2ad38d2ec25..b42ea9a9225 100644 --- a/crates/core/src/sql/execute.rs +++ b/crates/core/src/sql/execute.rs @@ -107,7 +107,7 @@ pub(crate) mod tests { use spacetimedb_sats::{product, AlgebraicType, ProductType}; use spacetimedb_vm::dsl::{mem_table, scalar}; use spacetimedb_vm::eval::create_game_data; - use tempdir::TempDir; + use tempfile::TempDir; /// Short-cut for simplify test execution fn run_for_testing(db: &RelationalDB, tx: &mut MutTxId, sql_text: &str) -> Result, DBError> { diff --git a/crates/sats/src/lib.rs b/crates/sats/src/lib.rs index f0b96111226..242d663fa90 100644 --- a/crates/sats/src/lib.rs +++ b/crates/sats/src/lib.rs @@ -82,6 +82,10 @@ impl<'a, T: Value> ValueWithType<'a, T> { self.ty.ty } + pub fn ty_s(&self) -> WithTypespace<'a, T::Type> { + self.ty + } + /// Returns the typing context (`Typespace`). pub fn typespace(&self) -> &'a Typespace { self.ty.typespace @@ -148,6 +152,13 @@ impl<'a, T: ?Sized> WithTypespace<'a, T> { } } + pub(crate) fn iter_with>(&self, tys: I) -> IterWithTypespace<'a, I::IntoIter> { + IterWithTypespace { + typespace: self.typespace, + iter: tys.into_iter(), + } + } + /// Wraps `val` with the type and typespace context in `self`. pub fn with_value<'b, V: Value>(&self, val: &'b V) -> ValueWithType<'b, V> where @@ -177,3 +188,30 @@ impl<'a, T: ?Sized> WithTypespace<'a, T> { } } } + +pub struct IterWithTypespace<'a, I> { + typespace: &'a Typespace, + iter: I, +} + +impl<'a, I, T: 'a> Iterator for IterWithTypespace<'a, I> +where + I: Iterator, +{ + type Item = WithTypespace<'a, T>; + fn next(&mut self) -> Option { + self.iter.next().map(|ty| self.typespace.with_type(ty)) + } + fn size_hint(&self) -> (usize, Option) { + self.iter.size_hint() + } +} + +impl<'a, I, T: 'a> ExactSizeIterator for IterWithTypespace<'a, I> +where + I: ExactSizeIterator, +{ + fn len(&self) -> usize { + self.iter.len() + } +} diff --git a/crates/sats/src/product_type.rs b/crates/sats/src/product_type.rs index 8c7898d663e..54f74398739 100644 --- a/crates/sats/src/product_type.rs +++ b/crates/sats/src/product_type.rs @@ -2,7 +2,7 @@ use crate::algebraic_value::de::{ValueDeserializeError, ValueDeserializer}; use crate::algebraic_value::ser::ValueSerializer; use crate::meta_type::MetaType; use crate::{de::Deserialize, ser::Serialize}; -use crate::{AlgebraicType, AlgebraicValue, ProductTypeElement}; +use crate::{AlgebraicType, AlgebraicValue, ProductTypeElement, ValueWithType, WithTypespace}; /// A structural product type of the factors given by `elements`. /// @@ -132,3 +132,56 @@ impl ProductType { Self::deserialize(ValueDeserializer::from_ref(value)) } } + +impl<'a> WithTypespace<'a, ProductType> { + #[inline] + pub fn elements(&self) -> ElementsWithTypespace<'a> { + self.iter_with(&self.ty().elements) + } + + #[inline] + pub fn with_values>( + &self, + vals: I, + ) -> ElementValuesWithType<'a, I::IntoIter> + where + I::IntoIter: ExactSizeIterator, + { + let elements = self.elements(); + let vals = vals.into_iter(); + assert_eq!(elements.len(), vals.len()); + ElementValuesWithType { + inner: std::iter::zip(elements, vals), + } + } +} + +impl<'a> IntoIterator for WithTypespace<'a, ProductType> { + type Item = WithTypespace<'a, ProductTypeElement>; + type IntoIter = ElementsWithTypespace<'a>; + #[inline] + fn into_iter(self) -> Self::IntoIter { + self.elements() + } +} + +pub type ElementsWithTypespace<'a> = crate::IterWithTypespace<'a, std::slice::Iter<'a, ProductTypeElement>>; + +pub struct ElementValuesWithType<'a, I> { + inner: std::iter::Zip, I>, +} + +impl<'a, I> Iterator for ElementValuesWithType<'a, I> +where + I: ExactSizeIterator, +{ + type Item = ValueWithType<'a, AlgebraicValue>; + fn next(&mut self) -> Option { + self.inner.next().map(|(ty, val)| ty.algebraic_type().with_value(val)) + } + fn size_hint(&self) -> (usize, Option) { + self.inner.size_hint() + } +} + +impl<'a, I> ExactSizeIterator for ElementValuesWithType<'a, I> where I: ExactSizeIterator {} diff --git a/crates/sats/src/product_type_element.rs b/crates/sats/src/product_type_element.rs index de88a67d2ad..3b1d1471512 100644 --- a/crates/sats/src/product_type_element.rs +++ b/crates/sats/src/product_type_element.rs @@ -1,6 +1,6 @@ use crate::meta_type::MetaType; -use crate::AlgebraicType; use crate::{de::Deserialize, ser::Serialize}; +use crate::{AlgebraicType, WithTypespace}; /// A factor / element of a product type. /// @@ -59,3 +59,10 @@ impl From for ProductTypeElement { ProductTypeElement::new(value, None) } } + +impl<'a> WithTypespace<'a, ProductTypeElement> { + #[inline] + pub fn algebraic_type(&self) -> WithTypespace<'a, AlgebraicType> { + self.with(&self.ty().algebraic_type) + } +} diff --git a/crates/sats/src/product_value.rs b/crates/sats/src/product_value.rs index 91a8064f6d0..f3c9ef74eeb 100644 --- a/crates/sats/src/product_value.rs +++ b/crates/sats/src/product_value.rs @@ -1,6 +1,6 @@ use crate::algebraic_value::AlgebraicValue; use crate::product_type::ProductType; -use crate::ArrayValue; +use crate::{ArrayValue, ValueWithType}; use nonempty::NonEmpty; use spacetimedb_primitives::ColId; @@ -42,6 +42,22 @@ impl FromIterator for ProductValue { } } +impl IntoIterator for ProductValue { + type Item = AlgebraicValue; + type IntoIter = std::vec::IntoIter; + fn into_iter(self) -> Self::IntoIter { + self.elements.into_iter() + } +} + +impl<'a> IntoIterator for &'a ProductValue { + type Item = &'a AlgebraicValue; + type IntoIter = std::slice::Iter<'a, AlgebraicValue>; + fn into_iter(self) -> Self::IntoIter { + self.elements.iter() + } +} + impl crate::Value for ProductValue { type Type = ProductType; } @@ -169,3 +185,9 @@ impl ProductValue { self.extract_field(index, named, |f| f.as_array()) } } + +impl<'a> ValueWithType<'a, ProductValue> { + pub fn elements(&self) -> impl ExactSizeIterator> { + self.ty_s().with_values(self.value()) + } +} diff --git a/crates/sats/src/typespace.rs b/crates/sats/src/typespace.rs index aa07da35ded..d55964a851b 100644 --- a/crates/sats/src/typespace.rs +++ b/crates/sats/src/typespace.rs @@ -49,6 +49,8 @@ impl IndexMut for Typespace { } impl Typespace { + pub const EMPTY: &Typespace = &Self::new(Vec::new()); + /// Returns a context ([`Typespace`]) with the given `types`. pub const fn new(types: Vec) -> Self { Self { types } diff --git a/crates/sqltest/Cargo.toml b/crates/sqltest/Cargo.toml index 25640e6982f..6c3b99a1c4a 100644 --- a/crates/sqltest/Cargo.toml +++ b/crates/sqltest/Cargo.toml @@ -25,6 +25,6 @@ rusqlite.workspace = true rust_decimal.workspace = true sqllogictest-engines.workspace = true sqllogictest.workspace = true -tempdir.workspace = true +tempfile.workspace = true tokio.workspace = true tokio-postgres.workspace = true diff --git a/crates/sqltest/src/main.rs b/crates/sqltest/src/main.rs index 992591a4d8d..9574a848edb 100644 --- a/crates/sqltest/src/main.rs +++ b/crates/sqltest/src/main.rs @@ -18,9 +18,12 @@ use anyhow::{anyhow, bail, Context}; use chrono::Local; use clap::{Parser, ValueEnum}; use console::style; +use itertools::Itertools; use quick_junit::{NonSuccessKind, Report, TestCase, TestCaseStatus, TestSuite}; +use spacetimedb::error::DBError; use sqllogictest::{ - default_validator, strict_column_validator, update_record_with_output, AsyncDB, Injected, Record, Runner, + default_validator, strict_column_validator, update_record_with_output, AsyncDB, Injected, MakeConnection, Record, + Runner, }; #[derive(Default, Copy, Clone, Debug, PartialEq, Eq, ValueEnum)] @@ -104,7 +107,7 @@ async fn main() -> anyhow::Result<()> { bail!("no test case found"); } if args.r#override || args.format { - return update_test_files(files, &args.engine, args.format).await; + return update_test_files(files, args.engine, args.format).await; } let mut report = Report::new(TEST_NAME.to_string()); @@ -120,11 +123,11 @@ async fn main() -> anyhow::Result<()> { result } -async fn open_db(engine: &DbType) -> anyhow::Result { +async fn open_db(engine: DbType) -> Result { Ok(match engine { DbType::SpaceTimeDb => SpaceDb::new()?.into_db(), - DbType::Sqlite => Sqlite::new()?.into_db(), - DbType::Postgres => Pg::new().await?.into_db(), + DbType::Sqlite => Sqlite::new().map_err(DBError::Other)?.into_db(), + DbType::Postgres => Pg::new().await.map_err(DBError::Other)?.into_db(), }) } @@ -134,9 +137,8 @@ async fn run_serial(test_suite: &mut TestSuite, files: Vec, engine: DbT let start = Instant::now(); for file in files { - let engine = open_db(&engine).await?; - let db_name = engine.engine_name().to_string(); - let runner = Runner::new(engine); + let db_name = format!("{engine:?}"); + let runner = Runner::new(|| open_db(engine)); let filename = file.to_string_lossy().to_string(); let test_case_name = filename.replace(['/', ' ', '.', '-'], "_"); let case = match run_test_file(&mut std::io::stdout(), runner, &file, &db_name).await { @@ -191,9 +193,9 @@ async fn run_serial(test_suite: &mut TestSuite, files: Vec, engine: DbT /// Different from [`Runner::run_file_async`], we re-implement it here to print some progress /// information. -async fn run_test_file( +async fn run_test_file>( out: &mut T, - mut runner: Runner, + mut runner: Runner, filename: impl AsRef, db_name: &str, ) -> anyhow::Result<(bool, Duration)> { @@ -232,7 +234,7 @@ async fn run_test_file( let will_skip = match &record { Record::Statement { conditions, .. } | Record::Query { conditions, .. } => { total += 1; - conditions.iter().any(|c| c.should_skip(db_name)) + conditions.iter().any(|c| should_skip(c, [db_name])) } _ => false, }; @@ -242,7 +244,8 @@ async fn run_test_file( } runner - .run(record) + .run_async(record) + .await .map_err(|e| anyhow!("{}", e.display(console::colors_enabled()))) .context(format!("failed to run `{}`", style(filename.to_string_lossy()).bold()))?; } @@ -265,6 +268,14 @@ async fn run_test_file( Ok((skipped, duration)) } +// sqllogictest::Condition::should_skip +fn should_skip<'a>(c: &'a sqllogictest::Condition, labels: impl IntoIterator) -> bool { + match c { + sqllogictest::Condition::OnlyIf { label } => !labels.into_iter().contains(&label.as_str()), + sqllogictest::Condition::SkipIf { label } => labels.into_iter().contains(&label.as_str()), + } +} + async fn finish_test_file( out: &mut T, time_stack: &mut Vec, @@ -301,10 +312,9 @@ async fn finish_test_file( } /// * `format` - If true, will not run sqls, only formats the file. -async fn update_test_files(files: Vec, engine: &DbType, format: bool) -> anyhow::Result<()> { +async fn update_test_files(files: Vec, engine: DbType, format: bool) -> anyhow::Result<()> { for file in files { - let engine = open_db(engine).await?; - let runner = Runner::new(engine); + let runner = Runner::new(|| open_db(engine)); if let Err(e) = update_test_file(&mut std::io::stdout(), runner, &file, format).await { { @@ -319,9 +329,9 @@ async fn update_test_files(files: Vec, engine: &DbType, format: bool) - /// Different from [`sqllogictest::update_test_file`], we re-implement it here to print some /// progress information. -async fn update_test_file( +async fn update_test_file>( out: &mut T, - mut runner: Runner, + mut runner: Runner, filename: impl AsRef, format: bool, ) -> anyhow::Result<()> { @@ -471,9 +481,9 @@ async fn update_test_file( Ok(()) } -async fn update_record( +async fn update_record>( outfile: &mut File, - runner: &mut Runner, + runner: &mut Runner, record: Record, format: bool, ) -> anyhow::Result<()> { diff --git a/crates/sqltest/src/space.rs b/crates/sqltest/src/space.rs index 5966ba4ea99..d9d3b6da9e5 100644 --- a/crates/sqltest/src/space.rs +++ b/crates/sqltest/src/space.rs @@ -12,7 +12,7 @@ use spacetimedb_sats::{AlgebraicType, AlgebraicValue, BuiltinType}; use sqllogictest::{AsyncDB, ColumnType, DBOutput}; use std::fs; use std::io::Write; -use tempdir::TempDir; +use tempfile::TempDir; #[derive(Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] pub struct Kind(pub(crate) AlgebraicType); @@ -67,7 +67,7 @@ pub struct SpaceDb { impl SpaceDb { pub fn new() -> anyhow::Result { - let tmp_dir = TempDir::new("stdb_test")?; + let tmp_dir = TempDir::with_prefix("stdb_test")?; let in_memory = false; let fsync = false; let conn = open_db(&tmp_dir, in_memory, fsync)?; diff --git a/crates/sqltest/src/sqlite.rs b/crates/sqltest/src/sqlite.rs index 72dd3445823..8ad15560f7c 100644 --- a/crates/sqltest/src/sqlite.rs +++ b/crates/sqltest/src/sqlite.rs @@ -5,7 +5,7 @@ use rusqlite::types::Value; use spacetimedb_sats::{meta_type::MetaType, AlgebraicType}; use sqllogictest::{AsyncDB, DBOutput}; use std::path::PathBuf; -use tempdir::TempDir; +use tempfile::TempDir; fn kind(of: &str) -> AlgebraicType { let of = of.to_uppercase(); @@ -46,7 +46,7 @@ pub struct Sqlite { impl Sqlite { pub fn new() -> anyhow::Result { - let tmp_dir = TempDir::new("sqlite_test")?; + let tmp_dir = TempDir::with_prefix("sqlite_test")?; let mut file = PathBuf::from(tmp_dir.path()); file.push("db.db"); diff --git a/crates/vm/Cargo.toml b/crates/vm/Cargo.toml index 07fc98e4c6c..8ed669e3914 100644 --- a/crates/vm/Cargo.toml +++ b/crates/vm/Cargo.toml @@ -16,4 +16,4 @@ thiserror.workspace = true tracing.workspace = true [dev-dependencies] -tempdir.workspace = true +tempfile.workspace = true