From 3cfedf6678049919afd70125b0faafebf7c800f6 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 10:29:13 -0400 Subject: [PATCH 01/20] save commit --- Cargo.lock | 1341 +++++++++-------- Cargo.toml | 2 + .../array/primitive/compute/filter_indices.rs | 11 +- vortex-array/src/validity.rs | 4 + vortex-array/src/view.rs | 1 - vortex-buffer/src/string.rs | 4 +- 6 files changed, 707 insertions(+), 656 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fec0c1439c..ffce563f4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -90,9 +90,9 @@ checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "arc-swap" @@ -373,6 +373,7 @@ dependencies = [ "arrow-data 52.0.0", "arrow-schema 52.0.0", "flatbuffers 24.3.25", + "lz4_flex", ] [[package]] @@ -553,12 +554,21 @@ dependencies = [ ] [[package]] -name = "async-priority-channel" -version = "0.2.0" +name = "async-compression" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acde96f444d31031f760c5c43dc786b97d3e1cb2ee49dd06898383fe9a999758" +checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" dependencies = [ - "event-listener", + "bzip2", + "flate2", + "futures-core", + "futures-io", + "memchr", + "pin-project-lite", + "tokio", + "xz2", + "zstd", + "zstd-safe", ] [[package]] @@ -569,7 +579,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -580,7 +590,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -598,12 +608,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - [[package]] name = "auto-const-array" version = "0.2.1" @@ -612,7 +616,7 @@ checksum = "62f7df18977a1ee03650ee4b31b4aefed6d56bac188760b6e37610400fe8d4bb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -642,7 +646,7 @@ dependencies = [ "fastrand", "hex", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.28", "ring 0.16.20", "time", "tokio", @@ -798,7 +802,7 @@ dependencies = [ "fastrand", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.28", "hyper-rustls", "lazy_static", "pin-project-lite", @@ -820,7 +824,7 @@ dependencies = [ "futures-core", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.28", "once_cell", "percent-encoding", "pin-project-lite", @@ -941,9 +945,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -989,11 +993,11 @@ dependencies = [ "fs_extra", "futures", "humansize", - "itertools 0.13.0", + "itertools 0.12.1", "lance", "lazy_static", "log", - "parquet", + "parquet 51.0.0", "reqwest 0.12.4", "simplelog", "tokio", @@ -1020,7 +1024,7 @@ dependencies = [ "bitflags 2.5.0", "cexpr", "clang-sys", - "itertools 0.10.5", + "itertools 0.12.1", "lazy_static", "lazycell", "log", @@ -1030,7 +1034,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.66", + "syn 2.0.61", "which", ] @@ -1046,18 +1050,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "blake2" version = "0.10.6" @@ -1097,7 +1089,18 @@ checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", - "brotli-decompressor", + "brotli-decompressor 2.5.1", +] + +[[package]] +name = "brotli" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor 4.0.1", ] [[package]] @@ -1110,11 +1113,22 @@ dependencies = [ "alloc-stdlib", ] +[[package]] +name = "brotli-decompressor" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + [[package]] name = "build-vortex" version = "0.1.0" dependencies = [ "cargo_metadata 0.18.1", + "flatc", "prost-build", "walkdir", ] @@ -1133,9 +1147,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" [[package]] name = "byteorder" @@ -1182,9 +1196,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] @@ -1233,9 +1247,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.99" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" dependencies = [ "jobserver", "libc", @@ -1345,9 +1359,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.8.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", @@ -1356,18 +1370,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstyle", "clap_lex", @@ -1376,9 +1390,18 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "cmake" +version = "0.1.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" +dependencies = [ + "cc", +] [[package]] name = "comfy-table" @@ -1391,15 +1414,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "condtype" version = "1.3.0" @@ -1459,9 +1473,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] @@ -1505,9 +1519,9 @@ dependencies = [ [[package]] name = "croaring" -version = "1.1.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611eaefca84c93e431ad82dfb848f6e05a99e25148384f45a3852b0fbe1c8086" +checksum = "7266f0a7275b00ce4c4f4753e8c31afdefe93828101ece83a06e2ddab1dd1010" dependencies = [ "byteorder", "croaring-sys", @@ -1515,18 +1529,18 @@ dependencies = [ [[package]] name = "croaring-sys" -version = "2.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5260027c04c33d67f405589d9c26e1e991fe062fb165f3094c9836e6c3b17f" +checksum = "e47112498c394a7067949ebc07ef429b7384a413cf0efcf675846a47bcd307fb" dependencies = [ "cc", ] [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ "crossbeam-utils", ] @@ -1550,20 +1564,11 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1623,7 +1628,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -1634,7 +1639,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -1666,15 +1671,15 @@ dependencies = [ "chrono", "dashmap", "datafusion-common 37.1.0", - "datafusion-common-runtime", - "datafusion-execution", + "datafusion-common-runtime 37.1.0", + "datafusion-execution 37.1.0", "datafusion-expr 37.1.0", - "datafusion-functions", - "datafusion-functions-array", - "datafusion-optimizer", - "datafusion-physical-expr", - "datafusion-physical-plan", - "datafusion-sql", + "datafusion-functions 37.1.0", + "datafusion-functions-array 37.1.0", + "datafusion-optimizer 37.1.0", + "datafusion-physical-expr 37.1.0", + "datafusion-physical-plan 37.1.0", + "datafusion-sql 37.1.0", "futures", "glob", "half", @@ -1683,7 +1688,7 @@ dependencies = [ "itertools 0.12.1", "log", "num_cpus", - "object_store", + "object_store 0.9.1", "parking_lot", "pin-project-lite", "rand", @@ -1694,6 +1699,60 @@ dependencies = [ "uuid", ] +[[package]] +name = "datafusion" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f92d2d7a9cba4580900b32b009848d9eb35f1028ac84cdd6ddcf97612cd0068" +dependencies = [ + "ahash", + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-ipc 52.0.0", + "arrow-schema 52.0.0", + "async-compression", + "async-trait", + "bytes", + "bzip2", + "chrono", + "dashmap", + "datafusion-common 39.0.0", + "datafusion-common-runtime 39.0.0", + "datafusion-execution 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-functions 39.0.0", + "datafusion-functions-aggregate", + "datafusion-functions-array 39.0.0", + "datafusion-optimizer 39.0.0", + "datafusion-physical-expr 39.0.0", + "datafusion-physical-expr-common", + "datafusion-physical-plan 39.0.0", + "datafusion-sql 39.0.0", + "flate2", + "futures", + "glob", + "half", + "hashbrown", + "indexmap", + "itertools 0.12.1", + "log", + "num_cpus", + "object_store 0.10.1", + "parking_lot", + "parquet 52.0.0", + "paste", + "pin-project-lite", + "rand", + "sqlparser 0.47.0", + "tempfile", + "tokio", + "tokio-util", + "url", + "uuid", + "xz2", + "zstd", +] + [[package]] name = "datafusion-common" version = "37.1.0" @@ -1710,7 +1769,7 @@ dependencies = [ "instant", "libc", "num_cpus", - "object_store", + "object_store 0.9.1", "sqlparser 0.44.0", ] @@ -1731,6 +1790,8 @@ dependencies = [ "instant", "libc", "num_cpus", + "object_store 0.10.1", + "parquet 52.0.0", "sqlparser 0.47.0", ] @@ -1743,6 +1804,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "datafusion-common-runtime" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0091318129dad1359f08e4c6c71f855163c35bba05d1dbf983196f727857894" +dependencies = [ + "tokio", +] + [[package]] name = "datafusion-execution" version = "37.1.0" @@ -1757,7 +1827,28 @@ dependencies = [ "futures", "hashbrown", "log", - "object_store", + "object_store 0.9.1", + "parking_lot", + "rand", + "tempfile", + "url", +] + +[[package]] +name = "datafusion-execution" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8385aba84fc4a06d3ebccfbcbf9b4f985e80c762fac634b49079f7cc14933fb1" +dependencies = [ + "arrow 52.0.0", + "chrono", + "dashmap", + "datafusion-common 39.0.0", + "datafusion-expr 39.0.0", + "futures", + "hashbrown", + "log", + "object_store 0.10.1", "parking_lot", "rand", "tempfile", @@ -1812,9 +1903,9 @@ dependencies = [ "blake3", "chrono", "datafusion-common 37.1.0", - "datafusion-execution", + "datafusion-execution 37.1.0", "datafusion-expr 37.1.0", - "datafusion-physical-expr", + "datafusion-physical-expr 37.1.0", "hex", "itertools 0.12.1", "log", @@ -1825,6 +1916,51 @@ dependencies = [ "uuid", ] +[[package]] +name = "datafusion-functions" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27c081ae5b7edd712b92767fb8ed5c0e32755682f8075707666cd70835807c0b" +dependencies = [ + "arrow 52.0.0", + "base64 0.22.1", + "blake2", + "blake3", + "chrono", + "datafusion-common 39.0.0", + "datafusion-execution 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-physical-expr 39.0.0", + "hashbrown", + "hex", + "itertools 0.12.1", + "log", + "md-5", + "rand", + "regex", + "sha2", + "unicode-segmentation", + "uuid", +] + +[[package]] +name = "datafusion-functions-aggregate" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb28a4ea52c28a26990646986a27c4052829a2a2572386258679e19263f8b78" +dependencies = [ + "ahash", + "arrow 52.0.0", + "arrow-schema 52.0.0", + "datafusion-common 39.0.0", + "datafusion-execution 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-physical-expr-common", + "log", + "paste", + "sqlparser 0.47.0", +] + [[package]] name = "datafusion-functions-array" version = "37.1.0" @@ -1837,9 +1973,29 @@ dependencies = [ "arrow-ord 51.0.0", "arrow-schema 51.0.0", "datafusion-common 37.1.0", - "datafusion-execution", + "datafusion-execution 37.1.0", "datafusion-expr 37.1.0", - "datafusion-functions", + "datafusion-functions 37.1.0", + "itertools 0.12.1", + "log", + "paste", +] + +[[package]] +name = "datafusion-functions-array" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b17c02a74cdc87380a56758ec27e7d417356bf806f33062700908929aedb8a" +dependencies = [ + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-ord 52.0.0", + "arrow-schema 52.0.0", + "datafusion-common 39.0.0", + "datafusion-execution 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-functions 39.0.0", "itertools 0.12.1", "log", "paste", @@ -1856,13 +2012,32 @@ dependencies = [ "chrono", "datafusion-common 37.1.0", "datafusion-expr 37.1.0", - "datafusion-physical-expr", + "datafusion-physical-expr 37.1.0", "hashbrown", "itertools 0.12.1", "log", "regex-syntax", ] +[[package]] +name = "datafusion-optimizer" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12172f2a6c9eb4992a51e62d709eeba5dedaa3b5369cce37ff6c2260e100ba76" +dependencies = [ + "arrow 52.0.0", + "async-trait", + "chrono", + "datafusion-common 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-physical-expr 39.0.0", + "hashbrown", + "indexmap", + "itertools 0.12.1", + "log", + "regex-syntax", +] + [[package]] name = "datafusion-physical-expr" version = "37.1.0" @@ -1881,7 +2056,7 @@ dependencies = [ "blake3", "chrono", "datafusion-common 37.1.0", - "datafusion-execution", + "datafusion-execution 37.1.0", "datafusion-expr 37.1.0", "half", "hashbrown", @@ -1898,6 +2073,49 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "datafusion-physical-expr" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3fce531b623e94180f6cd33d620ef01530405751b6ddd2fd96250cdbd78e2e" +dependencies = [ + "ahash", + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-ord 52.0.0", + "arrow-schema 52.0.0", + "arrow-string 52.0.0", + "base64 0.22.1", + "chrono", + "datafusion-common 39.0.0", + "datafusion-execution 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-functions-aggregate", + "datafusion-physical-expr-common", + "half", + "hashbrown", + "hex", + "indexmap", + "itertools 0.12.1", + "log", + "paste", + "petgraph", + "regex", +] + +[[package]] +name = "datafusion-physical-expr-common" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046400b6a2cc3ed57a7c576f5ae6aecc77804ac8e0186926b278b189305b2a77" +dependencies = [ + "arrow 52.0.0", + "datafusion-common 39.0.0", + "datafusion-expr 39.0.0", + "rand", +] + [[package]] name = "datafusion-physical-plan" version = "37.1.0" @@ -1912,10 +2130,44 @@ dependencies = [ "async-trait", "chrono", "datafusion-common 37.1.0", - "datafusion-common-runtime", - "datafusion-execution", + "datafusion-common-runtime 37.1.0", + "datafusion-execution 37.1.0", "datafusion-expr 37.1.0", - "datafusion-physical-expr", + "datafusion-physical-expr 37.1.0", + "futures", + "half", + "hashbrown", + "indexmap", + "itertools 0.12.1", + "log", + "once_cell", + "parking_lot", + "pin-project-lite", + "rand", + "tokio", +] + +[[package]] +name = "datafusion-physical-plan" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aed47f5a2ad8766260befb375b201592e86a08b260256e168ae4311426a2bff" +dependencies = [ + "ahash", + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-ord 52.0.0", + "arrow-schema 52.0.0", + "async-trait", + "chrono", + "datafusion-common 39.0.0", + "datafusion-common-runtime 39.0.0", + "datafusion-execution 39.0.0", + "datafusion-expr 39.0.0", + "datafusion-functions-aggregate", + "datafusion-physical-expr 39.0.0", + "datafusion-physical-expr-common", "futures", "half", "hashbrown", @@ -1946,23 +2198,20 @@ dependencies = [ ] [[package]] -name = "deepsize" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdb987ec36f6bf7bfbea3f928b75590b736fc42af8e54d97592481351b2b96c" -dependencies = [ - "deepsize_derive", -] - -[[package]] -name = "deepsize_derive" -version = "0.1.2" +name = "datafusion-sql" +version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990101d41f3bc8c1a45641024377ee284ecc338e5ecf3ea0f0e236d897c72796" +checksum = "7fa92bb1fd15e46ce5fb6f1c85f3ac054592560f294429a28e392b5f9cd4255e" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-schema 52.0.0", + "datafusion-common 39.0.0", + "datafusion-expr 39.0.0", + "log", + "regex", + "sqlparser 0.47.0", + "strum", ] [[package]] @@ -1992,7 +2241,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -2002,7 +2251,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" dependencies = [ "derive_builder_core", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -2037,17 +2286,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "displaydoc" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "divan" version = "0.1.14" @@ -2070,7 +2308,7 @@ checksum = "27540baf49be0d484d8f0130d7d8da3011c32a44d4fc873368154f1510e574a2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -2081,9 +2319,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "either" -version = "1.12.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "encoding_rs" @@ -2111,7 +2349,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -2122,9 +2360,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2139,17 +2377,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - [[package]] name = "fastlanez" version = "0.1.0" @@ -2202,6 +2429,15 @@ dependencies = [ "rustc_version", ] +[[package]] +name = "flatc" +version = "0.2.2+23.5.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4bba3050358223ece3d79720f9800139503b600e93b1d68493500a2d8c3721e" +dependencies = [ + "cmake", +] + [[package]] name = "flate2" version = "1.0.30" @@ -2261,12 +2497,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "futures" version = "0.3.30" @@ -2323,7 +2553,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -2390,9 +2620,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -2421,15 +2651,15 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" dependencies = [ - "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", + "futures-util", "http 1.1.0", "indexmap", "slab", @@ -2440,9 +2670,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" dependencies = [ "cfg-if", "crunchy", @@ -2546,12 +2776,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" dependencies = [ "bytes", - "futures-util", + "futures-core", "http 1.1.0", "http-body 1.0.0", "pin-project-lite", @@ -2559,9 +2789,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -2586,9 +2816,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -2617,7 +2847,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.4", "http 1.1.0", "http-body 1.0.0", "httparse", @@ -2636,7 +2866,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.28", "log", "rustls", "rustls-native-certs", @@ -2662,9 +2892,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" dependencies = [ "bytes", "futures-channel", @@ -2703,124 +2933,6 @@ dependencies = [ "cc", ] -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -2829,14 +2941,12 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ - "icu_normalizer", - "icu_properties", - "smallvec", - "utf8_iter", + "unicode-bidi", + "unicode-normalization", ] [[package]] @@ -2857,9 +2967,9 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "instant" -version = "0.1.13" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", "js-sys", @@ -2918,15 +3028,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.11" @@ -2953,9 +3054,9 @@ dependencies = [ [[package]] name = "lance" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9006f7668f7a96c3a42d5c8be0eea08e7da63a06f3f48074bcbcdb8da48bed6" +checksum = "362b480df322cd9a1d0ae9336197001d29140843d3716a31a8f55ced9c000a54" dependencies = [ "arrow 51.0.0", "arrow-arith 51.0.0", @@ -2973,10 +3074,9 @@ dependencies = [ "bytes", "chrono", "dashmap", - "datafusion", - "datafusion-functions", - "datafusion-physical-expr", - "deepsize", + "datafusion 37.1.0", + "datafusion-functions 37.1.0", + "datafusion-physical-expr 37.1.0", "futures", "half", "itertools 0.12.1", @@ -2984,7 +3084,6 @@ dependencies = [ "lance-core", "lance-datafusion", "lance-datagen", - "lance-encoding", "lance-file", "lance-index", "lance-io", @@ -2995,7 +3094,7 @@ dependencies = [ "lru_time_cache", "moka", "num_cpus", - "object_store", + "object_store 0.9.1", "ordered-float 3.9.2", "pin-project", "prost", @@ -3014,9 +3113,9 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225797ba855b4d059424726efb51122c1571db203b6da4078f6f0455ed467199" +checksum = "a227e1c408cce3db3270a41e80b353f4abb90d0891de7bc53aa9ee7683f77d8f" dependencies = [ "arrow-array 51.0.0", "arrow-buffer 51.0.0", @@ -3033,9 +3132,9 @@ dependencies = [ [[package]] name = "lance-core" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f42ef248b13d04f060ef945c4430ac20c240a7aff86e2f0f6cfa55f1c057c2" +checksum = "a88115f28618a2ca888fe41aeecca49bb90d4c61ba4c25f457c5a86f29fce5f9" dependencies = [ "arrow-array 51.0.0", "arrow-buffer 51.0.0", @@ -3045,8 +3144,7 @@ dependencies = [ "bytes", "chrono", "datafusion-common 37.1.0", - "datafusion-sql", - "deepsize", + "datafusion-sql 37.1.0", "futures", "lance-arrow", "lazy_static", @@ -3054,7 +3152,7 @@ dependencies = [ "mock_instant", "moka", "num_cpus", - "object_store", + "object_store 0.9.1", "pin-project", "prost", "rand", @@ -3070,19 +3168,19 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7457fe0d653bfbfb0dcaf122cb7c07a1d7935c5a56187f29fa9a83ef53b084f7" +checksum = "c1d43fb160792ce395d76ed864b7e1c6ef3a9fe46e5fe54f5339409aaf89c037" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", "arrow-ord 51.0.0", "arrow-schema 51.0.0", "async-trait", - "datafusion", + "datafusion 37.1.0", "datafusion-common 37.1.0", - "datafusion-functions", - "datafusion-physical-expr", + "datafusion-functions 37.1.0", + "datafusion-physical-expr 37.1.0", "futures", "lance-arrow", "lance-core", @@ -3094,9 +3192,9 @@ dependencies = [ [[package]] name = "lance-datagen" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51857bc36b6cb594b9838a42b2499f1969b479d2521fd1318726f23702d874f0" +checksum = "7abd3dc7a5420ba82abb8dc3f826ff0d2b08c8e61ec20e5c9b087695ff583aa8" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", @@ -3111,9 +3209,9 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8b403725f29a6b5eca6b2795f944d335166feecef3bdf95394a7ae424e0d55" +checksum = "694a0d2ce6617d83ccbccbe03b092343e03d0d3de389773143a6994575bb6c40" dependencies = [ "arrow-arith 51.0.0", "arrow-array 51.0.0", @@ -3134,14 +3232,13 @@ dependencies = [ "snafu", "tokio", "tracing", - "zstd", ] [[package]] name = "lance-file" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76b3344ebf260d4be4e9c3e256f49a2158d74030aaad34868defa8ecf3c1c8fc" +checksum = "fa0d5fa512333bf420475d34d631262ba4de6d604c93eaa7fb3d7fa2760c1758" dependencies = [ "arrow-arith 51.0.0", "arrow-array 51.0.0", @@ -3154,7 +3251,6 @@ dependencies = [ "byteorder", "bytes", "datafusion-common 37.1.0", - "deepsize", "futures", "lance-arrow", "lance-core", @@ -3164,22 +3260,21 @@ dependencies = [ "log", "num-traits", "num_cpus", - "object_store", + "object_store 0.9.1", "prost", "prost-build", "prost-types", "roaring", "snafu", - "tempfile", "tokio", "tracing", ] [[package]] name = "lance-index" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9168a8ffa1b3378d526ffc969e9837f5d37244790758893e8700ef49c2c6b64e" +checksum = "b2f1892475738d35b46adb4f474934999545f46d23cdbb38181b45d8cdcbf471" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", @@ -3188,21 +3283,17 @@ dependencies = [ "arrow-select 51.0.0", "async-recursion", "async-trait", - "bitvec", - "crossbeam-queue", - "datafusion", + "datafusion 37.1.0", "datafusion-common 37.1.0", "datafusion-expr 37.1.0", - "datafusion-physical-expr", - "datafusion-sql", - "deepsize", + "datafusion-physical-expr 37.1.0", + "datafusion-sql 37.1.0", "futures", "half", "itertools 0.12.1", "lance-arrow", "lance-core", "lance-datafusion", - "lance-encoding", "lance-file", "lance-io", "lance-linalg", @@ -3211,11 +3302,10 @@ dependencies = [ "log", "num-traits", "num_cpus", - "object_store", + "object_store 0.9.1", "prost", "prost-build", "rand", - "rayon", "roaring", "rustc_version", "serde", @@ -3228,9 +3318,9 @@ dependencies = [ [[package]] name = "lance-io" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71854ddbbb3b32ea2849d18694c7ca4506e9fd21bfcc46f74f8caeac50234007" +checksum = "e7143cf3e0175ed720be9515a188d7c37f748f2ffe32b08af65d45aed5a0af00" dependencies = [ "arrow 51.0.0", "arrow-arith 51.0.0", @@ -3240,7 +3330,6 @@ dependencies = [ "arrow-data 51.0.0", "arrow-schema 51.0.0", "arrow-select 51.0.0", - "async-priority-channel", "async-recursion", "async-trait", "aws-config", @@ -3248,13 +3337,12 @@ dependencies = [ "byteorder", "bytes", "chrono", - "deepsize", "futures", "lance-arrow", "lance-core", "lazy_static", "num_cpus", - "object_store", + "object_store 0.9.1", "path_abs", "pin-project", "prost", @@ -3263,22 +3351,21 @@ dependencies = [ "shellexpand", "snafu", "tokio", + "tokio-stream", "tracing", "url", ] [[package]] name = "lance-linalg" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b4f4a922104a337176807941dce543d5dc597a5e72ba8e16a0f8964f0ad806" +checksum = "d6d737aabcaa7c34c1bd70282d667b45df7549b5cf80e44ed2a3481fbdebd260" dependencies = [ "arrow-array 51.0.0", "arrow-ord 51.0.0", "arrow-schema 51.0.0", - "bitvec", "cc", - "deepsize", "futures", "half", "lance-arrow", @@ -3288,16 +3375,15 @@ dependencies = [ "num-traits", "num_cpus", "rand", - "rayon", "tokio", "tracing", ] [[package]] name = "lance-table" -version = "0.12.2" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e23d91e024c8c9a1794ab41e8596f396a149ceb2097e4e4dbc69ab3cd4a86b3" +checksum = "b9017c6d5aa45b233a835ac156a48621f61e552bebb8fdbb11952e96581c6aca" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", @@ -3309,7 +3395,6 @@ dependencies = [ "byteorder", "bytes", "chrono", - "deepsize", "futures", "lance-arrow", "lance-core", @@ -3317,12 +3402,11 @@ dependencies = [ "lance-file", "lance-io", "log", - "object_store", + "object_store 0.9.1", "prost", "prost-build", "prost-types", "rand", - "rangemap", "roaring", "serde", "serde_json", @@ -3411,9 +3495,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libloading" @@ -3443,15 +3527,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "litemap" -version = "0.7.3" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -3484,6 +3562,17 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "mach2" version = "0.4.2" @@ -3547,9 +3636,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -3625,7 +3714,7 @@ checksum = "176a5f5e69613d9e88337cf2a65e11135332b4efbcc628404a7c555e4452084c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -3636,10 +3725,11 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ + "lazy_static", "libc", "log", "openssl", @@ -3676,9 +3766,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" dependencies = [ "num-bigint", "num-complex", @@ -3700,9 +3790,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] @@ -3735,10 +3825,11 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ + "autocfg", "num-bigint", "num-integer", "num-traits", @@ -3803,7 +3894,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -3817,9 +3908,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] @@ -3836,7 +3927,7 @@ dependencies = [ "chrono", "futures", "humantime", - "hyper 0.14.29", + "hyper 0.14.28", "itertools 0.12.1", "md-5", "parking_lot", @@ -3855,6 +3946,27 @@ dependencies = [ "walkdir", ] +[[package]] +name = "object_store" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbebfd32c213ba1907fa7a9c9138015a8de2b43e30c5aa45b18f7deb46786ad6" +dependencies = [ + "async-trait", + "bytes", + "chrono", + "futures", + "humantime", + "itertools 0.12.1", + "parking_lot", + "percent-encoding", + "snafu", + "tokio", + "tracing", + "url", + "walkdir", +] + [[package]] name = "once_cell" version = "1.19.0" @@ -3890,7 +4002,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -3947,17 +4059,11 @@ version = "1.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fecab3723493c7851f292cb060f3ee1c42f19b8d749345d0d7eaf3fd19aa62d" -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -3991,21 +4097,57 @@ dependencies = [ "arrow-schema 51.0.0", "arrow-select 51.0.0", "base64 0.22.1", - "brotli", + "brotli 3.5.0", + "bytes", + "chrono", + "flate2", + "half", + "hashbrown", + "lz4_flex", + "num", + "num-bigint", + "paste", + "seq-macro", + "snap", + "thrift", + "twox-hash", + "zstd", +] + +[[package]] +name = "parquet" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c3b5322cc1bbf67f11c079c42be41a55949099b78732f7dba9e15edde40eab" +dependencies = [ + "ahash", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-cast 52.0.0", + "arrow-data 52.0.0", + "arrow-ipc 52.0.0", + "arrow-schema 52.0.0", + "arrow-select 52.0.0", + "base64 0.22.1", + "brotli 6.0.0", "bytes", "chrono", "flate2", + "futures", "half", "hashbrown", "lz4_flex", "num", "num-bigint", + "object_store 0.10.1", "paste", "seq-macro", "snap", "thrift", + "tokio", "twox-hash", "zstd", + "zstd-sys", ] [[package]] @@ -4043,9 +4185,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.6.5" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", "indexmap", @@ -4106,7 +4248,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -4129,9 +4271,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plotters" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" dependencies = [ "num-traits", "plotters-backend", @@ -4142,15 +4284,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" +checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" [[package]] name = "plotters-svg" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" +checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" dependencies = [ "plotters-backend", ] @@ -4180,7 +4322,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -4204,18 +4346,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.12.6" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" dependencies = [ "bytes", "prost-derive", @@ -4223,13 +4365,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.6" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" dependencies = [ "bytes", "heck 0.5.0", - "itertools 0.10.5", + "itertools 0.12.1", "log", "multimap", "once_cell", @@ -4238,28 +4380,28 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.66", + "syn 2.0.61", "tempfile", ] [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] name = "prost-types" -version = "0.12.6" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" dependencies = [ "prost", ] @@ -4333,7 +4475,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -4346,7 +4488,7 @@ dependencies = [ "proc-macro2", "pyo3-build-config", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -4404,12 +4546,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - [[package]] name = "rand" version = "0.8.5" @@ -4449,12 +4585,6 @@ dependencies = [ "rand_core", ] -[[package]] -name = "rangemap" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" - [[package]] name = "raw-cpuid" version = "10.7.0" @@ -4506,9 +4636,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", @@ -4518,9 +4648,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -4529,15 +4659,15 @@ dependencies = [ [[package]] name = "regex-lite" -version = "0.1.6" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" +checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" @@ -4553,7 +4683,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.28", "hyper-rustls", "ipnet", "js-sys", @@ -4594,7 +4724,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.4", "http 1.1.0", "http-body 1.0.0", "http-body-util", @@ -4657,9 +4787,9 @@ dependencies = [ [[package]] name = "roaring" -version = "0.10.5" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8" +checksum = "b26f4c25a604fcb3a1bcd96dd6ba37c93840de95de8198d94c0d571a74a804d1" dependencies = [ "bytemuck", "byteorder", @@ -4744,9 +4874,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "51f344d206c5e1b010eec27349b815a4805f70a778895959d70b74b9b529b30a" [[package]] name = "rustls-webpki" @@ -4760,9 +4890,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" [[package]] name = "ryu" @@ -4853,9 +4983,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" dependencies = [ "serde_derive", ] @@ -4884,20 +5014,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "itoa", "ryu", @@ -5086,15 +5216,9 @@ checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "1.1.0" @@ -5130,15 +5254,15 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.26.4" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -5160,9 +5284,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" dependencies = [ "proc-macro2", "quote", @@ -5175,17 +5299,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "system-configuration" version = "0.5.1" @@ -5213,12 +5326,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "target-lexicon" version = "0.12.14" @@ -5258,22 +5365,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -5329,16 +5436,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - [[package]] name = "tinytemplate" version = "1.2.1" @@ -5349,11 +5446,26 @@ dependencies = [ "serde_json", ] +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" -version = "1.38.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -5370,13 +5482,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -5425,9 +5537,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -5499,7 +5611,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", ] [[package]] @@ -5513,9 +5625,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.12" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2cb4fbb9995eeb36ac86fadf24031ccd58f99d6b4b2d7b911db70bddb80d90" +checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" [[package]] name = "try-lock" @@ -5548,12 +5660,27 @@ dependencies = [ "version_check", ] +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-segmentation" version = "1.11.0" @@ -5562,9 +5689,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unindent" @@ -5592,9 +5719,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -5607,18 +5734,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - [[package]] name = "uuid" version = "1.8.0" @@ -5646,7 +5761,7 @@ name = "vortex-alp" version = "0.1.0" dependencies = [ "divan", - "itertools 0.13.0", + "itertools 0.12.1", "num-traits", "serde", "vortex-array", @@ -5665,12 +5780,12 @@ dependencies = [ "build-vortex", "criterion", "enum-iterator", - "flatbuffers 24.3.25", + "flatbuffers 23.5.26", "flexbuffers", "futures-util", "getrandom", "humansize", - "itertools 0.13.0", + "itertools 0.12.1", "lazy_static", "log", "num-traits", @@ -5697,6 +5812,19 @@ dependencies = [ "flexbuffers", ] +[[package]] +name = "vortex-datafusion" +version = "0.1.0" +dependencies = [ + "async-trait", + "datafusion 39.0.0", + "datafusion-common 39.0.0", + "datafusion-expr 39.0.0", + "vortex-array", + "vortex-dtype", + "vortex-error", +] + [[package]] name = "vortex-datetime-parts" version = "0.1.0" @@ -5732,9 +5860,9 @@ name = "vortex-dtype" version = "0.1.0" dependencies = [ "build-vortex", - "flatbuffers 24.3.25", + "flatbuffers 23.5.26", "half", - "itertools 0.13.0", + "itertools 0.12.1", "num-traits", "prost", "serde", @@ -5749,9 +5877,9 @@ name = "vortex-error" version = "0.1.0" dependencies = [ "arrow-schema 51.0.0", - "flatbuffers 24.3.25", + "flatbuffers 23.5.26", "flexbuffers", - "parquet", + "parquet 51.0.0", "thiserror", "worker", ] @@ -5777,7 +5905,7 @@ dependencies = [ "arrayref", "criterion", "fastlanez", - "itertools 0.13.0", + "itertools 0.12.1", "num-traits", "rand", "serde", @@ -5792,7 +5920,7 @@ dependencies = [ name = "vortex-flatbuffers" version = "0.1.0" dependencies = [ - "flatbuffers 24.3.25", + "flatbuffers 23.5.26", ] [[package]] @@ -5808,10 +5936,10 @@ dependencies = [ "bytes", "criterion", "derive_builder", - "flatbuffers 24.3.25", + "flatbuffers 23.5.26", "futures-executor", "futures-util", - "itertools 0.13.0", + "itertools 0.12.1", "monoio", "pin-project", "rand", @@ -5831,7 +5959,7 @@ dependencies = [ name = "vortex-ree" version = "0.1.0" dependencies = [ - "itertools 0.13.0", + "itertools 0.12.1", "num-traits", "serde", "vortex-array", @@ -5862,9 +5990,9 @@ version = "0.1.0" dependencies = [ "build-vortex", "datafusion-common 39.0.0", - "flatbuffers 24.3.25", + "flatbuffers 23.5.26", "flexbuffers", - "itertools 0.13.0", + "itertools 0.12.1", "num-traits", "paste", "prost", @@ -5941,7 +6069,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", "wasm-bindgen-shared", ] @@ -5975,7 +6103,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6231,9 +6359,9 @@ dependencies = [ [[package]] name = "worker" -version = "0.3.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58b567e8b518469c73c8d7e4798d5abcd7db76a1b33121fffd36ac6fa62da05" +checksum = "aa130f6f7e5a0b716e0f5472d412fe97962ded204d76ddaf3eeba7360dfcae93" dependencies = [ "async-trait", "bytes", @@ -6277,14 +6405,14 @@ dependencies = [ [[package]] name = "worker-macros" -version = "0.3.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15db63b1b56564beca160a5265169730a109fc85c21e858f184bb9e39afbfe44" +checksum = "6a0f7f15151a77dca96813d0eff10ab9b29114533fae0267d00c466c13081e69" dependencies = [ "async-trait", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.61", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-macro-support", @@ -6293,9 +6421,9 @@ dependencies = [ [[package]] name = "worker-sys" -version = "0.3.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1082d3b324dd37fe9b25b1aa61a938e343d035650708986bf9d0aa9a020c84" +checksum = "14ee9baa2ef3c7dea0e2165ff8aaad15e4c4cedb2d30a7deefd4999cd0ae96a3" dependencies = [ "cfg-if", "js-sys", @@ -6303,27 +6431,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - [[package]] name = "xmlparser" version = "0.13.6" @@ -6331,27 +6438,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" [[package]] -name = "yoke" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.4" +name = "xz2" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", - "synstructure", + "lzma-sys", ] [[package]] @@ -6371,57 +6463,14 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", -] - -[[package]] -name = "zerofrom" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", - "synstructure", + "syn 2.0.61", ] [[package]] name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zerovec" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" [[package]] name = "zigzag" @@ -6434,27 +6483,27 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.1.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index b4dfe4c699..295cb007fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,6 +43,7 @@ arrow-data = "51.0.0" arrow-ipc = "51.0.0" arrow-schema = "51.0.0" arrow-select = "51.0.0" +async-trait = "0.1" bindgen = "0.69.4" bytes = "1.6.0" bzip2 = "0.4.4" @@ -50,6 +51,7 @@ cargo_metadata = "0.18.1" criterion = { version = "0.5.1", features = ["html_reports"] } croaring = "1.0.1" csv = "1.3.0" +datafusion = "39.0.0" datafusion-common = "39.0.0" datafusion-expr = "39.0.0" derive_builder = "0.20.0" diff --git a/vortex-array/src/array/primitive/compute/filter_indices.rs b/vortex-array/src/array/primitive/compute/filter_indices.rs index 1b63894e8c..47aebe6cbd 100644 --- a/vortex-array/src/array/primitive/compute/filter_indices.rs +++ b/vortex-array/src/array/primitive/compute/filter_indices.rs @@ -80,13 +80,10 @@ mod test { } fn to_int_indices(filtered_primitive: BoolArray) -> Vec { - let filtered = filtered_primitive - .boolean_buffer() - .iter() - .enumerate() - .flat_map(|(idx, v)| if v { Some(idx as u64) } else { None }) - .collect_vec(); - filtered + filtered_primitive.boolean_buffer() + .set_indices() + .map(|i| i as u64) + .collect() } #[test] diff --git a/vortex-array/src/validity.rs b/vortex-array/src/validity.rs index a88fa66714..a390cc9b3a 100644 --- a/vortex-array/src/validity.rs +++ b/vortex-array/src/validity.rs @@ -1,3 +1,7 @@ +//! Types for tracking the null or non-null elements of an [Array]. +//! +//! The [`validity`] module tracks the. + use arrow_buffer::{BooleanBuffer, BooleanBufferBuilder, NullBuffer}; use serde::{Deserialize, Serialize}; use vortex_dtype::{DType, Nullability}; diff --git a/vortex-array/src/view.rs b/vortex-array/src/view.rs index 9fe76510f8..052ee00036 100644 --- a/vortex-array/src/view.rs +++ b/vortex-array/src/view.rs @@ -34,7 +34,6 @@ impl Debug for ArrayView { f.debug_struct("ArrayView") .field("encoding", &self.encoding) .field("dtype", &self.dtype) - // .field("array", &self.array) .field("buffers", &self.buffers) .field("ctx", &self.ctx) .finish() diff --git a/vortex-buffer/src/string.rs b/vortex-buffer/src/string.rs index 520d3102f4..c2dfe0de13 100644 --- a/vortex-buffer/src/string.rs +++ b/vortex-buffer/src/string.rs @@ -3,12 +3,12 @@ use std::str::Utf8Error; use crate::Buffer; -/// A wrapper around a `Buffer` that guarantees that the buffer contains valid UTF-8. +/// A wrapper around a [`Buffer`] that guarantees that the buffer contains valid UTF-8. #[derive(Debug, Clone, PartialEq, Eq, PartialOrd)] pub struct BufferString(Buffer); impl BufferString { - /// Creates a new `BufferString` from a `Buffer`. + /// Creates a new `BufferString` from a [`Buffer`]. /// /// # Safety /// Assumes that the buffer contains valid UTF-8. From eb84295a094465c3a9bb922b793cc16c23d89ece Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 09:50:49 -0400 Subject: [PATCH 02/20] save commit --- vortex-datafusion/Cargo.toml | 24 ++++++++++++++++++++++++ vortex-datafusion/src/lib.rs | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 vortex-datafusion/Cargo.toml create mode 100644 vortex-datafusion/src/lib.rs diff --git a/vortex-datafusion/Cargo.toml b/vortex-datafusion/Cargo.toml new file mode 100644 index 0000000000..51563da0ae --- /dev/null +++ b/vortex-datafusion/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "vortex-datafusion" +version.workspace = true +homepage.workspace = true +repository.workspace = true +authors.workspace = true +license.workspace = true +keywords.workspace = true +include.workspace = true +edition.workspace = true +rust-version.workspace = true + +[dependencies] +vortex-array = { path = "../vortex-array" } +vortex-dtype = { path = "../vortex-dtype" } +vortex-error = { path = "../vortex-error" } + +async-trait = { workspace = true } +datafusion = { workspace = true } +datafusion-common = { workspace = true } +datafusion-expr = { workspace = true } + +[lints] +workspace = true diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs new file mode 100644 index 0000000000..290a275439 --- /dev/null +++ b/vortex-datafusion/src/lib.rs @@ -0,0 +1,35 @@ +//! Connectors to enable DataFusion to read Vortex data. + +use std::any::Any; +use std::sync::Arc; +use async_trait::async_trait; +use datafusion::arrow::datatypes::SchemaRef; +use datafusion::datasource::file_format::FileFormat; +use datafusion::datasource::physical_plan::FileScanConfig; +use datafusion::execution::context::SessionState; +use datafusion::physical_expr::PhysicalExpr; +use datafusion::physical_plan::ExecutionPlan; +use datafusion_common::Statistics; + +#[derive(Debug, Clone)] +pub struct VortexFileFormat {} + +#[async_trait] +impl FileFormat for VortexFileFormat { + fn as_any(&self) -> &dyn Any { + todo!() + } + + async fn infer_schema(&self, state: &SessionState, store: &Arc, objects: &[object_store::ObjectMeta]) -> datafusion_common::Result { + todo!() + } + + async fn infer_stats(&self, state: &SessionState, store: &Arc, table_schema: SchemaRef, object: &object_store::ObjectMeta) -> datafusion_common::Result { + Statistics:: + todo!() + } + + async fn create_physical_plan(&self, state: &SessionState, conf: FileScanConfig, filters: Option<&Arc>) -> datafusion_common::Result> { + todo!() + } +} \ No newline at end of file From 8a078dd548347d28e2fc6704bf679575668e19ed Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 10:32:33 -0400 Subject: [PATCH 03/20] bump lock --- Cargo.lock | 710 ++++++++++++++++------------------------------------- 1 file changed, 216 insertions(+), 494 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ffce563f4c..ac4d521e7f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -373,7 +373,6 @@ dependencies = [ "arrow-data 52.0.0", "arrow-schema 52.0.0", "flatbuffers 24.3.25", - "lz4_flex", ] [[package]] @@ -554,21 +553,12 @@ dependencies = [ ] [[package]] -name = "async-compression" -version = "0.4.11" +name = "async-priority-channel" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" +checksum = "acde96f444d31031f760c5c43dc786b97d3e1cb2ee49dd06898383fe9a999758" dependencies = [ - "bzip2", - "flate2", - "futures-core", - "futures-io", - "memchr", - "pin-project-lite", - "tokio", - "xz2", - "zstd", - "zstd-safe", + "event-listener", ] [[package]] @@ -993,11 +983,11 @@ dependencies = [ "fs_extra", "futures", "humansize", - "itertools 0.12.1", + "itertools 0.13.0", "lance", "lazy_static", "log", - "parquet 51.0.0", + "parquet", "reqwest 0.12.4", "simplelog", "tokio", @@ -1050,6 +1040,18 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "blake2" version = "0.10.6" @@ -1089,18 +1091,7 @@ checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", - "brotli-decompressor 2.5.1", -] - -[[package]] -name = "brotli" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor 4.0.1", + "brotli-decompressor", ] [[package]] @@ -1113,22 +1104,11 @@ dependencies = [ "alloc-stdlib", ] -[[package]] -name = "brotli-decompressor" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - [[package]] name = "build-vortex" version = "0.1.0" dependencies = [ "cargo_metadata 0.18.1", - "flatc", "prost-build", "walkdir", ] @@ -1394,15 +1374,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" -[[package]] -name = "cmake" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" -dependencies = [ - "cc", -] - [[package]] name = "comfy-table" version = "7.1.1" @@ -1414,6 +1385,15 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "condtype" version = "1.3.0" @@ -1564,6 +1544,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.19" @@ -1671,15 +1660,15 @@ dependencies = [ "chrono", "dashmap", "datafusion-common 37.1.0", - "datafusion-common-runtime 37.1.0", - "datafusion-execution 37.1.0", + "datafusion-common-runtime", + "datafusion-execution", "datafusion-expr 37.1.0", - "datafusion-functions 37.1.0", - "datafusion-functions-array 37.1.0", - "datafusion-optimizer 37.1.0", - "datafusion-physical-expr 37.1.0", - "datafusion-physical-plan 37.1.0", - "datafusion-sql 37.1.0", + "datafusion-functions", + "datafusion-functions-array", + "datafusion-optimizer", + "datafusion-physical-expr", + "datafusion-physical-plan", + "datafusion-sql", "futures", "glob", "half", @@ -1688,7 +1677,7 @@ dependencies = [ "itertools 0.12.1", "log", "num_cpus", - "object_store 0.9.1", + "object_store", "parking_lot", "pin-project-lite", "rand", @@ -1699,60 +1688,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "datafusion" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f92d2d7a9cba4580900b32b009848d9eb35f1028ac84cdd6ddcf97612cd0068" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-ipc 52.0.0", - "arrow-schema 52.0.0", - "async-compression", - "async-trait", - "bytes", - "bzip2", - "chrono", - "dashmap", - "datafusion-common 39.0.0", - "datafusion-common-runtime 39.0.0", - "datafusion-execution 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-functions 39.0.0", - "datafusion-functions-aggregate", - "datafusion-functions-array 39.0.0", - "datafusion-optimizer 39.0.0", - "datafusion-physical-expr 39.0.0", - "datafusion-physical-expr-common", - "datafusion-physical-plan 39.0.0", - "datafusion-sql 39.0.0", - "flate2", - "futures", - "glob", - "half", - "hashbrown", - "indexmap", - "itertools 0.12.1", - "log", - "num_cpus", - "object_store 0.10.1", - "parking_lot", - "parquet 52.0.0", - "paste", - "pin-project-lite", - "rand", - "sqlparser 0.47.0", - "tempfile", - "tokio", - "tokio-util", - "url", - "uuid", - "xz2", - "zstd", -] - [[package]] name = "datafusion-common" version = "37.1.0" @@ -1769,7 +1704,7 @@ dependencies = [ "instant", "libc", "num_cpus", - "object_store 0.9.1", + "object_store", "sqlparser 0.44.0", ] @@ -1790,8 +1725,6 @@ dependencies = [ "instant", "libc", "num_cpus", - "object_store 0.10.1", - "parquet 52.0.0", "sqlparser 0.47.0", ] @@ -1804,15 +1737,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "datafusion-common-runtime" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0091318129dad1359f08e4c6c71f855163c35bba05d1dbf983196f727857894" -dependencies = [ - "tokio", -] - [[package]] name = "datafusion-execution" version = "37.1.0" @@ -1827,28 +1751,7 @@ dependencies = [ "futures", "hashbrown", "log", - "object_store 0.9.1", - "parking_lot", - "rand", - "tempfile", - "url", -] - -[[package]] -name = "datafusion-execution" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8385aba84fc4a06d3ebccfbcbf9b4f985e80c762fac634b49079f7cc14933fb1" -dependencies = [ - "arrow 52.0.0", - "chrono", - "dashmap", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", - "futures", - "hashbrown", - "log", - "object_store 0.10.1", + "object_store", "parking_lot", "rand", "tempfile", @@ -1903,64 +1806,19 @@ dependencies = [ "blake3", "chrono", "datafusion-common 37.1.0", - "datafusion-execution 37.1.0", + "datafusion-execution", "datafusion-expr 37.1.0", - "datafusion-physical-expr 37.1.0", - "hex", - "itertools 0.12.1", - "log", - "md-5", - "regex", - "sha2", - "unicode-segmentation", - "uuid", -] - -[[package]] -name = "datafusion-functions" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c081ae5b7edd712b92767fb8ed5c0e32755682f8075707666cd70835807c0b" -dependencies = [ - "arrow 52.0.0", - "base64 0.22.1", - "blake2", - "blake3", - "chrono", - "datafusion-common 39.0.0", - "datafusion-execution 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-physical-expr 39.0.0", - "hashbrown", + "datafusion-physical-expr", "hex", "itertools 0.12.1", "log", "md-5", - "rand", "regex", "sha2", "unicode-segmentation", "uuid", ] -[[package]] -name = "datafusion-functions-aggregate" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb28a4ea52c28a26990646986a27c4052829a2a2572386258679e19263f8b78" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-schema 52.0.0", - "datafusion-common 39.0.0", - "datafusion-execution 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-physical-expr-common", - "log", - "paste", - "sqlparser 0.47.0", -] - [[package]] name = "datafusion-functions-array" version = "37.1.0" @@ -1973,29 +1831,9 @@ dependencies = [ "arrow-ord 51.0.0", "arrow-schema 51.0.0", "datafusion-common 37.1.0", - "datafusion-execution 37.1.0", + "datafusion-execution", "datafusion-expr 37.1.0", - "datafusion-functions 37.1.0", - "itertools 0.12.1", - "log", - "paste", -] - -[[package]] -name = "datafusion-functions-array" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b17c02a74cdc87380a56758ec27e7d417356bf806f33062700908929aedb8a" -dependencies = [ - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-ord 52.0.0", - "arrow-schema 52.0.0", - "datafusion-common 39.0.0", - "datafusion-execution 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-functions 39.0.0", + "datafusion-functions", "itertools 0.12.1", "log", "paste", @@ -2012,27 +1850,8 @@ dependencies = [ "chrono", "datafusion-common 37.1.0", "datafusion-expr 37.1.0", - "datafusion-physical-expr 37.1.0", - "hashbrown", - "itertools 0.12.1", - "log", - "regex-syntax", -] - -[[package]] -name = "datafusion-optimizer" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12172f2a6c9eb4992a51e62d709eeba5dedaa3b5369cce37ff6c2260e100ba76" -dependencies = [ - "arrow 52.0.0", - "async-trait", - "chrono", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-physical-expr 39.0.0", + "datafusion-physical-expr", "hashbrown", - "indexmap", "itertools 0.12.1", "log", "regex-syntax", @@ -2056,7 +1875,7 @@ dependencies = [ "blake3", "chrono", "datafusion-common 37.1.0", - "datafusion-execution 37.1.0", + "datafusion-execution", "datafusion-expr 37.1.0", "half", "hashbrown", @@ -2073,49 +1892,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "datafusion-physical-expr" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3fce531b623e94180f6cd33d620ef01530405751b6ddd2fd96250cdbd78e2e" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-ord 52.0.0", - "arrow-schema 52.0.0", - "arrow-string 52.0.0", - "base64 0.22.1", - "chrono", - "datafusion-common 39.0.0", - "datafusion-execution 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-functions-aggregate", - "datafusion-physical-expr-common", - "half", - "hashbrown", - "hex", - "indexmap", - "itertools 0.12.1", - "log", - "paste", - "petgraph", - "regex", -] - -[[package]] -name = "datafusion-physical-expr-common" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046400b6a2cc3ed57a7c576f5ae6aecc77804ac8e0186926b278b189305b2a77" -dependencies = [ - "arrow 52.0.0", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", - "rand", -] - [[package]] name = "datafusion-physical-plan" version = "37.1.0" @@ -2130,44 +1906,10 @@ dependencies = [ "async-trait", "chrono", "datafusion-common 37.1.0", - "datafusion-common-runtime 37.1.0", - "datafusion-execution 37.1.0", + "datafusion-common-runtime", + "datafusion-execution", "datafusion-expr 37.1.0", - "datafusion-physical-expr 37.1.0", - "futures", - "half", - "hashbrown", - "indexmap", - "itertools 0.12.1", - "log", - "once_cell", - "parking_lot", - "pin-project-lite", - "rand", - "tokio", -] - -[[package]] -name = "datafusion-physical-plan" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aed47f5a2ad8766260befb375b201592e86a08b260256e168ae4311426a2bff" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-ord 52.0.0", - "arrow-schema 52.0.0", - "async-trait", - "chrono", - "datafusion-common 39.0.0", - "datafusion-common-runtime 39.0.0", - "datafusion-execution 39.0.0", - "datafusion-expr 39.0.0", - "datafusion-functions-aggregate", - "datafusion-physical-expr 39.0.0", - "datafusion-physical-expr-common", + "datafusion-physical-expr", "futures", "half", "hashbrown", @@ -2198,20 +1940,23 @@ dependencies = [ ] [[package]] -name = "datafusion-sql" -version = "39.0.0" +name = "deepsize" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa92bb1fd15e46ce5fb6f1c85f3ac054592560f294429a28e392b5f9cd4255e" +checksum = "1cdb987ec36f6bf7bfbea3f928b75590b736fc42af8e54d97592481351b2b96c" dependencies = [ - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-schema 52.0.0", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", - "log", - "regex", - "sqlparser 0.47.0", - "strum", + "deepsize_derive", +] + +[[package]] +name = "deepsize_derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990101d41f3bc8c1a45641024377ee284ecc338e5ecf3ea0f0e236d897c72796" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -2377,6 +2122,17 @@ dependencies = [ "version_check", ] +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + [[package]] name = "fastlanez" version = "0.1.0" @@ -2429,15 +2185,6 @@ dependencies = [ "rustc_version", ] -[[package]] -name = "flatc" -version = "0.2.2+23.5.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4bba3050358223ece3d79720f9800139503b600e93b1d68493500a2d8c3721e" -dependencies = [ - "cmake", -] - [[package]] name = "flate2" version = "1.0.30" @@ -2497,6 +2244,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futures" version = "0.3.30" @@ -2670,9 +2423,9 @@ dependencies = [ [[package]] name = "half" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ "cfg-if", "crunchy", @@ -3028,6 +2781,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -3054,9 +2816,9 @@ dependencies = [ [[package]] name = "lance" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "362b480df322cd9a1d0ae9336197001d29140843d3716a31a8f55ced9c000a54" +checksum = "f9006f7668f7a96c3a42d5c8be0eea08e7da63a06f3f48074bcbcdb8da48bed6" dependencies = [ "arrow 51.0.0", "arrow-arith 51.0.0", @@ -3074,9 +2836,10 @@ dependencies = [ "bytes", "chrono", "dashmap", - "datafusion 37.1.0", - "datafusion-functions 37.1.0", - "datafusion-physical-expr 37.1.0", + "datafusion", + "datafusion-functions", + "datafusion-physical-expr", + "deepsize", "futures", "half", "itertools 0.12.1", @@ -3084,6 +2847,7 @@ dependencies = [ "lance-core", "lance-datafusion", "lance-datagen", + "lance-encoding", "lance-file", "lance-index", "lance-io", @@ -3094,7 +2858,7 @@ dependencies = [ "lru_time_cache", "moka", "num_cpus", - "object_store 0.9.1", + "object_store", "ordered-float 3.9.2", "pin-project", "prost", @@ -3113,9 +2877,9 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a227e1c408cce3db3270a41e80b353f4abb90d0891de7bc53aa9ee7683f77d8f" +checksum = "225797ba855b4d059424726efb51122c1571db203b6da4078f6f0455ed467199" dependencies = [ "arrow-array 51.0.0", "arrow-buffer 51.0.0", @@ -3132,9 +2896,9 @@ dependencies = [ [[package]] name = "lance-core" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88115f28618a2ca888fe41aeecca49bb90d4c61ba4c25f457c5a86f29fce5f9" +checksum = "d1f42ef248b13d04f060ef945c4430ac20c240a7aff86e2f0f6cfa55f1c057c2" dependencies = [ "arrow-array 51.0.0", "arrow-buffer 51.0.0", @@ -3144,7 +2908,8 @@ dependencies = [ "bytes", "chrono", "datafusion-common 37.1.0", - "datafusion-sql 37.1.0", + "datafusion-sql", + "deepsize", "futures", "lance-arrow", "lazy_static", @@ -3152,7 +2917,7 @@ dependencies = [ "mock_instant", "moka", "num_cpus", - "object_store 0.9.1", + "object_store", "pin-project", "prost", "rand", @@ -3168,19 +2933,19 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d43fb160792ce395d76ed864b7e1c6ef3a9fe46e5fe54f5339409aaf89c037" +checksum = "7457fe0d653bfbfb0dcaf122cb7c07a1d7935c5a56187f29fa9a83ef53b084f7" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", "arrow-ord 51.0.0", "arrow-schema 51.0.0", "async-trait", - "datafusion 37.1.0", + "datafusion", "datafusion-common 37.1.0", - "datafusion-functions 37.1.0", - "datafusion-physical-expr 37.1.0", + "datafusion-functions", + "datafusion-physical-expr", "futures", "lance-arrow", "lance-core", @@ -3192,9 +2957,9 @@ dependencies = [ [[package]] name = "lance-datagen" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abd3dc7a5420ba82abb8dc3f826ff0d2b08c8e61ec20e5c9b087695ff583aa8" +checksum = "51857bc36b6cb594b9838a42b2499f1969b479d2521fd1318726f23702d874f0" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", @@ -3209,9 +2974,9 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "694a0d2ce6617d83ccbccbe03b092343e03d0d3de389773143a6994575bb6c40" +checksum = "be8b403725f29a6b5eca6b2795f944d335166feecef3bdf95394a7ae424e0d55" dependencies = [ "arrow-arith 51.0.0", "arrow-array 51.0.0", @@ -3232,13 +2997,14 @@ dependencies = [ "snafu", "tokio", "tracing", + "zstd", ] [[package]] name = "lance-file" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0d5fa512333bf420475d34d631262ba4de6d604c93eaa7fb3d7fa2760c1758" +checksum = "76b3344ebf260d4be4e9c3e256f49a2158d74030aaad34868defa8ecf3c1c8fc" dependencies = [ "arrow-arith 51.0.0", "arrow-array 51.0.0", @@ -3251,6 +3017,7 @@ dependencies = [ "byteorder", "bytes", "datafusion-common 37.1.0", + "deepsize", "futures", "lance-arrow", "lance-core", @@ -3260,21 +3027,22 @@ dependencies = [ "log", "num-traits", "num_cpus", - "object_store 0.9.1", + "object_store", "prost", "prost-build", "prost-types", "roaring", "snafu", + "tempfile", "tokio", "tracing", ] [[package]] name = "lance-index" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f1892475738d35b46adb4f474934999545f46d23cdbb38181b45d8cdcbf471" +checksum = "9168a8ffa1b3378d526ffc969e9837f5d37244790758893e8700ef49c2c6b64e" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", @@ -3283,17 +3051,21 @@ dependencies = [ "arrow-select 51.0.0", "async-recursion", "async-trait", - "datafusion 37.1.0", + "bitvec", + "crossbeam-queue", + "datafusion", "datafusion-common 37.1.0", "datafusion-expr 37.1.0", - "datafusion-physical-expr 37.1.0", - "datafusion-sql 37.1.0", + "datafusion-physical-expr", + "datafusion-sql", + "deepsize", "futures", "half", "itertools 0.12.1", "lance-arrow", "lance-core", "lance-datafusion", + "lance-encoding", "lance-file", "lance-io", "lance-linalg", @@ -3302,10 +3074,11 @@ dependencies = [ "log", "num-traits", "num_cpus", - "object_store 0.9.1", + "object_store", "prost", "prost-build", "rand", + "rayon", "roaring", "rustc_version", "serde", @@ -3318,9 +3091,9 @@ dependencies = [ [[package]] name = "lance-io" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7143cf3e0175ed720be9515a188d7c37f748f2ffe32b08af65d45aed5a0af00" +checksum = "71854ddbbb3b32ea2849d18694c7ca4506e9fd21bfcc46f74f8caeac50234007" dependencies = [ "arrow 51.0.0", "arrow-arith 51.0.0", @@ -3330,6 +3103,7 @@ dependencies = [ "arrow-data 51.0.0", "arrow-schema 51.0.0", "arrow-select 51.0.0", + "async-priority-channel", "async-recursion", "async-trait", "aws-config", @@ -3337,12 +3111,13 @@ dependencies = [ "byteorder", "bytes", "chrono", + "deepsize", "futures", "lance-arrow", "lance-core", "lazy_static", "num_cpus", - "object_store 0.9.1", + "object_store", "path_abs", "pin-project", "prost", @@ -3351,21 +3126,22 @@ dependencies = [ "shellexpand", "snafu", "tokio", - "tokio-stream", "tracing", "url", ] [[package]] name = "lance-linalg" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6d737aabcaa7c34c1bd70282d667b45df7549b5cf80e44ed2a3481fbdebd260" +checksum = "53b4f4a922104a337176807941dce543d5dc597a5e72ba8e16a0f8964f0ad806" dependencies = [ "arrow-array 51.0.0", "arrow-ord 51.0.0", "arrow-schema 51.0.0", + "bitvec", "cc", + "deepsize", "futures", "half", "lance-arrow", @@ -3375,15 +3151,16 @@ dependencies = [ "num-traits", "num_cpus", "rand", + "rayon", "tokio", "tracing", ] [[package]] name = "lance-table" -version = "0.10.17" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9017c6d5aa45b233a835ac156a48621f61e552bebb8fdbb11952e96581c6aca" +checksum = "4e23d91e024c8c9a1794ab41e8596f396a149ceb2097e4e4dbc69ab3cd4a86b3" dependencies = [ "arrow 51.0.0", "arrow-array 51.0.0", @@ -3395,6 +3172,7 @@ dependencies = [ "byteorder", "bytes", "chrono", + "deepsize", "futures", "lance-arrow", "lance-core", @@ -3402,11 +3180,12 @@ dependencies = [ "lance-file", "lance-io", "log", - "object_store 0.9.1", + "object_store", "prost", "prost-build", "prost-types", "rand", + "rangemap", "roaring", "serde", "serde_json", @@ -3562,17 +3341,6 @@ dependencies = [ "twox-hash", ] -[[package]] -name = "lzma-sys" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "mach2" version = "0.4.2" @@ -3946,27 +3714,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "object_store" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbebfd32c213ba1907fa7a9c9138015a8de2b43e30c5aa45b18f7deb46786ad6" -dependencies = [ - "async-trait", - "bytes", - "chrono", - "futures", - "humantime", - "itertools 0.12.1", - "parking_lot", - "percent-encoding", - "snafu", - "tokio", - "tracing", - "url", - "walkdir", -] - [[package]] name = "once_cell" version = "1.19.0" @@ -4059,6 +3806,12 @@ version = "1.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fecab3723493c7851f292cb060f3ee1c42f19b8d749345d0d7eaf3fd19aa62d" +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + [[package]] name = "parking_lot" version = "0.12.2" @@ -4097,57 +3850,21 @@ dependencies = [ "arrow-schema 51.0.0", "arrow-select 51.0.0", "base64 0.22.1", - "brotli 3.5.0", - "bytes", - "chrono", - "flate2", - "half", - "hashbrown", - "lz4_flex", - "num", - "num-bigint", - "paste", - "seq-macro", - "snap", - "thrift", - "twox-hash", - "zstd", -] - -[[package]] -name = "parquet" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c3b5322cc1bbf67f11c079c42be41a55949099b78732f7dba9e15edde40eab" -dependencies = [ - "ahash", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-ipc 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", - "base64 0.22.1", - "brotli 6.0.0", + "brotli", "bytes", "chrono", "flate2", - "futures", "half", "hashbrown", "lz4_flex", "num", "num-bigint", - "object_store 0.10.1", "paste", "seq-macro", "snap", "thrift", - "tokio", "twox-hash", "zstd", - "zstd-sys", ] [[package]] @@ -4546,6 +4263,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.8.5" @@ -4585,6 +4308,12 @@ dependencies = [ "rand_core", ] +[[package]] +name = "rangemap" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" + [[package]] name = "raw-cpuid" version = "10.7.0" @@ -5326,6 +5055,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "target-lexicon" version = "0.12.14" @@ -5761,7 +5496,7 @@ name = "vortex-alp" version = "0.1.0" dependencies = [ "divan", - "itertools 0.12.1", + "itertools 0.13.0", "num-traits", "serde", "vortex-array", @@ -5780,12 +5515,12 @@ dependencies = [ "build-vortex", "criterion", "enum-iterator", - "flatbuffers 23.5.26", + "flatbuffers 24.3.25", "flexbuffers", "futures-util", "getrandom", "humansize", - "itertools 0.12.1", + "itertools 0.13.0", "lazy_static", "log", "num-traits", @@ -5812,19 +5547,6 @@ dependencies = [ "flexbuffers", ] -[[package]] -name = "vortex-datafusion" -version = "0.1.0" -dependencies = [ - "async-trait", - "datafusion 39.0.0", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", - "vortex-array", - "vortex-dtype", - "vortex-error", -] - [[package]] name = "vortex-datetime-parts" version = "0.1.0" @@ -5860,9 +5582,9 @@ name = "vortex-dtype" version = "0.1.0" dependencies = [ "build-vortex", - "flatbuffers 23.5.26", + "flatbuffers 24.3.25", "half", - "itertools 0.12.1", + "itertools 0.13.0", "num-traits", "prost", "serde", @@ -5877,9 +5599,9 @@ name = "vortex-error" version = "0.1.0" dependencies = [ "arrow-schema 51.0.0", - "flatbuffers 23.5.26", + "flatbuffers 24.3.25", "flexbuffers", - "parquet 51.0.0", + "parquet", "thiserror", "worker", ] @@ -5905,7 +5627,7 @@ dependencies = [ "arrayref", "criterion", "fastlanez", - "itertools 0.12.1", + "itertools 0.13.0", "num-traits", "rand", "serde", @@ -5920,7 +5642,7 @@ dependencies = [ name = "vortex-flatbuffers" version = "0.1.0" dependencies = [ - "flatbuffers 23.5.26", + "flatbuffers 24.3.25", ] [[package]] @@ -5936,10 +5658,10 @@ dependencies = [ "bytes", "criterion", "derive_builder", - "flatbuffers 23.5.26", + "flatbuffers 24.3.25", "futures-executor", "futures-util", - "itertools 0.12.1", + "itertools 0.13.0", "monoio", "pin-project", "rand", @@ -5959,7 +5681,7 @@ dependencies = [ name = "vortex-ree" version = "0.1.0" dependencies = [ - "itertools 0.12.1", + "itertools 0.13.0", "num-traits", "serde", "vortex-array", @@ -5990,9 +5712,9 @@ version = "0.1.0" dependencies = [ "build-vortex", "datafusion-common 39.0.0", - "flatbuffers 23.5.26", + "flatbuffers 24.3.25", "flexbuffers", - "itertools 0.12.1", + "itertools 0.13.0", "num-traits", "paste", "prost", @@ -6359,9 +6081,9 @@ dependencies = [ [[package]] name = "worker" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa130f6f7e5a0b716e0f5472d412fe97962ded204d76ddaf3eeba7360dfcae93" +checksum = "d58b567e8b518469c73c8d7e4798d5abcd7db76a1b33121fffd36ac6fa62da05" dependencies = [ "async-trait", "bytes", @@ -6405,9 +6127,9 @@ dependencies = [ [[package]] name = "worker-macros" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0f7f15151a77dca96813d0eff10ab9b29114533fae0267d00c466c13081e69" +checksum = "15db63b1b56564beca160a5265169730a109fc85c21e858f184bb9e39afbfe44" dependencies = [ "async-trait", "proc-macro2", @@ -6421,9 +6143,9 @@ dependencies = [ [[package]] name = "worker-sys" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ee9baa2ef3c7dea0e2165ff8aaad15e4c4cedb2d30a7deefd4999cd0ae96a3" +checksum = "5c1082d3b324dd37fe9b25b1aa61a938e343d035650708986bf9d0aa9a020c84" dependencies = [ "cfg-if", "js-sys", @@ -6432,19 +6154,19 @@ dependencies = [ ] [[package]] -name = "xmlparser" -version = "0.13.6" +name = "wyz" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] [[package]] -name = "xz2" -version = "0.1.7" +name = "xmlparser" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" -dependencies = [ - "lzma-sys", -] +checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" [[package]] name = "zerocopy" @@ -6483,27 +6205,27 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" +checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.0.0" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" +checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", "pkg-config", From b737dfde055e9e1fbf2aee4f4106bebb8779b694 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 14:24:01 -0400 Subject: [PATCH 04/20] save --- Cargo.lock | 742 ++++++------------ Cargo.toml | 7 +- .../array/primitive/compute/filter_indices.rs | 3 +- vortex-datafusion/Cargo.toml | 3 +- vortex-datafusion/src/lib.rs | 49 +- vortex-dtype/Cargo.toml | 2 + vortex-dtype/src/arrow.rs | 162 ++++ vortex-dtype/src/dtype.rs | 4 + vortex-dtype/src/lib.rs | 4 + 9 files changed, 475 insertions(+), 501 deletions(-) create mode 100644 vortex-dtype/src/arrow.rs diff --git a/Cargo.lock b/Cargo.lock index ac4d521e7f..b8b42e8275 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -118,68 +118,32 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219d05930b81663fd3b32e3bde8ce5bff3c4d23052a99f11a8fa50a3b47b2658" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-csv 51.0.0", - "arrow-data 51.0.0", - "arrow-ipc 51.0.0", - "arrow-json 51.0.0", - "arrow-ord 51.0.0", - "arrow-row 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "arrow-string 51.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-csv", + "arrow-data", + "arrow-ipc", + "arrow-json", + "arrow-ord", + "arrow-row", + "arrow-schema", + "arrow-select", + "arrow-string", "pyo3", ] -[[package]] -name = "arrow" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae9728f104939be6d8d9b368a354b4929b0569160ea1641f0721b55a861ce38" -dependencies = [ - "arrow-arith 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-csv 52.0.0", - "arrow-data 52.0.0", - "arrow-ipc 52.0.0", - "arrow-json 52.0.0", - "arrow-ord 52.0.0", - "arrow-row 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", - "arrow-string 52.0.0", -] - [[package]] name = "arrow-arith" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0272150200c07a86a390be651abdd320a2d12e84535f0837566ca87ecd8f95e0" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "num", -] - -[[package]] -name = "arrow-arith" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7029a5b3efbeafbf4a12d12dc16b8f9e9bff20a410b8c25c5d28acc089e1043" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", "half", "num", @@ -192,28 +156,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8010572cf8c745e242d1b632bd97bd6d4f40fefed5ed1290a8f433abaa686fea" dependencies = [ "ahash", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", - "chrono-tz 0.8.6", - "half", - "hashbrown", - "num", -] - -[[package]] -name = "arrow-array" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d33238427c60271710695f17742f45b1a5dc5bcfc5c15331c25ddfe7abf70d97" -dependencies = [ - "ahash", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "chrono", - "chrono-tz 0.9.0", + "chrono-tz", "half", "hashbrown", "num", @@ -230,49 +177,17 @@ dependencies = [ "num", ] -[[package]] -name = "arrow-buffer" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9b95e825ae838efaf77e366c00d3fc8cca78134c9db497d6bda425f2e7b7c1" -dependencies = [ - "bytes", - "half", - "num", -] - [[package]] name = "arrow-cast" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9abc10cd7995e83505cc290df9384d6e5412b207b79ce6bdff89a10505ed2cba" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "atoi", - "base64 0.22.1", - "chrono", - "comfy-table", - "half", - "lexical-core", - "num", - "ryu", -] - -[[package]] -name = "arrow-cast" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cf8385a9d5b5fcde771661dd07652b79b9139fea66193eda6a88664400ccab" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "atoi", "base64 0.22.1", "chrono", @@ -289,30 +204,11 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95cbcba196b862270bf2a5edb75927380a7f3a163622c61d40cbba416a6305f2" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "csv", - "csv-core", - "lazy_static", - "lexical-core", - "regex", -] - -[[package]] -name = "arrow-csv" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea5068bef430a86690059665e40034625ec323ffa4dd21972048eebb0127adc" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "csv", "csv-core", @@ -327,20 +223,8 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2742ac1f6650696ab08c88f6dd3f0eb68ce10f8c253958a18c943a68cd04aec5" dependencies = [ - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", - "half", - "num", -] - -[[package]] -name = "arrow-data" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb29be98f987bcf217b070512bb7afba2f65180858bca462edf4a39d84a23e10" -dependencies = [ - "arrow-buffer 52.0.0", - "arrow-schema 52.0.0", + "arrow-buffer", + "arrow-schema", "half", "num", ] @@ -351,61 +235,27 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a42ea853130f7e78b9b9d178cb4cd01dee0f78e64d96c2949dc0a915d6d9e19d" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "flatbuffers 23.5.26", "lz4_flex", "zstd", ] -[[package]] -name = "arrow-ipc" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc68f6523970aa6f7ce1dc9a33a7d9284cfb9af77d4ad3e617dbe5d79cc6ec8" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "flatbuffers 24.3.25", -] - [[package]] name = "arrow-json" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaafb5714d4e59feae964714d724f880511500e3569cc2a94d02456b403a2a49" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "indexmap", - "lexical-core", - "num", - "serde", - "serde_json", -] - -[[package]] -name = "arrow-json" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2041380f94bd6437ab648e6c2085a045e45a0c44f91a1b9a4fe3fed3d379bfb1" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "half", "indexmap", @@ -421,26 +271,11 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e6b61e3dc468f503181dccc2fc705bdcc5f2f146755fa5b56d0a6c5943f412" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "half", - "num", -] - -[[package]] -name = "arrow-ord" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb56ed1547004e12203652f12fe12e824161ff9d1e5cf2a7dc4ff02ba94f413" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "half", "num", ] @@ -452,25 +287,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "848ee52bb92eb459b811fb471175ea3afcf620157674c8794f539838920f9228" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "half", - "hashbrown", -] - -[[package]] -name = "arrow-row" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575b42f1fc588f2da6977b94a5ca565459f5ab07b60545e17243fb9a7ed6d43e" -dependencies = [ - "ahash", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "half", "hashbrown", ] @@ -484,12 +304,6 @@ dependencies = [ "bitflags 2.5.0", ] -[[package]] -name = "arrow-schema" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32aae6a60458a2389c0da89c9de0b7932427776127da1a738e2efc21d32f3393" - [[package]] name = "arrow-select" version = "51.0.0" @@ -497,24 +311,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "849524fa70e0e3c5ab58394c770cb8f514d0122d20de08475f7b472ed8075830" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "num", -] - -[[package]] -name = "arrow-select" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de36abaef8767b4220d7b4a8c2fe5ffc78b47db81b03d77e2136091c3ba39102" -dependencies = [ - "ahash", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "num", ] @@ -524,11 +324,11 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9373cb5a021aee58863498c37eb484998ef13377f69989c6c5ccfbd258236cdb" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "memchr", "num", "regex", @@ -536,20 +336,21 @@ dependencies = [ ] [[package]] -name = "arrow-string" -version = "52.0.0" +name = "async-compression" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e435ada8409bcafc910bc3e0077f532a4daa20e99060a496685c0e3e53cc2597" +checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "bzip2", + "flate2", + "futures-core", + "futures-io", "memchr", - "num", - "regex", - "regex-syntax", + "pin-project-lite", + "tokio", + "xz2", + "zstd", + "zstd-safe", ] [[package]] @@ -974,8 +775,8 @@ dependencies = [ name = "bench-vortex" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-select", "bzip2", "criterion", "csv", @@ -1273,18 +1074,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" dependencies = [ "chrono", - "chrono-tz-build 0.2.1", - "phf", -] - -[[package]] -name = "chrono-tz" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" -dependencies = [ - "chrono", - "chrono-tz-build 0.3.0", + "chrono-tz-build", "phf", ] @@ -1299,17 +1089,6 @@ dependencies = [ "phf_codegen", ] -[[package]] -name = "chrono-tz-build" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" -dependencies = [ - "parse-zoneinfo", - "phf", - "phf_codegen", -] - [[package]] name = "ciborium" version = "0.2.2" @@ -1651,24 +1430,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85069782056753459dc47e386219aa1fdac5b731f26c28abb8c0ffd4b7c5ab11" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-ipc", + "arrow-schema", + "async-compression", "async-trait", "bytes", + "bzip2", "chrono", "dashmap", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-common-runtime", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-functions", "datafusion-functions-array", "datafusion-optimizer", "datafusion-physical-expr", "datafusion-physical-plan", "datafusion-sql", + "flate2", "futures", "glob", "half", @@ -1679,13 +1461,17 @@ dependencies = [ "num_cpus", "object_store", "parking_lot", + "parquet", "pin-project-lite", "rand", - "sqlparser 0.44.0", + "sqlparser", "tempfile", "tokio", + "tokio-util", "url", "uuid", + "xz2", + "zstd", ] [[package]] @@ -1695,37 +1481,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "309d9040751f6dc9e33c85dce6abb55a46ef7ea3644577dd014611c379447ef3" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-schema", "chrono", "half", "instant", "libc", "num_cpus", "object_store", - "sqlparser 0.44.0", -] - -[[package]] -name = "datafusion-common" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "effed030d2c1667eb1e11df5372d4981eaf5d11a521be32220b3985ae5ba6971" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-schema 52.0.0", - "chrono", - "half", - "hashbrown", - "instant", - "libc", - "num_cpus", - "sqlparser 0.47.0", + "parquet", + "sqlparser", ] [[package]] @@ -1743,11 +1510,11 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06a3a29ae36bcde07d179cc33b45656a8e7e4d023623e320e48dcf1200eeee95" dependencies = [ - "arrow 51.0.0", + "arrow", "chrono", "dashmap", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "datafusion-common", + "datafusion-expr", "futures", "hashbrown", "log", @@ -1765,31 +1532,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a3542aa322029c2121a671ce08000d4b274171070df13f697b14169ccf4f628" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", + "arrow", + "arrow-array", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "paste", - "sqlparser 0.44.0", - "strum", - "strum_macros", -] - -[[package]] -name = "datafusion-expr" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb192f0055d2ce64e38ac100abc18e4e6ae9734d3c28eee522bbbd6a32108a3" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "chrono", - "datafusion-common 39.0.0", - "paste", - "serde_json", - "sqlparser 0.47.0", + "sqlparser", "strum", "strum_macros", ] @@ -1800,14 +1548,14 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd221792c666eac174ecc09e606312844772acc12cbec61a420c2fca1ee70959" dependencies = [ - "arrow 51.0.0", + "arrow", "base64 0.22.1", "blake2", "blake3", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-physical-expr", "hex", "itertools 0.12.1", @@ -1825,14 +1573,14 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e501801e84d9c6ef54caaebcda1b18a6196a24176c12fb70e969bc0572e03c55" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", - "datafusion-common 37.1.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-schema", + "datafusion-common", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-functions", "itertools 0.12.1", "log", @@ -1845,11 +1593,11 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76bd7f5087817deb961764e8c973d243b54f8572db414a8f0a8f33a48f991e0a" dependencies = [ - "arrow 51.0.0", + "arrow", "async-trait", "chrono", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "datafusion-common", + "datafusion-expr", "datafusion-physical-expr", "hashbrown", "itertools 0.12.1", @@ -1864,19 +1612,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cabc0d9aaa0f5eb1b472112f16223c9ffd2fb04e58cbf65c0a331ee6e993f96" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", - "arrow-string 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-schema", + "arrow-string", "base64 0.22.1", "blake2", "blake3", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "half", "hashbrown", "hex", @@ -1899,16 +1647,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17c0523e9c8880f2492a88bbd857dde02bed1ed23f3e9211a89d3d7ec3b44af9" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-schema", "async-trait", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-common-runtime", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-physical-expr", "futures", "half", @@ -1929,13 +1677,13 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49eb54b42227136f6287573f2434b1de249fe1b8e6cd6cc73a634e4a3ec29356" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-schema 51.0.0", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "arrow", + "arrow-array", + "arrow-schema", + "datafusion-common", + "datafusion-expr", "log", - "sqlparser 0.44.0", + "sqlparser", "strum", ] @@ -2820,14 +2568,14 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9006f7668f7a96c3a42d5c8be0eea08e7da63a06f3f48074bcbcdb8da48bed6" dependencies = [ - "arrow 51.0.0", - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ord 51.0.0", - "arrow-row 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-row", + "arrow-schema", + "arrow-select", "async-recursion", "async-trait", "async_cell", @@ -2881,12 +2629,12 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225797ba855b4d059424726efb51122c1571db203b6da4078f6f0455ed467199" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", + "arrow-select", "getrandom", "half", "num-traits", @@ -2900,14 +2648,14 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1f42ef248b13d04f060ef945c4430ac20c240a7aff86e2f0f6cfa55f1c057c2" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-schema", "async-trait", "byteorder", "bytes", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-sql", "deepsize", "futures", @@ -2937,13 +2685,13 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7457fe0d653bfbfb0dcaf122cb7c07a1d7935c5a56187f29fa9a83ef53b084f7" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-ord", + "arrow-schema", "async-trait", "datafusion", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-functions", "datafusion-physical-expr", "futures", @@ -2961,10 +2709,10 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51857bc36b6cb594b9838a42b2499f1969b479d2521fd1318726f23702d874f0" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-cast 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-cast", + "arrow-schema", "chrono", "futures", "hex", @@ -2978,12 +2726,12 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8b403725f29a6b5eca6b2795f944d335166feecef3bdf95394a7ae424e0d55" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-schema", + "arrow-select", "bytes", "futures", "lance-arrow", @@ -3006,17 +2754,17 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76b3344ebf260d4be4e9c3e256f49a2158d74030aaad34868defa8ecf3c1c8fc" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "async-recursion", "async-trait", "byteorder", "bytes", - "datafusion-common 37.1.0", + "datafusion-common", "deepsize", "futures", "lance-arrow", @@ -3044,18 +2792,18 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9168a8ffa1b3378d526ffc969e9837f5d37244790758893e8700ef49c2c6b64e" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-array", + "arrow-ord", + "arrow-schema", + "arrow-select", "async-recursion", "async-trait", "bitvec", "crossbeam-queue", "datafusion", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "datafusion-common", + "datafusion-expr", "datafusion-physical-expr", "datafusion-sql", "deepsize", @@ -3095,14 +2843,14 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71854ddbbb3b32ea2849d18694c7ca4506e9fd21bfcc46f74f8caeac50234007" dependencies = [ - "arrow 51.0.0", - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", + "arrow-select", "async-priority-channel", "async-recursion", "async-trait", @@ -3136,9 +2884,9 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53b4f4a922104a337176807941dce543d5dc597a5e72ba8e16a0f8964f0ad806" dependencies = [ - "arrow-array 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-ord", + "arrow-schema", "bitvec", "cc", "deepsize", @@ -3162,11 +2910,11 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e23d91e024c8c9a1794ab41e8596f396a149ceb2097e4e4dbc69ab3cd4a86b3" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ipc", + "arrow-schema", "async-trait", "aws-credential-types", "byteorder", @@ -3341,6 +3089,17 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "mach2" version = "0.4.2" @@ -3842,27 +3601,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "096795d4f47f65fd3ee1ec5a98b77ab26d602f2cc785b0e4be5443add17ecc32" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-ipc", + "arrow-schema", + "arrow-select", "base64 0.22.1", "brotli", "bytes", "chrono", "flate2", + "futures", "half", "hashbrown", "lz4_flex", "num", "num-bigint", + "object_store", "paste", "seq-macro", "snap", "thrift", + "tokio", "twox-hash", "zstd", ] @@ -4212,7 +3974,7 @@ dependencies = [ name = "pyvortex" version = "0.1.0" dependencies = [ - "arrow 51.0.0", + "arrow", "log", "paste", "pyo3", @@ -4927,16 +4689,6 @@ dependencies = [ "sqlparser_derive", ] -[[package]] -name = "sqlparser" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295e9930cd7a97e58ca2a070541a3ca502b17f5d1fa7157376d0fabd85324f25" -dependencies = [ - "log", - "sqlparser_derive", -] - [[package]] name = "sqlparser_derive" version = "0.2.2" @@ -5509,9 +5261,9 @@ dependencies = [ name = "vortex-array" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-schema", "build-vortex", "criterion", "enum-iterator", @@ -5542,11 +5294,25 @@ dependencies = [ name = "vortex-buffer" version = "0.1.0" dependencies = [ - "arrow-buffer 51.0.0", + "arrow-buffer", "bytes", "flexbuffers", ] +[[package]] +name = "vortex-datafusion" +version = "0.1.0" +dependencies = [ + "arrow-schema", + "async-trait", + "datafusion", + "datafusion-common", + "datafusion-expr", + "vortex-array", + "vortex-dtype", + "vortex-error", +] + [[package]] name = "vortex-datetime-parts" version = "0.1.0" @@ -5581,6 +5347,7 @@ dependencies = [ name = "vortex-dtype" version = "0.1.0" dependencies = [ + "arrow-schema", "build-vortex", "flatbuffers 24.3.25", "half", @@ -5598,7 +5365,7 @@ dependencies = [ name = "vortex-error" version = "0.1.0" dependencies = [ - "arrow-schema 51.0.0", + "arrow-schema", "flatbuffers 24.3.25", "flexbuffers", "parquet", @@ -5611,8 +5378,8 @@ name = "vortex-expr" version = "0.1.0" dependencies = [ "build-vortex", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", + "datafusion-common", + "datafusion-expr", "prost", "serde", "vortex-dtype", @@ -5649,11 +5416,11 @@ dependencies = [ name = "vortex-ipc" version = "0.1.0" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-array", + "arrow-ipc", + "arrow-schema", + "arrow-select", "build-vortex", "bytes", "criterion", @@ -5694,7 +5461,7 @@ dependencies = [ name = "vortex-roaring" version = "0.1.0" dependencies = [ - "arrow-buffer 51.0.0", + "arrow-buffer", "croaring", "log", "num-traits", @@ -5711,7 +5478,7 @@ name = "vortex-scalar" version = "0.1.0" dependencies = [ "build-vortex", - "datafusion-common 39.0.0", + "datafusion-common", "flatbuffers 24.3.25", "flexbuffers", "itertools 0.13.0", @@ -6168,6 +5935,15 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +[[package]] +name = "xz2" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" +dependencies = [ + "lzma-sys", +] + [[package]] name = "zerocopy" version = "0.7.34" diff --git a/Cargo.toml b/Cargo.toml index 295cb007fc..eb5580f11e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,7 @@ members = [ "pyvortex", "vortex-array", "vortex-buffer", + "vortex-datafusion", "vortex-dtype", "vortex-error", "vortex-expr", @@ -51,9 +52,9 @@ cargo_metadata = "0.18.1" criterion = { version = "0.5.1", features = ["html_reports"] } croaring = "1.0.1" csv = "1.3.0" -datafusion = "39.0.0" -datafusion-common = "39.0.0" -datafusion-expr = "39.0.0" +datafusion = "37.1.0" +datafusion-common = "37.1.0" +datafusion-expr = "37.1.0" derive_builder = "0.20.0" divan = "0.1.14" duckdb = { version = "0.10.1", features = ["bundled"] } diff --git a/vortex-array/src/array/primitive/compute/filter_indices.rs b/vortex-array/src/array/primitive/compute/filter_indices.rs index 47aebe6cbd..324946c85f 100644 --- a/vortex-array/src/array/primitive/compute/filter_indices.rs +++ b/vortex-array/src/array/primitive/compute/filter_indices.rs @@ -80,7 +80,8 @@ mod test { } fn to_int_indices(filtered_primitive: BoolArray) -> Vec { - filtered_primitive.boolean_buffer() + filtered_primitive + .boolean_buffer() .set_indices() .map(|i| i as u64) .collect() diff --git a/vortex-datafusion/Cargo.toml b/vortex-datafusion/Cargo.toml index 51563da0ae..355166f478 100644 --- a/vortex-datafusion/Cargo.toml +++ b/vortex-datafusion/Cargo.toml @@ -12,9 +12,10 @@ rust-version.workspace = true [dependencies] vortex-array = { path = "../vortex-array" } -vortex-dtype = { path = "../vortex-dtype" } +vortex-dtype = { path = "../vortex-dtype", features = ["arrow"] } vortex-error = { path = "../vortex-error" } +arrow-schema = { workspace = true } async-trait = { workspace = true } datafusion = { workspace = true } datafusion-common = { workspace = true } diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index 290a275439..523391d0e9 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -2,34 +2,57 @@ use std::any::Any; use std::sync::Arc; + use async_trait::async_trait; use datafusion::arrow::datatypes::SchemaRef; -use datafusion::datasource::file_format::FileFormat; -use datafusion::datasource::physical_plan::FileScanConfig; +use datafusion::datasource::TableProvider; use datafusion::execution::context::SessionState; -use datafusion::physical_expr::PhysicalExpr; use datafusion::physical_plan::ExecutionPlan; -use datafusion_common::Statistics; +use datafusion_expr::{Expr, TableType}; +use vortex::{Array, ArrayDType}; +use vortex_dtype::DType; +use vortex_error::{vortex_bail, VortexResult}; #[derive(Debug, Clone)] -pub struct VortexFileFormat {} +pub struct VortexInMemoryTableProvider { + array: Array, + schema_ref: SchemaRef, +} + +impl VortexInMemoryTableProvider { + pub fn try_new(array: Array) -> VortexResult { + if !matches!(array.dtype(), DType::Struct(_, _)) { + vortex_bail!(InvalidArgument: "only DType::Struct arrays can produce a table provider"); + } + + Ok(Self { array }) + } +} + +// Create a table provider that is able to perform basic pushdown over +// the datasources inherent in the stream readers. #[async_trait] -impl FileFormat for VortexFileFormat { +impl TableProvider for VortexInMemoryTableProvider { fn as_any(&self) -> &dyn Any { - todo!() + self } - async fn infer_schema(&self, state: &SessionState, store: &Arc, objects: &[object_store::ObjectMeta]) -> datafusion_common::Result { - todo!() + fn schema(&self) -> SchemaRef { + // Convert our schema type into the other types. } - async fn infer_stats(&self, state: &SessionState, store: &Arc, table_schema: SchemaRef, object: &object_store::ObjectMeta) -> datafusion_common::Result { - Statistics:: + fn table_type(&self) -> TableType { todo!() } - async fn create_physical_plan(&self, state: &SessionState, conf: FileScanConfig, filters: Option<&Arc>) -> datafusion_common::Result> { + async fn scan( + &self, + state: &SessionState, + projection: Option<&Vec>, + filters: &[Expr], + limit: Option, + ) -> datafusion_common::Result> { todo!() } -} \ No newline at end of file +} diff --git a/vortex-dtype/Cargo.toml b/vortex-dtype/Cargo.toml index 5c38ea9f38..48dc09946f 100644 --- a/vortex-dtype/Cargo.toml +++ b/vortex-dtype/Cargo.toml @@ -16,6 +16,7 @@ name = "vortex_dtype" path = "src/lib.rs" [dependencies] +arrow-schema = { workspace = true, optional = true } flatbuffers = { workspace = true, optional = true } half = { workspace = true, features = ["num-traits"] } itertools = { workspace = true } @@ -38,6 +39,7 @@ workspace = true [features] # Uncomment for improved IntelliJ support # default = ["flatbuffers", "proto", "serde"] +arrow = ["dep:arrow-schema"] flatbuffers = ["dep:flatbuffers"] proto = ["dep:prost"] serde = ["dep:serde"] \ No newline at end of file diff --git a/vortex-dtype/src/arrow.rs b/vortex-dtype/src/arrow.rs new file mode 100644 index 0000000000..f5da7fcf7f --- /dev/null +++ b/vortex-dtype/src/arrow.rs @@ -0,0 +1,162 @@ +//! Conversion helpers between Vortex [crate::DType] and Arrow [arrow_schema::Schema]. + +use arrow_schema::{DataType, Field as ArrowField, Field, FieldRef, Fields, Schema, SchemaBuilder}; +use vortex_error::{vortex_bail, VortexError}; + +use crate::{DType, PType}; + +impl TryFrom for Schema { + type Error = VortexError; + + fn try_from(dtype: DType) -> Result { + // What does it mean for the top-level elements of an array to be nullable? + // Do we just map that to NULL values for each of the constituent types? + let DType::Struct(struct_dtype, _) = dtype else { + vortex_bail!(InvalidArgument: "only DType::Struct can be converted to arrow schema"); + }; + + let mut builder = SchemaBuilder::with_capacity(struct_dtype.names().len()); + for (field_name, field_dtype) in struct_dtype + .names() + .iter() + .zip(struct_dtype.dtypes().iter()) + { + builder.push(FieldRef::from(ArrowField::new( + field_name.to_string(), + DataType::try_from(field_dtype)?, + field_dtype.is_nullable(), + ))); + } + + Ok(builder.finish()) + } +} + +impl TryFrom<&DType> for DataType { + type Error = VortexError; + + fn try_from(dtype: &DType) -> Result { + match dtype { + DType::Null => Ok(DataType::Null), + DType::Bool(_) => Ok(DataType::Boolean), + DType::Primitive(ptype, _) => Ok(match ptype { + PType::U8 => DataType::UInt8, + PType::U16 => DataType::UInt16, + PType::U32 => DataType::UInt32, + PType::U64 => DataType::UInt64, + PType::I8 => DataType::Int8, + PType::I16 => DataType::Int16, + PType::I32 => DataType::Int32, + PType::I64 => DataType::Int64, + PType::F16 => DataType::Float16, + PType::F32 => DataType::Float32, + PType::F64 => DataType::Float64, + }), + DType::Utf8(_) => Ok(DataType::Utf8), + DType::Binary(_) => Ok(DataType::Binary), + DType::Struct(struct_dtype, _) => { + let mut fields = Vec::with_capacity(struct_dtype.names().len()); + for (field_name, field_dt) in struct_dtype + .names() + .iter() + .zip(struct_dtype.dtypes().iter()) + { + fields.push(FieldRef::from(Field::new( + field_name.to_string(), + DataType::try_from(field_dt)?, + field_dt.is_nullable(), + ))); + } + + Ok(DataType::Struct(Fields::from(fields))) + } + DType::List(list_dt, _) => { + let dtype: &DType = &(*list_dt); + Ok(DataType::List(FieldRef::from(Field::new( + "element", + DataType::try_from(dtype)?, + dtype.is_nullable(), + )))) + } + DType::Extension(..) => { + vortex_bail!(InvalidArgument: "Extension DType conversion to Arrow not supported") + } + } + } +} + +impl TryFrom for DataType { + type Error = VortexError; + + fn try_from(dtype: DType) -> Result { + DataType::try_from(&dtype) + } +} + +#[cfg(test)] +mod test { + use std::sync::Arc; + + use arrow_schema::{DataType, Field, FieldRef, Fields}; + + use crate::{DType, ExtDType, ExtID, FieldName, FieldNames, Nullability, PType, StructDType}; + + #[test] + fn test_all() { + assert_eq!(DataType::try_from(DType::Null).unwrap(), DataType::Null); + + assert_eq!( + DataType::try_from(DType::Bool(Nullability::NonNullable)).unwrap(), + DataType::Boolean + ); + + assert_eq!( + DataType::try_from(DType::Primitive(PType::U64, Nullability::NonNullable)).unwrap(), + DataType::UInt64 + ); + + assert_eq!( + DataType::try_from(DType::Utf8(Nullability::NonNullable)).unwrap(), + DataType::Utf8 + ); + + assert_eq!( + DataType::try_from(DType::Binary(Nullability::NonNullable)).unwrap(), + DataType::Binary + ); + + assert_eq!( + DataType::try_from(DType::List( + Arc::new(DType::Bool(Nullability::NonNullable)), + Nullability::Nullable, + )) + .unwrap(), + DataType::List(FieldRef::from(Field::new( + "element".to_string(), + DataType::Boolean, + false, + ))) + ); + + assert_eq!( + DataType::try_from(DType::Struct( + StructDType::new( + FieldNames::from(vec![FieldName::from("field_a"), FieldName::from("field_b")]), + vec![DType::Bool(false.into()), DType::Utf8(true.into())], + ), + Nullability::NonNullable, + )) + .unwrap(), + DataType::Struct(Fields::from(vec![ + FieldRef::from(Field::new("field_a", DataType::Boolean, false)), + FieldRef::from(Field::new("field_b", DataType::Utf8, true)), + ])) + ); + + assert!(DataType::try_from(DType::Extension( + ExtDType::new(ExtID::from("my-fake-ext-dtype"), None,), + Nullability::NonNullable, + )) + .is_err()) + } +} diff --git a/vortex-dtype/src/dtype.rs b/vortex-dtype/src/dtype.rs index a308020fa1..c4e3822073 100644 --- a/vortex-dtype/src/dtype.rs +++ b/vortex-dtype/src/dtype.rs @@ -75,6 +75,10 @@ impl DType { pub fn eq_ignore_nullability(&self, other: &Self) -> bool { self.as_nullable().eq(&other.as_nullable()) } + + pub fn is_struct(&self) -> bool { + matches!(self, Struct(_, _)) + } } impl Display for DType { diff --git a/vortex-dtype/src/lib.rs b/vortex-dtype/src/lib.rs index 8c322f850b..77b0797149 100644 --- a/vortex-dtype/src/lib.rs +++ b/vortex-dtype/src/lib.rs @@ -13,6 +13,10 @@ mod nullability; mod ptype; mod serde; +/// Optional converters to and from Arrow [Schema] types. +#[cfg(feature = "arrow")] +pub mod arrow; + #[cfg(feature = "proto")] pub mod proto { pub mod dtype { From b0f62dba98987bf3e9006fbef614bbe96d84d66d Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:05:26 -0400 Subject: [PATCH 05/20] more --- Cargo.lock | 3 + vortex-datafusion/Cargo.toml | 5 + vortex-datafusion/src/lib.rs | 286 +++++++++++++++++++++++++++++++++-- vortex-dtype/src/arrow.rs | 59 ++++++-- 4 files changed, 334 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b8b42e8275..9b4524b8c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5308,6 +5308,9 @@ dependencies = [ "datafusion", "datafusion-common", "datafusion-expr", + "futures", + "pin-project", + "tokio", "vortex-array", "vortex-dtype", "vortex-error", diff --git a/vortex-datafusion/Cargo.toml b/vortex-datafusion/Cargo.toml index 355166f478..758527ff3b 100644 --- a/vortex-datafusion/Cargo.toml +++ b/vortex-datafusion/Cargo.toml @@ -20,6 +20,11 @@ async-trait = { workspace = true } datafusion = { workspace = true } datafusion-common = { workspace = true } datafusion-expr = { workspace = true } +futures = { workspace = true } +pin-project = { workspace = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["test-util"] } [lints] workspace = true diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index 523391d0e9..e45980517c 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -1,15 +1,30 @@ //! Connectors to enable DataFusion to read Vortex data. use std::any::Any; +use std::fmt::Formatter; +use std::pin::Pin; use std::sync::Arc; +use std::task::{Context, Poll}; +use arrow_schema::{DataType, Field, Schema}; use async_trait::async_trait; +use datafusion::arrow::array::RecordBatch; use datafusion::arrow::datatypes::SchemaRef; use datafusion::datasource::TableProvider; use datafusion::execution::context::SessionState; -use datafusion::physical_plan::ExecutionPlan; -use datafusion_expr::{Expr, TableType}; -use vortex::{Array, ArrayDType}; +use datafusion::execution::{RecordBatchStream, SendableRecordBatchStream, TaskContext}; +use datafusion::physical_expr::EquivalenceProperties; +use datafusion::physical_plan::{ + DisplayAs, DisplayFormatType, ExecutionMode, ExecutionPlan, Partitioning, PlanProperties, +}; +use datafusion_common::{exec_datafusion_err, exec_err, DataFusionError, Result as DFResult}; +use datafusion_expr::{Expr, TableProviderFilterPushDown, TableType}; +use futures::{Stream, StreamExt}; +use pin_project::pin_project; +use vortex::array::chunked::ChunkedArray; +use vortex::array::r#struct::StructArray; +use vortex::compute::as_arrow::AsArrowArray; +use vortex::{Array, ArrayDType, Flattened, IntoArray}; use vortex_dtype::DType; use vortex_error::{vortex_bail, VortexResult}; @@ -25,7 +40,10 @@ impl VortexInMemoryTableProvider { vortex_bail!(InvalidArgument: "only DType::Struct arrays can produce a table provider"); } - Ok(Self { array }) + let arrow_schema = Schema::try_from(array.dtype())?; + let schema_ref = SchemaRef::new(arrow_schema); + + Ok(Self { array, schema_ref }) } } @@ -39,20 +57,268 @@ impl TableProvider for VortexInMemoryTableProvider { } fn schema(&self) -> SchemaRef { - // Convert our schema type into the other types. + Arc::clone(&self.schema_ref) } fn table_type(&self) -> TableType { - todo!() + TableType::Base } + /// Plan an array scan. async fn scan( &self, - state: &SessionState, + _state: &SessionState, projection: Option<&Vec>, filters: &[Expr], - limit: Option, - ) -> datafusion_common::Result> { - todo!() + _limit: Option, + ) -> DFResult> { + if !filters.is_empty() { + return exec_err!("vortex does not support filter pushdown"); + } + + let partitioning = if let Ok(chunked_array) = ChunkedArray::try_from(&self.array) { + Partitioning::RoundRobinBatch(chunked_array.nchunks()) + } else { + Partitioning::UnknownPartitioning(1) + }; + + let plan_properties = PlanProperties::new( + EquivalenceProperties::new(self.schema_ref.clone()), + partitioning, + ExecutionMode::Bounded, + ); + + Ok(Arc::new(VortexMemoryExec { + array: self.array.clone(), + projection: projection.cloned(), + plan_properties, + })) + } + + fn supports_filters_pushdown( + &self, + filters: &[&Expr], + ) -> DFResult> { + // TODO(aduffy): add support for filter pushdown + Ok(filters + .iter() + .map(|_| TableProviderFilterPushDown::Unsupported) + .collect()) + } +} + +/// Physical plan node for scans against an in-memory, possibly chunked Vortex Array. +#[derive(Debug, Clone)] +struct VortexMemoryExec { + array: Array, + projection: Option>, + plan_properties: PlanProperties, +} + +impl DisplayAs for VortexMemoryExec { + fn fmt_as(&self, _display_type: DisplayFormatType, f: &mut Formatter) -> std::fmt::Result { + write!(f, "{:?}", self) + } +} + +impl VortexMemoryExec { + /// Read a single array chunk from the source as a RecordBatch. + fn execute_single_chunk( + array: Array, + projection: &Option>, + _context: Arc, + ) -> DFResult { + let data = array + .flatten() + .map_err(|vortex_error| DataFusionError::Execution(format!("{}", vortex_error)))? + .into_array(); + + // Construct a record batch from each of the values in-turn + let struct_array = StructArray::try_from(data) + .map_err(|_| exec_datafusion_err!("top-level array must be Struct encoding"))?; + + let field_order = if let Some(projection) = projection { + projection.clone() + } else { + (0..struct_array.names().len()).collect() + }; + + let mut record_batch = Vec::with_capacity(field_order.len()); + let mut record_batch_fields = Vec::with_capacity(field_order.len()); + + for field_idx in field_order { + let field_array = struct_array + .field(field_idx) + .expect("field array must be present") + .flatten() + .map_err(|_| exec_datafusion_err!("failed to flatten struct field array"))?; + + let array_ref = match field_array { + Flattened::Null(a) => AsArrowArray::as_arrow(&a).unwrap(), + Flattened::Bool(a) => AsArrowArray::as_arrow(&a).unwrap(), + Flattened::Primitive(a) => AsArrowArray::as_arrow(&a).unwrap(), + Flattened::Struct(a) => AsArrowArray::as_arrow(&a).unwrap(), + Flattened::VarBin(a) => AsArrowArray::as_arrow(&a).unwrap(), + Flattened::VarBinView(a) => AsArrowArray::as_arrow(&a).unwrap(), + Flattened::Extension(a) => AsArrowArray::as_arrow(&a).unwrap(), + }; + + record_batch.push(array_ref); + + let field_dtype = struct_array.dtypes()[field_idx].clone(); + let field_schema = Field::new( + struct_array.names()[field_idx].to_string(), + DataType::try_from(&field_dtype) + .map_err(|_| exec_datafusion_err!("datatype could not be mapped from DType"))?, + field_dtype.is_nullable(), + ); + record_batch_fields.push(field_schema); + } + + let schema = Arc::new(Schema::new(record_batch_fields)); + + println!("returning stream"); + let batch = RecordBatch::try_new(Arc::clone(&schema), record_batch)?; + Ok(Box::pin(VortexRecordBatchStream { + schema_ref: Arc::clone(&schema), + inner: futures::stream::iter(vec![batch]), + })) + } +} + +#[pin_project] +struct VortexRecordBatchStream { + schema_ref: SchemaRef, + + #[pin] + inner: I, +} + +impl Stream for VortexRecordBatchStream +where + I: Stream, +{ + type Item = DFResult; + + fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + println!("POLLING"); + let mut this = self.project(); + match this.inner.poll_next_unpin(cx) { + Poll::Ready(Some(batch)) => Poll::Ready(Some(Ok(batch))), + Poll::Ready(None) => Poll::Ready(None), + Poll::Pending => Poll::Pending, + } + } +} + +impl RecordBatchStream for VortexRecordBatchStream +where + I: Stream, +{ + fn schema(&self) -> SchemaRef { + Arc::clone(&self.schema_ref) + } +} + +impl ExecutionPlan for VortexMemoryExec { + fn as_any(&self) -> &dyn Any { + self + } + + fn properties(&self) -> &PlanProperties { + &self.plan_properties + } + + fn children(&self) -> Vec> { + // Leaf node + vec![] + } + + fn with_new_children( + self: Arc, + _: Vec>, + ) -> DFResult> { + Ok(self) + } + + fn execute( + &self, + partition: usize, + context: Arc, + ) -> DFResult { + let chunk = if let Ok(chunked_array) = ChunkedArray::try_from(&self.array) { + chunked_array + .chunk(partition) + .ok_or_else(|| exec_datafusion_err!("partition not found"))? + } else { + self.array.clone() + }; + + Self::execute_single_chunk(chunk, &self.projection, context) + } +} + +#[cfg(test)] +mod test { + use std::sync::Arc; + + use datafusion::arrow::array::AsArray; + use datafusion::arrow::datatypes::UInt64Type; + use datafusion::prelude::SessionContext; + use vortex::array::primitive::PrimitiveArray; + use vortex::array::r#struct::StructArray; + use vortex::array::varbin::VarBinArray; + use vortex::validity::Validity; + use vortex::IntoArray; + use vortex_dtype::{DType, FieldName, Nullability}; + + use crate::VortexInMemoryTableProvider; + + #[tokio::test] + async fn test_simple() { + println!("starting test"); + // Create a new array. + let names = VarBinArray::from_vec( + vec!["Washington", "Adams", "Jefferson", "Madison", "Monroe"], + DType::Utf8(Nullability::NonNullable), + ); + let term_start = + PrimitiveArray::from_vec(vec![1789u16, 1797, 1801, 1809, 1817], Validity::NonNullable); + let presidents = StructArray::try_new( + Arc::new([FieldName::from("president"), FieldName::from("term_start")]), + vec![names.into_array(), term_start.into_array()], + 5, + Validity::NonNullable, + ) + .unwrap(); + + let presidents_table = + Arc::new(VortexInMemoryTableProvider::try_new(presidents.into_array()).unwrap()); + let session_ctx = SessionContext::new(); + + println!("registering table"); + session_ctx + .register_table("presidents", presidents_table) + .unwrap(); + + println!("sql query"); + let df_term_start = session_ctx + .sql("SELECT SUM(term_start) FROM presidents WHERE president <> 'Madison'") + .await + .unwrap() + .collect() + .await + .unwrap(); + + assert_eq!(df_term_start.len(), 1); + assert_eq!( + *df_term_start[0] + .column(0) + .as_primitive::() + .values() + .get(0) + .unwrap(), + vec![1789u64, 1797, 1801, 1817].into_iter().sum::() + ); } } diff --git a/vortex-dtype/src/arrow.rs b/vortex-dtype/src/arrow.rs index f5da7fcf7f..49c2edd871 100644 --- a/vortex-dtype/src/arrow.rs +++ b/vortex-dtype/src/arrow.rs @@ -3,18 +3,20 @@ use arrow_schema::{DataType, Field as ArrowField, Field, FieldRef, Fields, Schema, SchemaBuilder}; use vortex_error::{vortex_bail, VortexError}; -use crate::{DType, PType}; +use crate::{DType, Nullability, PType}; -impl TryFrom for Schema { +impl TryFrom<&DType> for Schema { type Error = VortexError; - fn try_from(dtype: DType) -> Result { - // What does it mean for the top-level elements of an array to be nullable? - // Do we just map that to NULL values for each of the constituent types? - let DType::Struct(struct_dtype, _) = dtype else { + fn try_from(dtype: &DType) -> Result { + let DType::Struct(struct_dtype, nullable) = dtype else { vortex_bail!(InvalidArgument: "only DType::Struct can be converted to arrow schema"); }; + if *nullable != Nullability::NonNullable { + vortex_bail!(InvalidArgument: "top-level struct in Schema must be NonNullable"); + } + let mut builder = SchemaBuilder::with_capacity(struct_dtype.names().len()); for (field_name, field_dtype) in struct_dtype .names() @@ -32,6 +34,14 @@ impl TryFrom for Schema { } } +impl TryFrom for Schema { + type Error = VortexError; + + fn try_from(value: DType) -> Result { + Self::try_from(&value) + } +} + impl TryFrom<&DType> for DataType { type Error = VortexError; @@ -97,12 +107,12 @@ impl TryFrom for DataType { mod test { use std::sync::Arc; - use arrow_schema::{DataType, Field, FieldRef, Fields}; + use arrow_schema::{DataType, Field, FieldRef, Fields, Schema}; use crate::{DType, ExtDType, ExtID, FieldName, FieldNames, Nullability, PType, StructDType}; #[test] - fn test_all() { + fn test_dtype_conversion() { assert_eq!(DataType::try_from(DType::Null).unwrap(), DataType::Null); assert_eq!( @@ -154,9 +164,40 @@ mod test { ); assert!(DataType::try_from(DType::Extension( - ExtDType::new(ExtID::from("my-fake-ext-dtype"), None,), + ExtDType::new(ExtID::from("my-fake-ext-dtype"), None), Nullability::NonNullable, )) .is_err()) } + + #[test] + fn test_schema_conversion() { + let struct_dtype = StructDType::new( + FieldNames::from([ + FieldName::from("field_a"), + FieldName::from("field_b"), + FieldName::from("field_c"), + ]), + vec![ + DType::Bool(Nullability::NonNullable), + DType::Utf8(Nullability::NonNullable), + DType::Primitive(PType::I32, Nullability::Nullable), + ], + ); + + let schema_nonnull = DType::Struct(struct_dtype.clone(), Nullability::NonNullable); + + assert_eq!( + Schema::try_from(&schema_nonnull).unwrap(), + Schema::new(Fields::from(vec![ + Field::new("field_a", DataType::Boolean, false), + Field::new("field_b", DataType::Utf8, false), + Field::new("field_c", DataType::Int32, true), + ])) + ); + + let schema_null = DType::Struct(struct_dtype.clone(), Nullability::Nullable); + + assert!(Schema::try_from(&schema_null).is_err()); + } } From 948416607b886099518fa3a8973aee2762786a33 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:09:33 -0400 Subject: [PATCH 06/20] remove broken comment --- vortex-array/src/validity.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/vortex-array/src/validity.rs b/vortex-array/src/validity.rs index a390cc9b3a..a88fa66714 100644 --- a/vortex-array/src/validity.rs +++ b/vortex-array/src/validity.rs @@ -1,7 +1,3 @@ -//! Types for tracking the null or non-null elements of an [Array]. -//! -//! The [`validity`] module tracks the. - use arrow_buffer::{BooleanBuffer, BooleanBufferBuilder, NullBuffer}; use serde::{Deserialize, Serialize}; use vortex_dtype::{DType, Nullability}; From b859d67612d1d18b3979841c988c740b0a60fe2c Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:33:14 -0400 Subject: [PATCH 07/20] fix some things, remove Cargo.lock --- .gitignore | 3 + Cargo.lock | 6177 ----------------- .../array/primitive/compute/filter_indices.rs | 1 - vortex-datafusion/src/lib.rs | 20 +- vortex-dtype/src/arrow.rs | 2 +- vortex-scalar/src/datafusion.rs | 4 +- 6 files changed, 16 insertions(+), 6191 deletions(-) delete mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index 2e32a1b26f..6ceb668204 100644 --- a/.gitignore +++ b/.gitignore @@ -190,3 +190,6 @@ benchmarks/.out # Scratch *.txt *.vortex + +# Lockfile +Cargo.lock diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index e6518b3be8..0000000000 --- a/Cargo.lock +++ /dev/null @@ -1,6177 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "const-random", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anes" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" - -[[package]] -name = "anstyle" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" - -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "arrow" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219d05930b81663fd3b32e3bde8ce5bff3c4d23052a99f11a8fa50a3b47b2658" -dependencies = [ - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-csv", - "arrow-data", - "arrow-ipc", - "arrow-json", - "arrow-ord", - "arrow-row", - "arrow-schema", - "arrow-select", - "arrow-string", - "pyo3", -] - -[[package]] -name = "arrow-arith" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0272150200c07a86a390be651abdd320a2d12e84535f0837566ca87ecd8f95e0" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "chrono", - "half", - "num", -] - -[[package]] -name = "arrow-array" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8010572cf8c745e242d1b632bd97bd6d4f40fefed5ed1290a8f433abaa686fea" -dependencies = [ - "ahash", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "chrono", - "chrono-tz", - "half", - "hashbrown", - "num", -] - -[[package]] -name = "arrow-buffer" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0a2432f0cba5692bf4cb757469c66791394bac9ec7ce63c1afe74744c37b27" -dependencies = [ - "bytes", - "half", - "num", -] - -[[package]] -name = "arrow-cast" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abc10cd7995e83505cc290df9384d6e5412b207b79ce6bdff89a10505ed2cba" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "atoi", - "base64 0.22.1", - "chrono", - "comfy-table", - "half", - "lexical-core", - "num", - "ryu", -] - -[[package]] -name = "arrow-csv" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95cbcba196b862270bf2a5edb75927380a7f3a163622c61d40cbba416a6305f2" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "chrono", - "csv", - "csv-core", - "lazy_static", - "lexical-core", - "regex", -] - -[[package]] -name = "arrow-data" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2742ac1f6650696ab08c88f6dd3f0eb68ce10f8c253958a18c943a68cd04aec5" -dependencies = [ - "arrow-buffer", - "arrow-schema", - "half", - "num", -] - -[[package]] -name = "arrow-ipc" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ea853130f7e78b9b9d178cb4cd01dee0f78e64d96c2949dc0a915d6d9e19d" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "flatbuffers 23.5.26", - "lz4_flex", - "zstd", -] - -[[package]] -name = "arrow-json" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaafb5714d4e59feae964714d724f880511500e3569cc2a94d02456b403a2a49" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "chrono", - "half", - "indexmap", - "lexical-core", - "num", - "serde", - "serde_json", -] - -[[package]] -name = "arrow-ord" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e6b61e3dc468f503181dccc2fc705bdcc5f2f146755fa5b56d0a6c5943f412" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "half", - "num", -] - -[[package]] -name = "arrow-row" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848ee52bb92eb459b811fb471175ea3afcf620157674c8794f539838920f9228" -dependencies = [ - "ahash", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "half", - "hashbrown", -] - -[[package]] -name = "arrow-schema" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d9483aaabe910c4781153ae1b6ae0393f72d9ef757d38d09d450070cf2e528" -dependencies = [ - "bitflags 2.5.0", -] - -[[package]] -name = "arrow-select" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "849524fa70e0e3c5ab58394c770cb8f514d0122d20de08475f7b472ed8075830" -dependencies = [ - "ahash", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "num", -] - -[[package]] -name = "arrow-string" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9373cb5a021aee58863498c37eb484998ef13377f69989c6c5ccfbd258236cdb" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "memchr", - "num", - "regex", - "regex-syntax", -] - -[[package]] -name = "async-compression" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" -dependencies = [ - "bzip2", - "flate2", - "futures-core", - "futures-io", - "memchr", - "pin-project-lite", - "tokio", - "xz2", - "zstd", - "zstd-safe", -] - -[[package]] -name = "async-priority-channel" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acde96f444d31031f760c5c43dc786b97d3e1cb2ee49dd06898383fe9a999758" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "async-trait" -version = "0.1.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "async_cell" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "834eee9ce518130a3b4d5af09ecc43e9d6b57ee76613f227a1ddd6b77c7a62bc" - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "auto-const-array" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f7df18977a1ee03650ee4b31b4aefed6d56bac188760b6e37610400fe8d4bb" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "aws-config" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6b3804dca60326e07205179847f17a4fce45af3a1106939177ad41ac08a6de" -dependencies = [ - "aws-credential-types", - "aws-http", - "aws-sdk-sso", - "aws-sdk-sts", - "aws-smithy-async", - "aws-smithy-client", - "aws-smithy-http", - "aws-smithy-http-tower", - "aws-smithy-json", - "aws-smithy-types", - "aws-types", - "bytes", - "fastrand", - "hex", - "http 0.2.12", - "hyper 0.14.29", - "ring 0.16.20", - "time", - "tokio", - "tower", - "tracing", - "zeroize", -] - -[[package]] -name = "aws-credential-types" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201" -dependencies = [ - "aws-smithy-async", - "aws-smithy-types", - "fastrand", - "tokio", - "tracing", - "zeroize", -] - -[[package]] -name = "aws-http" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e626370f9ba806ae4c439e49675fd871f5767b093075cdf4fef16cac42ba900" -dependencies = [ - "aws-credential-types", - "aws-smithy-http", - "aws-smithy-types", - "aws-types", - "bytes", - "http 0.2.12", - "http-body 0.4.6", - "lazy_static", - "percent-encoding", - "pin-project-lite", - "tracing", -] - -[[package]] -name = "aws-runtime" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ac5cf0ff19c1bca0cea7932e11b239d1025a45696a4f44f72ea86e2b8bdd07" -dependencies = [ - "aws-credential-types", - "aws-http", - "aws-sigv4", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "fastrand", - "http 0.2.12", - "percent-encoding", - "tracing", - "uuid", -] - -[[package]] -name = "aws-sdk-sso" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903f888ff190e64f6f5c83fb0f8d54f9c20481f1dc26359bb8896f5d99908949" -dependencies = [ - "aws-credential-types", - "aws-http", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-client", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "http 0.2.12", - "regex", - "tokio-stream", - "tracing", -] - -[[package]] -name = "aws-sdk-sts" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47ad6bf01afc00423d781d464220bf69fb6a674ad6629cbbcb06d88cdc2be82" -dependencies = [ - "aws-credential-types", - "aws-http", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-client", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-query", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-smithy-xml", - "aws-types", - "http 0.2.12", - "regex", - "tracing", -] - -[[package]] -name = "aws-sigv4" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b28f4910bb956b7ab320b62e98096402354eca976c587d1eeccd523d9bac03" -dependencies = [ - "aws-smithy-http", - "form_urlencoded", - "hex", - "hmac", - "http 0.2.12", - "once_cell", - "percent-encoding", - "regex", - "sha2", - "time", - "tracing", -] - -[[package]] -name = "aws-smithy-async" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cdb73f85528b9d19c23a496034ac53703955a59323d581c06aa27b4e4e247af" -dependencies = [ - "futures-util", - "pin-project-lite", - "tokio", - "tokio-stream", -] - -[[package]] -name = "aws-smithy-client" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c27b2756264c82f830a91cb4d2d485b2d19ad5bea476d9a966e03d27f27ba59a" -dependencies = [ - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-http-tower", - "aws-smithy-types", - "bytes", - "fastrand", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.29", - "hyper-rustls 0.24.2", - "lazy_static", - "pin-project-lite", - "rustls 0.21.12", - "tokio", - "tower", - "tracing", -] - -[[package]] -name = "aws-smithy-http" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cdcf365d8eee60686885f750a34c190e513677db58bbc466c44c588abf4199" -dependencies = [ - "aws-smithy-types", - "bytes", - "bytes-utils", - "futures-core", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.29", - "once_cell", - "percent-encoding", - "pin-project-lite", - "pin-utils", - "tracing", -] - -[[package]] -name = "aws-smithy-http-tower" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822de399d0ce62829a69dfa8c5cd08efdbe61a7426b953e2268f8b8b52a607bd" -dependencies = [ - "aws-smithy-http", - "aws-smithy-types", - "bytes", - "http 0.2.12", - "http-body 0.4.6", - "pin-project-lite", - "tower", - "tracing", -] - -[[package]] -name = "aws-smithy-json" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1e7ab8fa7ad10c193af7ae56d2420989e9f4758bf03601a342573333ea34f" -dependencies = [ - "aws-smithy-types", -] - -[[package]] -name = "aws-smithy-query" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28556a3902091c1f768a34f6c998028921bdab8d47d92586f363f14a4a32d047" -dependencies = [ - "aws-smithy-types", - "urlencoding", -] - -[[package]] -name = "aws-smithy-runtime" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745e096b3553e7e0f40622aa04971ce52765af82bebdeeac53aa6fc82fe801e6" -dependencies = [ - "aws-smithy-async", - "aws-smithy-client", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "fastrand", - "http 0.2.12", - "http-body 0.4.6", - "once_cell", - "pin-project-lite", - "pin-utils", - "tokio", - "tracing", -] - -[[package]] -name = "aws-smithy-runtime-api" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d0ae0c9cfd57944e9711ea610b48a963fb174a53aabacc08c5794a594b1d02" -dependencies = [ - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-types", - "bytes", - "http 0.2.12", - "tokio", - "tracing", -] - -[[package]] -name = "aws-smithy-types" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d90dbc8da2f6be461fa3c1906b20af8f79d14968fe47f2b7d29d086f62a51728" -dependencies = [ - "base64-simd", - "itoa", - "num-integer", - "ryu", - "serde", - "time", -] - -[[package]] -name = "aws-smithy-xml" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01d2dedcdd8023043716cfeeb3c6c59f2d447fce365d8e194838891794b23b6" -dependencies = [ - "xmlparser", -] - -[[package]] -name = "aws-types" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85aa0451bf8af1bf22a4f028d5d28054507a14be43cb8ac0597a8471fba9edfe" -dependencies = [ - "aws-credential-types", - "aws-smithy-async", - "aws-smithy-client", - "aws-smithy-http", - "aws-smithy-types", - "http 0.2.12", - "rustc_version", - "tracing", -] - -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64-simd" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" -dependencies = [ - "outref", - "vsimd", -] - -[[package]] -name = "bench-vortex" -version = "0.1.0" -dependencies = [ - "arrow-array", - "arrow-select", - "bzip2", - "criterion", - "csv", - "enum-iterator", - "fs_extra", - "futures", - "humansize", - "itertools 0.13.0", - "lance", - "lazy_static", - "log", - "parquet", - "reqwest 0.12.5", - "simplelog", - "tokio", - "uuid", - "vortex-alp", - "vortex-array", - "vortex-buffer", - "vortex-datetime-parts", - "vortex-dict", - "vortex-dtype", - "vortex-error", - "vortex-fastlanes", - "vortex-ipc", - "vortex-ree", - "vortex-roaring", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "blake3" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "brotli" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "build-vortex" -version = "0.1.0" -dependencies = [ - "cargo_metadata 0.18.1", - "prost-build", - "walkdir", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "bytecount" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" - -[[package]] -name = "bytemuck" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" - -[[package]] -name = "bytes-utils" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35" -dependencies = [ - "bytes", - "either", -] - -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "camino" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "cc" -version = "1.0.99" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" -dependencies = [ - "jobserver", - "libc", - "once_cell", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets 0.52.5", -] - -[[package]] -name = "chrono-tz" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" -dependencies = [ - "chrono", - "chrono-tz-build", - "phf", -] - -[[package]] -name = "chrono-tz-build" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" -dependencies = [ - "parse-zoneinfo", - "phf", - "phf_codegen", -] - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "clap" -version = "4.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" -dependencies = [ - "clap_builder", -] - -[[package]] -name = "clap_builder" -version = "4.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" -dependencies = [ - "anstyle", - "clap_lex", - "terminal_size", -] - -[[package]] -name = "clap_lex" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" - -[[package]] -name = "comfy-table" -version = "7.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" -dependencies = [ - "strum", - "strum_macros", - "unicode-width", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "condtype" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" - -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom", - "once_cell", - "tiny-keccak", -] - -[[package]] -name = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "criterion" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" -dependencies = [ - "anes", - "cast", - "ciborium", - "clap", - "criterion-plot", - "futures", - "is-terminal", - "itertools 0.10.5", - "num-traits", - "once_cell", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools 0.10.5", -] - -[[package]] -name = "croaring" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611eaefca84c93e431ad82dfb848f6e05a99e25148384f45a3852b0fbe1c8086" -dependencies = [ - "byteorder", - "croaring-sys", -] - -[[package]] -name = "croaring-sys" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5260027c04c33d67f405589d9c26e1e991fe062fb165f3094c9836e6c3b17f" -dependencies = [ - "cc", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - -[[package]] -name = "darling" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.66", -] - -[[package]] -name = "darling_macro" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "datafusion" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85069782056753459dc47e386219aa1fdac5b731f26c28abb8c0ffd4b7c5ab11" -dependencies = [ - "ahash", - "arrow", - "arrow-array", - "arrow-ipc", - "arrow-schema", - "async-compression", - "async-trait", - "bytes", - "bzip2", - "chrono", - "dashmap", - "datafusion-common", - "datafusion-common-runtime", - "datafusion-execution", - "datafusion-expr", - "datafusion-functions", - "datafusion-functions-array", - "datafusion-optimizer", - "datafusion-physical-expr", - "datafusion-physical-plan", - "datafusion-sql", - "flate2", - "futures", - "glob", - "half", - "hashbrown", - "indexmap", - "itertools 0.12.1", - "log", - "num_cpus", - "object_store", - "parking_lot", - "parquet", - "pin-project-lite", - "rand", - "sqlparser", - "tempfile", - "tokio", - "tokio-util", - "url", - "uuid", - "xz2", - "zstd", -] - -[[package]] -name = "datafusion-common" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309d9040751f6dc9e33c85dce6abb55a46ef7ea3644577dd014611c379447ef3" -dependencies = [ - "ahash", - "arrow", - "arrow-array", - "arrow-buffer", - "arrow-schema", - "chrono", - "half", - "instant", - "libc", - "num_cpus", - "object_store", - "parquet", - "sqlparser", -] - -[[package]] -name = "datafusion-common-runtime" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e4a44d8ef1b1e85d32234e6012364c411c3787859bb3bba893b0332cb03dfd" -dependencies = [ - "tokio", -] - -[[package]] -name = "datafusion-execution" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06a3a29ae36bcde07d179cc33b45656a8e7e4d023623e320e48dcf1200eeee95" -dependencies = [ - "arrow", - "chrono", - "dashmap", - "datafusion-common", - "datafusion-expr", - "futures", - "hashbrown", - "log", - "object_store", - "parking_lot", - "rand", - "tempfile", - "url", -] - -[[package]] -name = "datafusion-expr" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3542aa322029c2121a671ce08000d4b274171070df13f697b14169ccf4f628" -dependencies = [ - "ahash", - "arrow", - "arrow-array", - "chrono", - "datafusion-common", - "paste", - "sqlparser", - "strum", - "strum_macros", -] - -[[package]] -name = "datafusion-functions" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd221792c666eac174ecc09e606312844772acc12cbec61a420c2fca1ee70959" -dependencies = [ - "arrow", - "base64 0.22.1", - "blake2", - "blake3", - "chrono", - "datafusion-common", - "datafusion-execution", - "datafusion-expr", - "datafusion-physical-expr", - "hex", - "itertools 0.12.1", - "log", - "md-5", - "regex", - "sha2", - "unicode-segmentation", - "uuid", -] - -[[package]] -name = "datafusion-functions-array" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e501801e84d9c6ef54caaebcda1b18a6196a24176c12fb70e969bc0572e03c55" -dependencies = [ - "arrow", - "arrow-array", - "arrow-buffer", - "arrow-ord", - "arrow-schema", - "datafusion-common", - "datafusion-execution", - "datafusion-expr", - "datafusion-functions", - "itertools 0.12.1", - "log", - "paste", -] - -[[package]] -name = "datafusion-optimizer" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bd7f5087817deb961764e8c973d243b54f8572db414a8f0a8f33a48f991e0a" -dependencies = [ - "arrow", - "async-trait", - "chrono", - "datafusion-common", - "datafusion-expr", - "datafusion-physical-expr", - "hashbrown", - "itertools 0.12.1", - "log", - "regex-syntax", -] - -[[package]] -name = "datafusion-physical-expr" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cabc0d9aaa0f5eb1b472112f16223c9ffd2fb04e58cbf65c0a331ee6e993f96" -dependencies = [ - "ahash", - "arrow", - "arrow-array", - "arrow-buffer", - "arrow-ord", - "arrow-schema", - "arrow-string", - "base64 0.22.1", - "blake2", - "blake3", - "chrono", - "datafusion-common", - "datafusion-execution", - "datafusion-expr", - "half", - "hashbrown", - "hex", - "indexmap", - "itertools 0.12.1", - "log", - "md-5", - "paste", - "petgraph", - "rand", - "regex", - "sha2", - "unicode-segmentation", -] - -[[package]] -name = "datafusion-physical-plan" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c0523e9c8880f2492a88bbd857dde02bed1ed23f3e9211a89d3d7ec3b44af9" -dependencies = [ - "ahash", - "arrow", - "arrow-array", - "arrow-buffer", - "arrow-schema", - "async-trait", - "chrono", - "datafusion-common", - "datafusion-common-runtime", - "datafusion-execution", - "datafusion-expr", - "datafusion-physical-expr", - "futures", - "half", - "hashbrown", - "indexmap", - "itertools 0.12.1", - "log", - "once_cell", - "parking_lot", - "pin-project-lite", - "rand", - "tokio", -] - -[[package]] -name = "datafusion-sql" -version = "37.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb54b42227136f6287573f2434b1de249fe1b8e6cd6cc73a634e4a3ec29356" -dependencies = [ - "arrow", - "arrow-array", - "arrow-schema", - "datafusion-common", - "datafusion-expr", - "log", - "sqlparser", - "strum", -] - -[[package]] -name = "deepsize" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdb987ec36f6bf7bfbea3f928b75590b736fc42af8e54d97592481351b2b96c" -dependencies = [ - "deepsize_derive", -] - -[[package]] -name = "deepsize_derive" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990101d41f3bc8c1a45641024377ee284ecc338e5ecf3ea0f0e236d897c72796" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derive_builder" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" -dependencies = [ - "derive_builder_core", - "syn 2.0.66", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "displaydoc" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "divan" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d567df2c9c2870a43f3f2bd65aaeb18dbce1c18f217c3e564b4fbaeb3ee56c" -dependencies = [ - "cfg-if", - "clap", - "condtype", - "divan-macros", - "libc", - "regex-lite", -] - -[[package]] -name = "divan-macros" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27540baf49be0d484d8f0130d7d8da3011c32a44d4fc873368154f1510e574a2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "either" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enum-iterator" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c280b9e6b3ae19e152d8e31cf47f18389781e119d4013a2a2bb0180e5facc635" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", -] - -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "fastlanes" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75903ae502081d57c7be8f153bcba86ef62fb7a81ef3f02bb2b374d90d8e3f40" -dependencies = [ - "arrayref", - "num-traits", - "paste", - "seq-macro", -] - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flatbuffers" -version = "23.5.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640" -dependencies = [ - "bitflags 1.3.2", - "rustc_version", -] - -[[package]] -name = "flatbuffers" -version = "24.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8add37afff2d4ffa83bc748a70b4b1370984f6980768554182424ef71447c35f" -dependencies = [ - "bitflags 1.3.2", - "rustc_version", -] - -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "flexbuffers" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d14128f06405808ce75bfebe11e9b0f9da18719ede6d7bdb1702d6bfe0f7e8" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "num_enum 0.5.11", - "serde", - "serde_derive", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http 1.1.0", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", - "num-traits", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" -dependencies = [ - "bytes", - "http 1.1.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "humansize" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" -dependencies = [ - "libm", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.14.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2 0.4.5", - "http 1.1.0", - "http-body 1.0.0", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.29", - "log", - "rustls 0.21.12", - "rustls-native-certs", - "tokio", - "tokio-rustls 0.24.1", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" -dependencies = [ - "futures-util", - "http 1.1.0", - "hyper 1.3.1", - "hyper-util", - "rustls 0.23.10", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.26.0", - "tower-service", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper 1.3.1", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", - "pin-project-lite", - "socket2", - "tokio", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" -dependencies = [ - "icu_normalizer", - "icu_properties", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "indoc" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - -[[package]] -name = "io-uring" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595a0399f411a508feb2ec1e970a4a30c249351e30208960d58298de8660b0e5" -dependencies = [ - "bitflags 1.3.2", - "libc", -] - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is-terminal" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lance" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9006f7668f7a96c3a42d5c8be0eea08e7da63a06f3f48074bcbcdb8da48bed6" -dependencies = [ - "arrow", - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-ord", - "arrow-row", - "arrow-schema", - "arrow-select", - "async-recursion", - "async-trait", - "async_cell", - "aws-credential-types", - "byteorder", - "bytes", - "chrono", - "dashmap", - "datafusion", - "datafusion-functions", - "datafusion-physical-expr", - "deepsize", - "futures", - "half", - "itertools 0.12.1", - "lance-arrow", - "lance-core", - "lance-datafusion", - "lance-datagen", - "lance-encoding", - "lance-file", - "lance-index", - "lance-io", - "lance-linalg", - "lance-table", - "lazy_static", - "log", - "lru_time_cache", - "moka", - "num_cpus", - "object_store", - "ordered-float 3.9.2", - "pin-project", - "prost", - "prost-build", - "rand", - "roaring", - "serde", - "serde_json", - "snafu", - "tempfile", - "tokio", - "tracing", - "url", - "uuid", -] - -[[package]] -name = "lance-arrow" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225797ba855b4d059424726efb51122c1571db203b6da4078f6f0455ed467199" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "arrow-select", - "getrandom", - "half", - "num-traits", - "rand", - "serde", -] - -[[package]] -name = "lance-core" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f42ef248b13d04f060ef945c4430ac20c240a7aff86e2f0f6cfa55f1c057c2" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-schema", - "async-trait", - "byteorder", - "bytes", - "chrono", - "datafusion-common", - "datafusion-sql", - "deepsize", - "futures", - "lance-arrow", - "lazy_static", - "libc", - "mock_instant", - "moka", - "num_cpus", - "object_store", - "pin-project", - "prost", - "rand", - "roaring", - "serde_json", - "snafu", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "url", -] - -[[package]] -name = "lance-datafusion" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7457fe0d653bfbfb0dcaf122cb7c07a1d7935c5a56187f29fa9a83ef53b084f7" -dependencies = [ - "arrow", - "arrow-array", - "arrow-ord", - "arrow-schema", - "async-trait", - "datafusion", - "datafusion-common", - "datafusion-functions", - "datafusion-physical-expr", - "futures", - "lance-arrow", - "lance-core", - "log", - "prost", - "snafu", - "tokio", -] - -[[package]] -name = "lance-datagen" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51857bc36b6cb594b9838a42b2499f1969b479d2521fd1318726f23702d874f0" -dependencies = [ - "arrow", - "arrow-array", - "arrow-cast", - "arrow-schema", - "chrono", - "futures", - "hex", - "rand", - "rand_xoshiro", -] - -[[package]] -name = "lance-encoding" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8b403725f29a6b5eca6b2795f944d335166feecef3bdf95394a7ae424e0d55" -dependencies = [ - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-schema", - "arrow-select", - "bytes", - "futures", - "lance-arrow", - "lance-core", - "lance-datagen", - "log", - "num_cpus", - "prost", - "prost-build", - "prost-types", - "snafu", - "tokio", - "tracing", - "zstd", -] - -[[package]] -name = "lance-file" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76b3344ebf260d4be4e9c3e256f49a2158d74030aaad34868defa8ecf3c1c8fc" -dependencies = [ - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "async-recursion", - "async-trait", - "byteorder", - "bytes", - "datafusion-common", - "deepsize", - "futures", - "lance-arrow", - "lance-core", - "lance-datagen", - "lance-encoding", - "lance-io", - "log", - "num-traits", - "num_cpus", - "object_store", - "prost", - "prost-build", - "prost-types", - "roaring", - "snafu", - "tempfile", - "tokio", - "tracing", -] - -[[package]] -name = "lance-index" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9168a8ffa1b3378d526ffc969e9837f5d37244790758893e8700ef49c2c6b64e" -dependencies = [ - "arrow", - "arrow-array", - "arrow-ord", - "arrow-schema", - "arrow-select", - "async-recursion", - "async-trait", - "bitvec", - "crossbeam-queue", - "datafusion", - "datafusion-common", - "datafusion-expr", - "datafusion-physical-expr", - "datafusion-sql", - "deepsize", - "futures", - "half", - "itertools 0.12.1", - "lance-arrow", - "lance-core", - "lance-datafusion", - "lance-encoding", - "lance-file", - "lance-io", - "lance-linalg", - "lance-table", - "lazy_static", - "log", - "num-traits", - "num_cpus", - "object_store", - "prost", - "prost-build", - "rand", - "rayon", - "roaring", - "rustc_version", - "serde", - "serde_json", - "snafu", - "tempfile", - "tokio", - "tracing", -] - -[[package]] -name = "lance-io" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71854ddbbb3b32ea2849d18694c7ca4506e9fd21bfcc46f74f8caeac50234007" -dependencies = [ - "arrow", - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "arrow-select", - "async-priority-channel", - "async-recursion", - "async-trait", - "aws-config", - "aws-credential-types", - "byteorder", - "bytes", - "chrono", - "deepsize", - "futures", - "lance-arrow", - "lance-core", - "lazy_static", - "num_cpus", - "object_store", - "path_abs", - "pin-project", - "prost", - "prost-build", - "rand", - "shellexpand", - "snafu", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "lance-linalg" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b4f4a922104a337176807941dce543d5dc597a5e72ba8e16a0f8964f0ad806" -dependencies = [ - "arrow-array", - "arrow-ord", - "arrow-schema", - "bitvec", - "cc", - "deepsize", - "futures", - "half", - "lance-arrow", - "lance-core", - "lazy_static", - "log", - "num-traits", - "num_cpus", - "rand", - "rayon", - "tokio", - "tracing", -] - -[[package]] -name = "lance-table" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e23d91e024c8c9a1794ab41e8596f396a149ceb2097e4e4dbc69ab3cd4a86b3" -dependencies = [ - "arrow", - "arrow-array", - "arrow-buffer", - "arrow-ipc", - "arrow-schema", - "async-trait", - "aws-credential-types", - "byteorder", - "bytes", - "chrono", - "deepsize", - "futures", - "lance-arrow", - "lance-core", - "lance-datagen", - "lance-file", - "lance-io", - "log", - "object_store", - "prost", - "prost-build", - "prost-types", - "rand", - "rangemap", - "roaring", - "serde", - "serde_json", - "snafu", - "tokio", - "tracing", - "url", - "uuid", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lexical-core" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" -dependencies = [ - "lexical-parse-float", - "lexical-parse-integer", - "lexical-util", - "lexical-write-float", - "lexical-write-integer", -] - -[[package]] -name = "lexical-parse-float" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" -dependencies = [ - "lexical-parse-integer", - "lexical-util", - "static_assertions", -] - -[[package]] -name = "lexical-parse-integer" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" -dependencies = [ - "lexical-util", - "static_assertions", -] - -[[package]] -name = "lexical-util" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" -dependencies = [ - "static_assertions", -] - -[[package]] -name = "lexical-write-float" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" -dependencies = [ - "lexical-util", - "lexical-write-integer", - "static_assertions", -] - -[[package]] -name = "lexical-write-integer" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" -dependencies = [ - "lexical-util", - "static_assertions", -] - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.5.0", - "libc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "litemap" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "lru_time_cache" -version = "0.11.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd" - -[[package]] -name = "lz4_flex" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" -dependencies = [ - "twox-hash", -] - -[[package]] -name = "lzma-sys" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "mach2" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" -dependencies = [ - "libc", -] - -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "mock_instant" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9366861eb2a2c436c20b12c8dbec5f798cea6b47ad99216be0282942e2c81ea0" -dependencies = [ - "once_cell", -] - -[[package]] -name = "moka" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6e72583bf6830c956235bff0d5afec8cf2952f579ebad18ae7821a917d950f" -dependencies = [ - "crossbeam-channel", - "crossbeam-epoch", - "crossbeam-utils", - "once_cell", - "parking_lot", - "quanta", - "rustc_version", - "scheduled-thread-pool", - "skeptic", - "smallvec", - "tagptr", - "thiserror", - "triomphe", - "uuid", -] - -[[package]] -name = "monoio" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60824f1a372fa200937885a2d434610333fe47d6c6f3d0855bd4555b46316fe7" -dependencies = [ - "auto-const-array", - "bytes", - "fxhash", - "io-uring", - "libc", - "memchr", - "mio", - "monoio-macros", - "nix", - "pin-project-lite", - "socket2", - "windows-sys 0.48.0", -] - -[[package]] -name = "monoio-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176a5f5e69613d9e88337cf2a65e11135332b4efbcc628404a7c555e4452084c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "multimap" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" - -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", - "pin-utils", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive 0.7.2", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - -[[package]] -name = "object" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" -dependencies = [ - "memchr", -] - -[[package]] -name = "object_store" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8718f8b65fdf67a45108d1548347d4af7d71fb81ce727bbf9e3b2535e079db3" -dependencies = [ - "async-trait", - "base64 0.21.7", - "bytes", - "chrono", - "futures", - "humantime", - "hyper 0.14.29", - "itertools 0.12.1", - "md-5", - "parking_lot", - "percent-encoding", - "quick-xml", - "rand", - "reqwest 0.11.27", - "ring 0.17.8", - "rustls-pemfile 2.1.2", - "serde", - "serde_json", - "snafu", - "tokio", - "tracing", - "url", - "walkdir", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "oorandom" -version = "11.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" - -[[package]] -name = "openssl" -version = "0.10.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" -dependencies = [ - "bitflags 2.5.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - -[[package]] -name = "ordered-float" -version = "3.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" -dependencies = [ - "num-traits", -] - -[[package]] -name = "outref" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" - -[[package]] -name = "paris" -version = "1.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fecab3723493c7851f292cb060f3ee1c42f19b8d749345d0d7eaf3fd19aa62d" - -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.5", -] - -[[package]] -name = "parquet" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "096795d4f47f65fd3ee1ec5a98b77ab26d602f2cc785b0e4be5443add17ecc32" -dependencies = [ - "ahash", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-ipc", - "arrow-schema", - "arrow-select", - "base64 0.22.1", - "brotli", - "bytes", - "chrono", - "flate2", - "futures", - "half", - "hashbrown", - "lz4_flex", - "num", - "num-bigint", - "object_store", - "paste", - "seq-macro", - "snap", - "thrift", - "tokio", - "twox-hash", - "zstd", -] - -[[package]] -name = "parse-zoneinfo" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" -dependencies = [ - "regex", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "path_abs" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3" -dependencies = [ - "serde", - "serde_derive", - "std_prelude", - "stfu8", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_codegen" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared", - "rand", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "plotters" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" - -[[package]] -name = "plotters-svg" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "portable-atomic" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" - -[[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.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -dependencies = [ - "proc-macro2", - "syn 2.0.66", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.1", -] - -[[package]] -name = "proc-macro2" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -dependencies = [ - "bytes", - "heck 0.5.0", - "itertools 0.12.1", - "log", - "multimap", - "once_cell", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn 2.0.66", - "tempfile", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "prost-types" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -dependencies = [ - "prost", -] - -[[package]] -name = "pulldown-cmark" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" -dependencies = [ - "bitflags 2.5.0", - "memchr", - "unicase", -] - -[[package]] -name = "pyo3" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" -dependencies = [ - "cfg-if", - "indoc", - "libc", - "memoffset 0.9.1", - "parking_lot", - "portable-atomic", - "pyo3-build-config", - "pyo3-ffi", - "pyo3-macros", - "unindent", -] - -[[package]] -name = "pyo3-build-config" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" -dependencies = [ - "once_cell", - "target-lexicon", -] - -[[package]] -name = "pyo3-ffi" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" -dependencies = [ - "libc", - "pyo3-build-config", -] - -[[package]] -name = "pyo3-log" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd" -dependencies = [ - "arc-swap", - "log", - "pyo3", -] - -[[package]] -name = "pyo3-macros" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" -dependencies = [ - "proc-macro2", - "pyo3-macros-backend", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "pyo3-macros-backend" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "pyo3-build-config", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "pyvortex" -version = "0.1.0" -dependencies = [ - "arrow", - "log", - "paste", - "pyo3", - "pyo3-log", - "vortex-alp", - "vortex-array", - "vortex-dict", - "vortex-dtype", - "vortex-error", - "vortex-fastlanes", - "vortex-ree", - "vortex-roaring", - "vortex-zigzag", -] - -[[package]] -name = "quanta" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" -dependencies = [ - "crossbeam-utils", - "libc", - "mach2", - "once_cell", - "raw-cpuid", - "wasi", - "web-sys", - "winapi", -] - -[[package]] -name = "quick-xml" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rangemap" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" - -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" -dependencies = [ - "bitflags 2.5.0", -] - -[[package]] -name = "redox_users" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-lite" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.29", - "hyper-rustls 0.24.2", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls 0.21.12", - "rustls-native-certs", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", - "tokio", - "tokio-rustls 0.24.1", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "winreg 0.50.0", -] - -[[package]] -name = "reqwest" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" -dependencies = [ - "base64 0.22.1", - "bytes", - "encoding_rs", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.4.5", - "http 1.1.0", - "http-body 1.0.0", - "http-body-util", - "hyper 1.3.1", - "hyper-rustls 0.27.2", - "hyper-tls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile 2.1.2", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg 0.52.0", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "roaring" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8" -dependencies = [ - "bytemuck", - "byteorder", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", - "sct", -] - -[[package]] -name = "rustls" -version = "0.23.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" -dependencies = [ - "once_cell", - "rustls-pki-types", - "rustls-webpki 0.102.4", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.4", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64 0.22.1", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "rustls-webpki" -version = "0.102.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" -dependencies = [ - "ring 0.17.8", - "rustls-pki-types", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "scheduled-thread-pool" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" -dependencies = [ - "parking_lot", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "security-framework" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" -dependencies = [ - "bitflags 2.5.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[package]] -name = "seq-macro" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" - -[[package]] -name = "serde" -version = "1.0.203" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_derive" -version = "1.0.203" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "serde_json" -version = "1.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_test" -version = "1.0.176" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "simplelog" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0" -dependencies = [ - "log", - "paris", - "termcolor", - "time", -] - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "skeptic" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata 0.14.2", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "snafu" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" -dependencies = [ - "doc-comment", - "snafu-derive", -] - -[[package]] -name = "snafu-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "snap" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "sqlparser" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf9c7ff146298ffda83a200f8d5084f08dcee1edfc135fcc1d646a45d50ffd6" -dependencies = [ - "log", - "sqlparser_derive", -] - -[[package]] -name = "sqlparser_derive" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "stable_deref_trait" -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 = "std_prelude" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe" - -[[package]] -name = "stfu8" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51f1e89f093f99e7432c491c382b88a6860a5adbe6bf02574bf0a08efff1978" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.66", -] - -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "sync_wrapper" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[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 = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "target-lexicon" -version = "0.12.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "terminal_size" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "thrift" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" -dependencies = [ - "byteorder", - "integer-encoding", - "ordered-float 2.10.1", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tokio" -version = "1.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls 0.23.10", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml_datetime" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "triomphe" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - -[[package]] -name = "unindent" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "uuid" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" -dependencies = [ - "getrandom", - "serde", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "vortex-alp" -version = "0.1.0" -dependencies = [ - "divan", - "itertools 0.13.0", - "num-traits", - "serde", - "vortex-array", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-array" -version = "0.1.0" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-schema", - "build-vortex", - "criterion", - "enum-iterator", - "flatbuffers 24.3.25", - "flexbuffers", - "futures-util", - "getrandom", - "humansize", - "itertools 0.13.0", - "lazy_static", - "log", - "num-traits", - "num_enum 0.7.2", - "paste", - "pin-project", - "rand", - "serde", - "tokio", - "vortex-buffer", - "vortex-dtype", - "vortex-error", - "vortex-expr", - "vortex-flatbuffers", - "vortex-scalar", -] - -[[package]] -name = "vortex-buffer" -version = "0.1.0" -dependencies = [ - "arrow-buffer", - "bytes", - "flexbuffers", -] - -[[package]] -name = "vortex-datafusion" -version = "0.1.0" -dependencies = [ - "arrow-schema", - "async-trait", - "datafusion", - "datafusion-common", - "datafusion-expr", - "futures", - "pin-project", - "tokio", - "vortex-array", - "vortex-dtype", - "vortex-error", -] - -[[package]] -name = "vortex-datetime-parts" -version = "0.1.0" -dependencies = [ - "log", - "serde", - "vortex-array", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-dict" -version = "0.1.0" -dependencies = [ - "ahash", - "criterion", - "hashbrown", - "log", - "num-traits", - "rand", - "serde", - "simplelog", - "vortex-array", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-dtype" -version = "0.1.0" -dependencies = [ - "arrow-schema", - "build-vortex", - "flatbuffers 24.3.25", - "half", - "itertools 0.13.0", - "num-traits", - "prost", - "serde", - "serde_json", - "serde_test", - "vortex-error", - "vortex-flatbuffers", -] - -[[package]] -name = "vortex-error" -version = "0.1.0" -dependencies = [ - "arrow-schema", - "flatbuffers 24.3.25", - "flexbuffers", - "parquet", - "thiserror", - "worker", -] - -[[package]] -name = "vortex-expr" -version = "0.1.0" -dependencies = [ - "build-vortex", - "datafusion-common", - "datafusion-expr", - "prost", - "serde", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-fastlanes" -version = "0.1.0" -dependencies = [ - "arrayref", - "criterion", - "fastlanes", - "itertools 0.13.0", - "num-traits", - "rand", - "serde", - "simplelog", - "vortex-array", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-flatbuffers" -version = "0.1.0" -dependencies = [ - "flatbuffers 24.3.25", -] - -[[package]] -name = "vortex-ipc" -version = "0.1.0" -dependencies = [ - "arrow", - "arrow-array", - "arrow-ipc", - "arrow-schema", - "arrow-select", - "build-vortex", - "bytes", - "criterion", - "derive_builder", - "flatbuffers 24.3.25", - "futures-executor", - "futures-util", - "itertools 0.13.0", - "monoio", - "pin-project", - "rand", - "simplelog", - "tokio", - "vortex-alp", - "vortex-array", - "vortex-buffer", - "vortex-dtype", - "vortex-error", - "vortex-fastlanes", - "vortex-flatbuffers", - "vortex-scalar", -] - -[[package]] -name = "vortex-ree" -version = "0.1.0" -dependencies = [ - "itertools 0.13.0", - "num-traits", - "serde", - "vortex-array", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-roaring" -version = "0.1.0" -dependencies = [ - "arrow-buffer", - "croaring", - "log", - "num-traits", - "serde", - "vortex-array", - "vortex-buffer", - "vortex-dtype", - "vortex-error", - "vortex-scalar", -] - -[[package]] -name = "vortex-scalar" -version = "0.1.0" -dependencies = [ - "build-vortex", - "datafusion-common", - "flatbuffers 24.3.25", - "flexbuffers", - "itertools 0.13.0", - "num-traits", - "paste", - "prost", - "prost-types", - "serde", - "vortex-buffer", - "vortex-dtype", - "vortex-error", - "vortex-flatbuffers", -] - -[[package]] -name = "vortex-zigzag" -version = "0.1.0" -dependencies = [ - "serde", - "vortex-array", - "vortex-dtype", - "vortex-error", - "vortex-fastlanes", - "vortex-scalar", - "zigzag", -] - -[[package]] -name = "vsimd" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.66", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "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]] -name = "windows-targets" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "worker" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58b567e8b518469c73c8d7e4798d5abcd7db76a1b33121fffd36ac6fa62da05" -dependencies = [ - "async-trait", - "bytes", - "chrono", - "futures-channel", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "js-sys", - "matchit", - "pin-project", - "serde", - "serde-wasm-bindgen 0.6.5", - "serde_json", - "serde_urlencoded", - "tokio", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "worker-kv", - "worker-macros", - "worker-sys", -] - -[[package]] -name = "worker-kv" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f06d4d1416a9f8346ee9123b0d9a11b3cfa38e6cfb5a139698017d1597c4d41" -dependencies = [ - "js-sys", - "serde", - "serde-wasm-bindgen 0.5.0", - "serde_json", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", -] - -[[package]] -name = "worker-macros" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15db63b1b56564beca160a5265169730a109fc85c21e858f184bb9e39afbfe44" -dependencies = [ - "async-trait", - "proc-macro2", - "quote", - "syn 2.0.66", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-macro-support", - "worker-sys", -] - -[[package]] -name = "worker-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1082d3b324dd37fe9b25b1aa61a938e343d035650708986bf9d0aa9a020c84" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "xmlparser" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" - -[[package]] -name = "xz2" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" -dependencies = [ - "lzma-sys", -] - -[[package]] -name = "yoke" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "zerofrom" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zerovec" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "zigzag" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b40401a28d86ce16a330b863b86fd7dbee4d7c940587ab09ab8c019f9e3fdf" -dependencies = [ - "num-traits", -] - -[[package]] -name = "zstd" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/vortex-array/src/array/primitive/compute/filter_indices.rs b/vortex-array/src/array/primitive/compute/filter_indices.rs index 324946c85f..81076994ba 100644 --- a/vortex-array/src/array/primitive/compute/filter_indices.rs +++ b/vortex-array/src/array/primitive/compute/filter_indices.rs @@ -68,7 +68,6 @@ fn apply_predicate bool>( #[cfg(test)] mod test { - use itertools::Itertools; use vortex_dtype::field::FieldPath; use vortex_expr::{lit, Conjunction, FieldPathOperations}; diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index e45980517c..55ec875478 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -28,13 +28,18 @@ use vortex::{Array, ArrayDType, Flattened, IntoArray}; use vortex_dtype::DType; use vortex_error::{vortex_bail, VortexResult}; +/// A [`TableProvider`] that exposes an existing Vortex Array to the DataFusion SQL engine. +/// +/// Only arrays that have a top-level [struct type](vortex_dtype::StructDType) can be exposed as +/// a table to DataFusion. #[derive(Debug, Clone)] -pub struct VortexInMemoryTableProvider { +pub(crate) struct VortexInMemoryTableProvider { array: Array, schema_ref: SchemaRef, } impl VortexInMemoryTableProvider { + /// Build a new table provider from an existing [struct type](vortex_dtype::StructDType) array. pub fn try_new(array: Array) -> VortexResult { if !matches!(array.dtype(), DType::Struct(_, _)) { vortex_bail!(InvalidArgument: "only DType::Struct arrays can produce a table provider"); @@ -47,9 +52,6 @@ impl VortexInMemoryTableProvider { } } -// Create a table provider that is able to perform basic pushdown over -// the datasources inherent in the stream readers. - #[async_trait] impl TableProvider for VortexInMemoryTableProvider { fn as_any(&self) -> &dyn Any { @@ -65,6 +67,9 @@ impl TableProvider for VortexInMemoryTableProvider { } /// Plan an array scan. + /// + /// Currently, no pushdown is supported. The array is flattened directly into the nearest + /// Arrow-compatible encoding, and we emit a single [RecordBatch] of data. async fn scan( &self, _state: &SessionState, @@ -177,7 +182,6 @@ impl VortexMemoryExec { let schema = Arc::new(Schema::new(record_batch_fields)); - println!("returning stream"); let batch = RecordBatch::try_new(Arc::clone(&schema), record_batch)?; Ok(Box::pin(VortexRecordBatchStream { schema_ref: Arc::clone(&schema), @@ -201,7 +205,6 @@ where type Item = DFResult; fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - println!("POLLING"); let mut this = self.project(); match this.inner.poll_next_unpin(cx) { Poll::Ready(Some(batch)) => Poll::Ready(Some(Ok(batch))), @@ -276,7 +279,6 @@ mod test { #[tokio::test] async fn test_simple() { - println!("starting test"); // Create a new array. let names = VarBinArray::from_vec( vec!["Washington", "Adams", "Jefferson", "Madison", "Monroe"], @@ -296,12 +298,10 @@ mod test { Arc::new(VortexInMemoryTableProvider::try_new(presidents.into_array()).unwrap()); let session_ctx = SessionContext::new(); - println!("registering table"); session_ctx .register_table("presidents", presidents_table) .unwrap(); - println!("sql query"); let df_term_start = session_ctx .sql("SELECT SUM(term_start) FROM presidents WHERE president <> 'Madison'") .await @@ -316,7 +316,7 @@ mod test { .column(0) .as_primitive::() .values() - .get(0) + .first() .unwrap(), vec![1789u64, 1797, 1801, 1817].into_iter().sum::() ); diff --git a/vortex-dtype/src/arrow.rs b/vortex-dtype/src/arrow.rs index 49c2edd871..d184c1791a 100644 --- a/vortex-dtype/src/arrow.rs +++ b/vortex-dtype/src/arrow.rs @@ -81,7 +81,7 @@ impl TryFrom<&DType> for DataType { Ok(DataType::Struct(Fields::from(fields))) } DType::List(list_dt, _) => { - let dtype: &DType = &(*list_dt); + let dtype: &DType = list_dt; Ok(DataType::List(FieldRef::from(Field::new( "element", DataType::try_from(dtype)?, diff --git a/vortex-scalar/src/datafusion.rs b/vortex-scalar/src/datafusion.rs index 594a6c3c3d..12d1cee48a 100644 --- a/vortex-scalar/src/datafusion.rs +++ b/vortex-scalar/src/datafusion.rs @@ -21,7 +21,7 @@ impl From for ScalarValue { PType::I16 => ScalarValue::Int16(None), PType::I32 => ScalarValue::Int32(None), PType::I64 => ScalarValue::Int64(None), - PType::F16 => ScalarValue::Float16(None), + PType::F16 => panic!("float16 not supported before datafusion 39.0.0"), PType::F32 => ScalarValue::Float32(None), PType::F64 => ScalarValue::Float64(None), }, @@ -34,7 +34,7 @@ impl From for ScalarValue { PValue::I16(v) => ScalarValue::Int16(Some(v)), PValue::I32(v) => ScalarValue::Int32(Some(v)), PValue::I64(v) => ScalarValue::Int64(Some(v)), - PValue::F16(v) => ScalarValue::Float16(Some(v)), + PValue::F16(_) => panic!("float16 not supported before datafusion 39.0.0"), PValue::F32(v) => ScalarValue::Float32(Some(v)), PValue::F64(v) => ScalarValue::Float64(Some(v)), }, From 08e3c396a2cc6215177727ae3e175a2389db2152 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:40:00 -0400 Subject: [PATCH 08/20] schema --- Cargo.toml | 3 +++ vortex-datafusion/Cargo.toml | 5 +++++ vortex-datafusion/src/lib.rs | 12 ++++++------ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ba25c4eb5e..182a3d4f51 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,7 +52,10 @@ croaring = "1.0.1" csv = "1.3.0" datafusion = "37.1.0" datafusion-common = "37.1.0" +datafusion-execution = "37.1.0" datafusion-expr = "37.1.0" +datafusion-physical-expr = "37.1.0" +datafusion-physical-plan = "37.1.0" derive_builder = "0.20.0" divan = "0.1.14" duckdb = { version = "0.10.1", features = ["bundled"] } diff --git a/vortex-datafusion/Cargo.toml b/vortex-datafusion/Cargo.toml index 758527ff3b..a068cfb417 100644 --- a/vortex-datafusion/Cargo.toml +++ b/vortex-datafusion/Cargo.toml @@ -15,11 +15,16 @@ vortex-array = { path = "../vortex-array" } vortex-dtype = { path = "../vortex-dtype", features = ["arrow"] } vortex-error = { path = "../vortex-error" } +arrow-array = { workspace = true } arrow-schema = { workspace = true } async-trait = { workspace = true } + datafusion = { workspace = true } datafusion-common = { workspace = true } datafusion-expr = { workspace = true } +datafusion-execution = { workspace = true } +datafusion-physical-expr = { workspace = true } +datafusion-physical-plan = { workspace = true } futures = { workspace = true } pin-project = { workspace = true } diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index 55ec875478..7f1e917839 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -6,19 +6,19 @@ use std::pin::Pin; use std::sync::Arc; use std::task::{Context, Poll}; +use arrow_array::RecordBatch; +use arrow_schema::SchemaRef; use arrow_schema::{DataType, Field, Schema}; use async_trait::async_trait; -use datafusion::arrow::array::RecordBatch; -use datafusion::arrow::datatypes::SchemaRef; use datafusion::datasource::TableProvider; use datafusion::execution::context::SessionState; use datafusion::execution::{RecordBatchStream, SendableRecordBatchStream, TaskContext}; -use datafusion::physical_expr::EquivalenceProperties; -use datafusion::physical_plan::{ - DisplayAs, DisplayFormatType, ExecutionMode, ExecutionPlan, Partitioning, PlanProperties, -}; use datafusion_common::{exec_datafusion_err, exec_err, DataFusionError, Result as DFResult}; use datafusion_expr::{Expr, TableProviderFilterPushDown, TableType}; +use datafusion_physical_expr::EquivalenceProperties; +use datafusion_physical_plan::{ + DisplayAs, DisplayFormatType, ExecutionMode, ExecutionPlan, Partitioning, PlanProperties, +}; use futures::{Stream, StreamExt}; use pin_project::pin_project; use vortex::array::chunked::ChunkedArray; From 2e6f3b0a3fd581d6e57389dc8f361987d1ac2ac2 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:44:21 -0400 Subject: [PATCH 09/20] small comment fixes --- vortex-datafusion/src/lib.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index 7f1e917839..be829ba44e 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -138,7 +138,7 @@ impl VortexMemoryExec { .map_err(|vortex_error| DataFusionError::Execution(format!("{}", vortex_error)))? .into_array(); - // Construct a record batch from each of the values in-turn + // Construct the RecordBatch by flattening each struct field and transmuting to an ArrayRef. let struct_array = StructArray::try_from(data) .map_err(|_| exec_datafusion_err!("top-level array must be Struct encoding"))?; @@ -278,8 +278,7 @@ mod test { use crate::VortexInMemoryTableProvider; #[tokio::test] - async fn test_simple() { - // Create a new array. + async fn test_datafusion_simple() { let names = VarBinArray::from_vec( vec!["Washington", "Adams", "Jefferson", "Madison", "Monroe"], DType::Utf8(Nullability::NonNullable), From 52f96b2c162136837913a843ab13ce756f8055f8 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:56:21 -0400 Subject: [PATCH 10/20] add back Cargo lock --- .gitignore | 3 - Cargo.lock | 6398 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 6398 insertions(+), 3 deletions(-) create mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index 6ceb668204..2e32a1b26f 100644 --- a/.gitignore +++ b/.gitignore @@ -190,6 +190,3 @@ benchmarks/.out # Scratch *.txt *.vortex - -# Lockfile -Cargo.lock diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..a42a03d82c --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,6398 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "const-random", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "arrow" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219d05930b81663fd3b32e3bde8ce5bff3c4d23052a99f11a8fa50a3b47b2658" +dependencies = [ + "arrow-arith 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-csv 51.0.0", + "arrow-data 51.0.0", + "arrow-ipc 51.0.0", + "arrow-json 51.0.0", + "arrow-ord 51.0.0", + "arrow-row 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "arrow-string 51.0.0", + "pyo3", +] + +[[package]] +name = "arrow" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ae9728f104939be6d8d9b368a354b4929b0569160ea1641f0721b55a861ce38" +dependencies = [ + "arrow-arith 52.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-cast 52.0.0", + "arrow-csv 52.0.0", + "arrow-data 52.0.0", + "arrow-ipc 52.0.0", + "arrow-json 52.0.0", + "arrow-ord 52.0.0", + "arrow-row 52.0.0", + "arrow-schema 52.0.0", + "arrow-select 52.0.0", + "arrow-string 52.0.0", +] + +[[package]] +name = "arrow-arith" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0272150200c07a86a390be651abdd320a2d12e84535f0837566ca87ecd8f95e0" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "chrono", + "half", + "num", +] + +[[package]] +name = "arrow-arith" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7029a5b3efbeafbf4a12d12dc16b8f9e9bff20a410b8c25c5d28acc089e1043" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "chrono", + "half", + "num", +] + +[[package]] +name = "arrow-array" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8010572cf8c745e242d1b632bd97bd6d4f40fefed5ed1290a8f433abaa686fea" +dependencies = [ + "ahash", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "chrono", + "chrono-tz 0.8.6", + "half", + "hashbrown", + "num", +] + +[[package]] +name = "arrow-array" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d33238427c60271710695f17742f45b1a5dc5bcfc5c15331c25ddfe7abf70d97" +dependencies = [ + "ahash", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "chrono", + "chrono-tz 0.9.0", + "half", + "hashbrown", + "num", +] + +[[package]] +name = "arrow-buffer" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d0a2432f0cba5692bf4cb757469c66791394bac9ec7ce63c1afe74744c37b27" +dependencies = [ + "bytes", + "half", + "num", +] + +[[package]] +name = "arrow-buffer" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9b95e825ae838efaf77e366c00d3fc8cca78134c9db497d6bda425f2e7b7c1" +dependencies = [ + "bytes", + "half", + "num", +] + +[[package]] +name = "arrow-cast" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9abc10cd7995e83505cc290df9384d6e5412b207b79ce6bdff89a10505ed2cba" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "atoi", + "base64 0.22.1", + "chrono", + "comfy-table", + "half", + "lexical-core", + "num", + "ryu", +] + +[[package]] +name = "arrow-cast" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cf8385a9d5b5fcde771661dd07652b79b9139fea66193eda6a88664400ccab" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "arrow-select 52.0.0", + "atoi", + "base64 0.22.1", + "chrono", + "comfy-table", + "half", + "lexical-core", + "num", + "ryu", +] + +[[package]] +name = "arrow-csv" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95cbcba196b862270bf2a5edb75927380a7f3a163622c61d40cbba416a6305f2" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "chrono", + "csv", + "csv-core", + "lazy_static", + "lexical-core", + "regex", +] + +[[package]] +name = "arrow-csv" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea5068bef430a86690059665e40034625ec323ffa4dd21972048eebb0127adc" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-cast 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "chrono", + "csv", + "csv-core", + "lazy_static", + "lexical-core", + "regex", +] + +[[package]] +name = "arrow-data" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2742ac1f6650696ab08c88f6dd3f0eb68ce10f8c253958a18c943a68cd04aec5" +dependencies = [ + "arrow-buffer 51.0.0", + "arrow-schema 51.0.0", + "half", + "num", +] + +[[package]] +name = "arrow-data" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb29be98f987bcf217b070512bb7afba2f65180858bca462edf4a39d84a23e10" +dependencies = [ + "arrow-buffer 52.0.0", + "arrow-schema 52.0.0", + "half", + "num", +] + +[[package]] +name = "arrow-ipc" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a42ea853130f7e78b9b9d178cb4cd01dee0f78e64d96c2949dc0a915d6d9e19d" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "flatbuffers 23.5.26", + "lz4_flex", + "zstd", +] + +[[package]] +name = "arrow-ipc" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc68f6523970aa6f7ce1dc9a33a7d9284cfb9af77d4ad3e617dbe5d79cc6ec8" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-cast 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "flatbuffers 24.3.25", +] + +[[package]] +name = "arrow-json" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaafb5714d4e59feae964714d724f880511500e3569cc2a94d02456b403a2a49" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "chrono", + "half", + "indexmap", + "lexical-core", + "num", + "serde", + "serde_json", +] + +[[package]] +name = "arrow-json" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2041380f94bd6437ab648e6c2085a045e45a0c44f91a1b9a4fe3fed3d379bfb1" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-cast 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "chrono", + "half", + "indexmap", + "lexical-core", + "num", + "serde", + "serde_json", +] + +[[package]] +name = "arrow-ord" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e6b61e3dc468f503181dccc2fc705bdcc5f2f146755fa5b56d0a6c5943f412" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "half", + "num", +] + +[[package]] +name = "arrow-ord" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb56ed1547004e12203652f12fe12e824161ff9d1e5cf2a7dc4ff02ba94f413" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "arrow-select 52.0.0", + "half", + "num", +] + +[[package]] +name = "arrow-row" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "848ee52bb92eb459b811fb471175ea3afcf620157674c8794f539838920f9228" +dependencies = [ + "ahash", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "half", + "hashbrown", +] + +[[package]] +name = "arrow-row" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "575b42f1fc588f2da6977b94a5ca565459f5ab07b60545e17243fb9a7ed6d43e" +dependencies = [ + "ahash", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "half", + "hashbrown", +] + +[[package]] +name = "arrow-schema" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d9483aaabe910c4781153ae1b6ae0393f72d9ef757d38d09d450070cf2e528" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "arrow-schema" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32aae6a60458a2389c0da89c9de0b7932427776127da1a738e2efc21d32f3393" + +[[package]] +name = "arrow-select" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "849524fa70e0e3c5ab58394c770cb8f514d0122d20de08475f7b472ed8075830" +dependencies = [ + "ahash", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "num", +] + +[[package]] +name = "arrow-select" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de36abaef8767b4220d7b4a8c2fe5ffc78b47db81b03d77e2136091c3ba39102" +dependencies = [ + "ahash", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "num", +] + +[[package]] +name = "arrow-string" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9373cb5a021aee58863498c37eb484998ef13377f69989c6c5ccfbd258236cdb" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "memchr", + "num", + "regex", + "regex-syntax", +] + +[[package]] +name = "arrow-string" +version = "52.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e435ada8409bcafc910bc3e0077f532a4daa20e99060a496685c0e3e53cc2597" +dependencies = [ + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-data 52.0.0", + "arrow-schema 52.0.0", + "arrow-select 52.0.0", + "memchr", + "num", + "regex", + "regex-syntax", +] + +[[package]] +name = "async-priority-channel" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acde96f444d31031f760c5c43dc786b97d3e1cb2ee49dd06898383fe9a999758" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "async_cell" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "834eee9ce518130a3b4d5af09ecc43e9d6b57ee76613f227a1ddd6b77c7a62bc" + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "auto-const-array" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62f7df18977a1ee03650ee4b31b4aefed6d56bac188760b6e37610400fe8d4bb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "aws-config" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6b3804dca60326e07205179847f17a4fce45af3a1106939177ad41ac08a6de" +dependencies = [ + "aws-credential-types", + "aws-http", + "aws-sdk-sso", + "aws-sdk-sts", + "aws-smithy-async", + "aws-smithy-client", + "aws-smithy-http", + "aws-smithy-http-tower", + "aws-smithy-json", + "aws-smithy-types", + "aws-types", + "bytes", + "fastrand", + "hex", + "http 0.2.12", + "hyper 0.14.29", + "ring 0.16.20", + "time", + "tokio", + "tower", + "tracing", + "zeroize", +] + +[[package]] +name = "aws-credential-types" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201" +dependencies = [ + "aws-smithy-async", + "aws-smithy-types", + "fastrand", + "tokio", + "tracing", + "zeroize", +] + +[[package]] +name = "aws-http" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e626370f9ba806ae4c439e49675fd871f5767b093075cdf4fef16cac42ba900" +dependencies = [ + "aws-credential-types", + "aws-smithy-http", + "aws-smithy-types", + "aws-types", + "bytes", + "http 0.2.12", + "http-body 0.4.6", + "lazy_static", + "percent-encoding", + "pin-project-lite", + "tracing", +] + +[[package]] +name = "aws-runtime" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ac5cf0ff19c1bca0cea7932e11b239d1025a45696a4f44f72ea86e2b8bdd07" +dependencies = [ + "aws-credential-types", + "aws-http", + "aws-sigv4", + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "fastrand", + "http 0.2.12", + "percent-encoding", + "tracing", + "uuid", +] + +[[package]] +name = "aws-sdk-sso" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "903f888ff190e64f6f5c83fb0f8d54f9c20481f1dc26359bb8896f5d99908949" +dependencies = [ + "aws-credential-types", + "aws-http", + "aws-runtime", + "aws-smithy-async", + "aws-smithy-client", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "bytes", + "http 0.2.12", + "regex", + "tokio-stream", + "tracing", +] + +[[package]] +name = "aws-sdk-sts" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47ad6bf01afc00423d781d464220bf69fb6a674ad6629cbbcb06d88cdc2be82" +dependencies = [ + "aws-credential-types", + "aws-http", + "aws-runtime", + "aws-smithy-async", + "aws-smithy-client", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-query", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-smithy-xml", + "aws-types", + "http 0.2.12", + "regex", + "tracing", +] + +[[package]] +name = "aws-sigv4" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b28f4910bb956b7ab320b62e98096402354eca976c587d1eeccd523d9bac03" +dependencies = [ + "aws-smithy-http", + "form_urlencoded", + "hex", + "hmac", + "http 0.2.12", + "once_cell", + "percent-encoding", + "regex", + "sha2", + "time", + "tracing", +] + +[[package]] +name = "aws-smithy-async" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cdb73f85528b9d19c23a496034ac53703955a59323d581c06aa27b4e4e247af" +dependencies = [ + "futures-util", + "pin-project-lite", + "tokio", + "tokio-stream", +] + +[[package]] +name = "aws-smithy-client" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c27b2756264c82f830a91cb4d2d485b2d19ad5bea476d9a966e03d27f27ba59a" +dependencies = [ + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-http-tower", + "aws-smithy-types", + "bytes", + "fastrand", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.29", + "hyper-rustls 0.24.2", + "lazy_static", + "pin-project-lite", + "rustls 0.21.12", + "tokio", + "tower", + "tracing", +] + +[[package]] +name = "aws-smithy-http" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54cdcf365d8eee60686885f750a34c190e513677db58bbc466c44c588abf4199" +dependencies = [ + "aws-smithy-types", + "bytes", + "bytes-utils", + "futures-core", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.29", + "once_cell", + "percent-encoding", + "pin-project-lite", + "pin-utils", + "tracing", +] + +[[package]] +name = "aws-smithy-http-tower" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "822de399d0ce62829a69dfa8c5cd08efdbe61a7426b953e2268f8b8b52a607bd" +dependencies = [ + "aws-smithy-http", + "aws-smithy-types", + "bytes", + "http 0.2.12", + "http-body 0.4.6", + "pin-project-lite", + "tower", + "tracing", +] + +[[package]] +name = "aws-smithy-json" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1e7ab8fa7ad10c193af7ae56d2420989e9f4758bf03601a342573333ea34f" +dependencies = [ + "aws-smithy-types", +] + +[[package]] +name = "aws-smithy-query" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28556a3902091c1f768a34f6c998028921bdab8d47d92586f363f14a4a32d047" +dependencies = [ + "aws-smithy-types", + "urlencoding", +] + +[[package]] +name = "aws-smithy-runtime" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "745e096b3553e7e0f40622aa04971ce52765af82bebdeeac53aa6fc82fe801e6" +dependencies = [ + "aws-smithy-async", + "aws-smithy-client", + "aws-smithy-http", + "aws-smithy-runtime-api", + "aws-smithy-types", + "bytes", + "fastrand", + "http 0.2.12", + "http-body 0.4.6", + "once_cell", + "pin-project-lite", + "pin-utils", + "tokio", + "tracing", +] + +[[package]] +name = "aws-smithy-runtime-api" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d0ae0c9cfd57944e9711ea610b48a963fb174a53aabacc08c5794a594b1d02" +dependencies = [ + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-types", + "bytes", + "http 0.2.12", + "tokio", + "tracing", +] + +[[package]] +name = "aws-smithy-types" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d90dbc8da2f6be461fa3c1906b20af8f79d14968fe47f2b7d29d086f62a51728" +dependencies = [ + "base64-simd", + "itoa", + "num-integer", + "ryu", + "serde", + "time", +] + +[[package]] +name = "aws-smithy-xml" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01d2dedcdd8023043716cfeeb3c6c59f2d447fce365d8e194838891794b23b6" +dependencies = [ + "xmlparser", +] + +[[package]] +name = "aws-types" +version = "0.56.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85aa0451bf8af1bf22a4f028d5d28054507a14be43cb8ac0597a8471fba9edfe" +dependencies = [ + "aws-credential-types", + "aws-smithy-async", + "aws-smithy-client", + "aws-smithy-http", + "aws-smithy-types", + "http 0.2.12", + "rustc_version", + "tracing", +] + +[[package]] +name = "backtrace" +version = "0.3.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64-simd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" +dependencies = [ + "outref", + "vsimd", +] + +[[package]] +name = "bench-vortex" +version = "0.1.0" +dependencies = [ + "arrow-array 51.0.0", + "arrow-select 51.0.0", + "bzip2", + "criterion", + "csv", + "enum-iterator", + "fs_extra", + "futures", + "humansize", + "itertools 0.13.0", + "lance", + "lazy_static", + "log", + "parquet", + "reqwest 0.12.5", + "simplelog", + "tokio", + "uuid", + "vortex-alp", + "vortex-array", + "vortex-buffer", + "vortex-datetime-parts", + "vortex-dict", + "vortex-dtype", + "vortex-error", + "vortex-fastlanes", + "vortex-ipc", + "vortex-ree", + "vortex-roaring", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "blake3" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "build-vortex" +version = "0.1.0" +dependencies = [ + "cargo_metadata 0.18.1", + "prost-build", + "walkdir", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytecount" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" + +[[package]] +name = "bytemuck" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "bytes-utils" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35" +dependencies = [ + "bytes", + "either", +] + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "camino" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +dependencies = [ + "jobserver", + "libc", + "once_cell", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.5", +] + +[[package]] +name = "chrono-tz" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" +dependencies = [ + "chrono", + "chrono-tz-build 0.2.1", + "phf", +] + +[[package]] +name = "chrono-tz" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" +dependencies = [ + "chrono", + "chrono-tz-build 0.3.0", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + +[[package]] +name = "chrono-tz-build" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +dependencies = [ + "anstyle", + "clap_lex", + "terminal_size", +] + +[[package]] +name = "clap_lex" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" + +[[package]] +name = "comfy-table" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +dependencies = [ + "strum", + "strum_macros", + "unicode-width", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "condtype" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "criterion" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "futures", + "is-terminal", + "itertools 0.10.5", + "num-traits", + "once_cell", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools 0.10.5", +] + +[[package]] +name = "croaring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "611eaefca84c93e431ad82dfb848f6e05a99e25148384f45a3852b0fbe1c8086" +dependencies = [ + "byteorder", + "croaring-sys", +] + +[[package]] +name = "croaring-sys" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5260027c04c33d67f405589d9c26e1e991fe062fb165f3094c9836e6c3b17f" +dependencies = [ + "cc", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "csv" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +dependencies = [ + "memchr", +] + +[[package]] +name = "darling" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.66", +] + +[[package]] +name = "darling_macro" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "datafusion" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85069782056753459dc47e386219aa1fdac5b731f26c28abb8c0ffd4b7c5ab11" +dependencies = [ + "ahash", + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-ipc 51.0.0", + "arrow-schema 51.0.0", + "async-trait", + "bytes", + "chrono", + "dashmap", + "datafusion-common 37.1.0", + "datafusion-common-runtime", + "datafusion-execution", + "datafusion-expr 37.1.0", + "datafusion-functions", + "datafusion-functions-array", + "datafusion-optimizer", + "datafusion-physical-expr", + "datafusion-physical-plan", + "datafusion-sql", + "futures", + "glob", + "half", + "hashbrown", + "indexmap", + "itertools 0.12.1", + "log", + "num_cpus", + "object_store", + "parking_lot", + "pin-project-lite", + "rand", + "sqlparser 0.44.0", + "tempfile", + "tokio", + "url", + "uuid", +] + +[[package]] +name = "datafusion-common" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "309d9040751f6dc9e33c85dce6abb55a46ef7ea3644577dd014611c379447ef3" +dependencies = [ + "ahash", + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-schema 51.0.0", + "chrono", + "half", + "instant", + "libc", + "num_cpus", + "object_store", + "sqlparser 0.44.0", +] + +[[package]] +name = "datafusion-common" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "effed030d2c1667eb1e11df5372d4981eaf5d11a521be32220b3985ae5ba6971" +dependencies = [ + "ahash", + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-schema 52.0.0", + "chrono", + "half", + "hashbrown", + "instant", + "libc", + "num_cpus", + "sqlparser 0.47.0", +] + +[[package]] +name = "datafusion-common-runtime" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e4a44d8ef1b1e85d32234e6012364c411c3787859bb3bba893b0332cb03dfd" +dependencies = [ + "tokio", +] + +[[package]] +name = "datafusion-execution" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06a3a29ae36bcde07d179cc33b45656a8e7e4d023623e320e48dcf1200eeee95" +dependencies = [ + "arrow 51.0.0", + "chrono", + "dashmap", + "datafusion-common 37.1.0", + "datafusion-expr 37.1.0", + "futures", + "hashbrown", + "log", + "object_store", + "parking_lot", + "rand", + "tempfile", + "url", +] + +[[package]] +name = "datafusion-expr" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3542aa322029c2121a671ce08000d4b274171070df13f697b14169ccf4f628" +dependencies = [ + "ahash", + "arrow 51.0.0", + "arrow-array 51.0.0", + "chrono", + "datafusion-common 37.1.0", + "paste", + "sqlparser 0.44.0", + "strum", + "strum_macros", +] + +[[package]] +name = "datafusion-expr" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb192f0055d2ce64e38ac100abc18e4e6ae9734d3c28eee522bbbd6a32108a3" +dependencies = [ + "ahash", + "arrow 52.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "chrono", + "datafusion-common 39.0.0", + "paste", + "serde_json", + "sqlparser 0.47.0", + "strum", + "strum_macros", +] + +[[package]] +name = "datafusion-functions" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd221792c666eac174ecc09e606312844772acc12cbec61a420c2fca1ee70959" +dependencies = [ + "arrow 51.0.0", + "base64 0.22.1", + "blake2", + "blake3", + "chrono", + "datafusion-common 37.1.0", + "datafusion-execution", + "datafusion-expr 37.1.0", + "datafusion-physical-expr", + "hex", + "itertools 0.12.1", + "log", + "md-5", + "regex", + "sha2", + "unicode-segmentation", + "uuid", +] + +[[package]] +name = "datafusion-functions-array" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e501801e84d9c6ef54caaebcda1b18a6196a24176c12fb70e969bc0572e03c55" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-ord 51.0.0", + "arrow-schema 51.0.0", + "datafusion-common 37.1.0", + "datafusion-execution", + "datafusion-expr 37.1.0", + "datafusion-functions", + "itertools 0.12.1", + "log", + "paste", +] + +[[package]] +name = "datafusion-optimizer" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bd7f5087817deb961764e8c973d243b54f8572db414a8f0a8f33a48f991e0a" +dependencies = [ + "arrow 51.0.0", + "async-trait", + "chrono", + "datafusion-common 37.1.0", + "datafusion-expr 37.1.0", + "datafusion-physical-expr", + "hashbrown", + "itertools 0.12.1", + "log", + "regex-syntax", +] + +[[package]] +name = "datafusion-physical-expr" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cabc0d9aaa0f5eb1b472112f16223c9ffd2fb04e58cbf65c0a331ee6e993f96" +dependencies = [ + "ahash", + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-ord 51.0.0", + "arrow-schema 51.0.0", + "arrow-string 51.0.0", + "base64 0.22.1", + "blake2", + "blake3", + "chrono", + "datafusion-common 37.1.0", + "datafusion-execution", + "datafusion-expr 37.1.0", + "half", + "hashbrown", + "hex", + "indexmap", + "itertools 0.12.1", + "log", + "md-5", + "paste", + "petgraph", + "rand", + "regex", + "sha2", + "unicode-segmentation", +] + +[[package]] +name = "datafusion-physical-plan" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c0523e9c8880f2492a88bbd857dde02bed1ed23f3e9211a89d3d7ec3b44af9" +dependencies = [ + "ahash", + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-schema 51.0.0", + "async-trait", + "chrono", + "datafusion-common 37.1.0", + "datafusion-common-runtime", + "datafusion-execution", + "datafusion-expr 37.1.0", + "datafusion-physical-expr", + "futures", + "half", + "hashbrown", + "indexmap", + "itertools 0.12.1", + "log", + "once_cell", + "parking_lot", + "pin-project-lite", + "rand", + "tokio", +] + +[[package]] +name = "datafusion-sql" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49eb54b42227136f6287573f2434b1de249fe1b8e6cd6cc73a634e4a3ec29356" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-schema 51.0.0", + "datafusion-common 37.1.0", + "datafusion-expr 37.1.0", + "log", + "sqlparser 0.44.0", + "strum", +] + +[[package]] +name = "deepsize" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cdb987ec36f6bf7bfbea3f928b75590b736fc42af8e54d97592481351b2b96c" +dependencies = [ + "deepsize_derive", +] + +[[package]] +name = "deepsize_derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990101d41f3bc8c1a45641024377ee284ecc338e5ecf3ea0f0e236d897c72796" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derive_builder" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" +dependencies = [ + "derive_builder_core", + "syn 2.0.66", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "divan" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d567df2c9c2870a43f3f2bd65aaeb18dbce1c18f217c3e564b4fbaeb3ee56c" +dependencies = [ + "cfg-if", + "clap", + "condtype", + "divan-macros", + "libc", + "regex-lite", +] + +[[package]] +name = "divan-macros" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27540baf49be0d484d8f0130d7d8da3011c32a44d4fc873368154f1510e574a2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "either" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-iterator" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c280b9e6b3ae19e152d8e31cf47f18389781e119d4013a2a2bb0180e5facc635" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "version_check", +] + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastlanes" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75903ae502081d57c7be8f153bcba86ef62fb7a81ef3f02bb2b374d90d8e3f40" +dependencies = [ + "arrayref", + "num-traits", + "paste", + "seq-macro", +] + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flatbuffers" +version = "23.5.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640" +dependencies = [ + "bitflags 1.3.2", + "rustc_version", +] + +[[package]] +name = "flatbuffers" +version = "24.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8add37afff2d4ffa83bc748a70b4b1370984f6980768554182424ef71447c35f" +dependencies = [ + "bitflags 1.3.2", + "rustc_version", +] + +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "flexbuffers" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d14128f06405808ce75bfebe11e9b0f9da18719ede6d7bdb1702d6bfe0f7e8" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "num_enum 0.5.11", + "serde", + "serde_derive", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.29", + "log", + "rustls 0.21.12", + "rustls-native-certs", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls 0.23.10", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" +dependencies = [ + "icu_normalizer", + "icu_properties", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "indoc" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "integer-encoding" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" + +[[package]] +name = "io-uring" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595a0399f411a508feb2ec1e970a4a30c249351e30208960d58298de8660b0e5" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "is-terminal" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lance" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9006f7668f7a96c3a42d5c8be0eea08e7da63a06f3f48074bcbcdb8da48bed6" +dependencies = [ + "arrow 51.0.0", + "arrow-arith 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-ord 51.0.0", + "arrow-row 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "async-recursion", + "async-trait", + "async_cell", + "aws-credential-types", + "byteorder", + "bytes", + "chrono", + "dashmap", + "datafusion", + "datafusion-functions", + "datafusion-physical-expr", + "deepsize", + "futures", + "half", + "itertools 0.12.1", + "lance-arrow", + "lance-core", + "lance-datafusion", + "lance-datagen", + "lance-encoding", + "lance-file", + "lance-index", + "lance-io", + "lance-linalg", + "lance-table", + "lazy_static", + "log", + "lru_time_cache", + "moka", + "num_cpus", + "object_store", + "ordered-float 3.9.2", + "pin-project", + "prost", + "prost-build", + "rand", + "roaring", + "serde", + "serde_json", + "snafu", + "tempfile", + "tokio", + "tracing", + "url", + "uuid", +] + +[[package]] +name = "lance-arrow" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225797ba855b4d059424726efb51122c1571db203b6da4078f6f0455ed467199" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "getrandom", + "half", + "num-traits", + "rand", + "serde", +] + +[[package]] +name = "lance-core" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1f42ef248b13d04f060ef945c4430ac20c240a7aff86e2f0f6cfa55f1c057c2" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-schema 51.0.0", + "async-trait", + "byteorder", + "bytes", + "chrono", + "datafusion-common 37.1.0", + "datafusion-sql", + "deepsize", + "futures", + "lance-arrow", + "lazy_static", + "libc", + "mock_instant", + "moka", + "num_cpus", + "object_store", + "pin-project", + "prost", + "rand", + "roaring", + "serde_json", + "snafu", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "lance-datafusion" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7457fe0d653bfbfb0dcaf122cb7c07a1d7935c5a56187f29fa9a83ef53b084f7" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-ord 51.0.0", + "arrow-schema 51.0.0", + "async-trait", + "datafusion", + "datafusion-common 37.1.0", + "datafusion-functions", + "datafusion-physical-expr", + "futures", + "lance-arrow", + "lance-core", + "log", + "prost", + "snafu", + "tokio", +] + +[[package]] +name = "lance-datagen" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51857bc36b6cb594b9838a42b2499f1969b479d2521fd1318726f23702d874f0" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-cast 51.0.0", + "arrow-schema 51.0.0", + "chrono", + "futures", + "hex", + "rand", + "rand_xoshiro", +] + +[[package]] +name = "lance-encoding" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8b403725f29a6b5eca6b2795f944d335166feecef3bdf95394a7ae424e0d55" +dependencies = [ + "arrow-arith 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "bytes", + "futures", + "lance-arrow", + "lance-core", + "lance-datagen", + "log", + "num_cpus", + "prost", + "prost-build", + "prost-types", + "snafu", + "tokio", + "tracing", + "zstd", +] + +[[package]] +name = "lance-file" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76b3344ebf260d4be4e9c3e256f49a2158d74030aaad34868defa8ecf3c1c8fc" +dependencies = [ + "arrow-arith 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "async-recursion", + "async-trait", + "byteorder", + "bytes", + "datafusion-common 37.1.0", + "deepsize", + "futures", + "lance-arrow", + "lance-core", + "lance-datagen", + "lance-encoding", + "lance-io", + "log", + "num-traits", + "num_cpus", + "object_store", + "prost", + "prost-build", + "prost-types", + "roaring", + "snafu", + "tempfile", + "tokio", + "tracing", +] + +[[package]] +name = "lance-index" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9168a8ffa1b3378d526ffc969e9837f5d37244790758893e8700ef49c2c6b64e" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-ord 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "async-recursion", + "async-trait", + "bitvec", + "crossbeam-queue", + "datafusion", + "datafusion-common 37.1.0", + "datafusion-expr 37.1.0", + "datafusion-physical-expr", + "datafusion-sql", + "deepsize", + "futures", + "half", + "itertools 0.12.1", + "lance-arrow", + "lance-core", + "lance-datafusion", + "lance-encoding", + "lance-file", + "lance-io", + "lance-linalg", + "lance-table", + "lazy_static", + "log", + "num-traits", + "num_cpus", + "object_store", + "prost", + "prost-build", + "rand", + "rayon", + "roaring", + "rustc_version", + "serde", + "serde_json", + "snafu", + "tempfile", + "tokio", + "tracing", +] + +[[package]] +name = "lance-io" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71854ddbbb3b32ea2849d18694c7ca4506e9fd21bfcc46f74f8caeac50234007" +dependencies = [ + "arrow 51.0.0", + "arrow-arith 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-data 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "async-priority-channel", + "async-recursion", + "async-trait", + "aws-config", + "aws-credential-types", + "byteorder", + "bytes", + "chrono", + "deepsize", + "futures", + "lance-arrow", + "lance-core", + "lazy_static", + "num_cpus", + "object_store", + "path_abs", + "pin-project", + "prost", + "prost-build", + "rand", + "shellexpand", + "snafu", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "lance-linalg" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b4f4a922104a337176807941dce543d5dc597a5e72ba8e16a0f8964f0ad806" +dependencies = [ + "arrow-array 51.0.0", + "arrow-ord 51.0.0", + "arrow-schema 51.0.0", + "bitvec", + "cc", + "deepsize", + "futures", + "half", + "lance-arrow", + "lance-core", + "lazy_static", + "log", + "num-traits", + "num_cpus", + "rand", + "rayon", + "tokio", + "tracing", +] + +[[package]] +name = "lance-table" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e23d91e024c8c9a1794ab41e8596f396a149ceb2097e4e4dbc69ab3cd4a86b3" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-ipc 51.0.0", + "arrow-schema 51.0.0", + "async-trait", + "aws-credential-types", + "byteorder", + "bytes", + "chrono", + "deepsize", + "futures", + "lance-arrow", + "lance-core", + "lance-datagen", + "lance-file", + "lance-io", + "log", + "object_store", + "prost", + "prost-build", + "prost-types", + "rand", + "rangemap", + "roaring", + "serde", + "serde_json", + "snafu", + "tokio", + "tracing", + "url", + "uuid", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lexical-core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "lru_time_cache" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd" + +[[package]] +name = "lz4_flex" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +dependencies = [ + "twox-hash", +] + +[[package]] +name = "mach2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +dependencies = [ + "libc", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "mock_instant" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9366861eb2a2c436c20b12c8dbec5f798cea6b47ad99216be0282942e2c81ea0" +dependencies = [ + "once_cell", +] + +[[package]] +name = "moka" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa6e72583bf6830c956235bff0d5afec8cf2952f579ebad18ae7821a917d950f" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "once_cell", + "parking_lot", + "quanta", + "rustc_version", + "scheduled-thread-pool", + "skeptic", + "smallvec", + "tagptr", + "thiserror", + "triomphe", + "uuid", +] + +[[package]] +name = "monoio" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60824f1a372fa200937885a2d434610333fe47d6c6f3d0855bd4555b46316fe7" +dependencies = [ + "auto-const-array", + "bytes", + "fxhash", + "io-uring", + "libc", + "memchr", + "mio", + "monoio-macros", + "nix", + "pin-project-lite", + "socket2", + "windows-sys 0.48.0", +] + +[[package]] +name = "monoio-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176a5f5e69613d9e88337cf2a65e11135332b4efbcc628404a7c555e4452084c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive 0.7.2", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +dependencies = [ + "memchr", +] + +[[package]] +name = "object_store" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8718f8b65fdf67a45108d1548347d4af7d71fb81ce727bbf9e3b2535e079db3" +dependencies = [ + "async-trait", + "base64 0.21.7", + "bytes", + "chrono", + "futures", + "humantime", + "hyper 0.14.29", + "itertools 0.12.1", + "md-5", + "parking_lot", + "percent-encoding", + "quick-xml", + "rand", + "reqwest 0.11.27", + "ring 0.17.8", + "rustls-pemfile 2.1.2", + "serde", + "serde_json", + "snafu", + "tokio", + "tracing", + "url", + "walkdir", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ordered-float" +version = "3.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" +dependencies = [ + "num-traits", +] + +[[package]] +name = "outref" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" + +[[package]] +name = "paris" +version = "1.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fecab3723493c7851f292cb060f3ee1c42f19b8d749345d0d7eaf3fd19aa62d" + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.5", +] + +[[package]] +name = "parquet" +version = "51.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "096795d4f47f65fd3ee1ec5a98b77ab26d602f2cc785b0e4be5443add17ecc32" +dependencies = [ + "ahash", + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-cast 51.0.0", + "arrow-data 51.0.0", + "arrow-ipc 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "base64 0.22.1", + "brotli", + "bytes", + "chrono", + "flate2", + "half", + "hashbrown", + "lz4_flex", + "num", + "num-bigint", + "paste", + "seq-macro", + "snap", + "thrift", + "twox-hash", + "zstd", +] + +[[package]] +name = "parse-zoneinfo" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "path_abs" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3" +dependencies = [ + "serde", + "serde_derive", + "std_prelude", + "stfu8", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "plotters" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" + +[[package]] +name = "plotters-svg" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[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.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +dependencies = [ + "proc-macro2", + "syn 2.0.66", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro2" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes", + "heck 0.5.0", + "itertools 0.12.1", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn 2.0.66", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +dependencies = [ + "bitflags 2.5.0", + "memchr", + "unicase", +] + +[[package]] +name = "pyo3" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" +dependencies = [ + "cfg-if", + "indoc", + "libc", + "memoffset 0.9.1", + "parking_lot", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-build-config" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" +dependencies = [ + "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-log" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd" +dependencies = [ + "arc-swap", + "log", + "pyo3", +] + +[[package]] +name = "pyo3-macros" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "pyo3-build-config", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "pyvortex" +version = "0.1.0" +dependencies = [ + "arrow 51.0.0", + "log", + "paste", + "pyo3", + "pyo3-log", + "vortex-alp", + "vortex-array", + "vortex-dict", + "vortex-dtype", + "vortex-error", + "vortex-fastlanes", + "vortex-ree", + "vortex-roaring", + "vortex-zigzag", +] + +[[package]] +name = "quanta" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" +dependencies = [ + "crossbeam-utils", + "libc", + "mach2", + "once_cell", + "raw-cpuid", + "wasi", + "web-sys", + "winapi", +] + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rangemap" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" + +[[package]] +name = "raw-cpuid" +version = "10.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-lite" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.29", + "hyper-rustls 0.24.2", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.12", + "rustls-native-certs", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-rustls 0.24.1", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "winreg 0.50.0", +] + +[[package]] +name = "reqwest" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-rustls 0.27.2", + "hyper-tls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.1.2", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.52.0", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "roaring" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8" +dependencies = [ + "bytemuck", + "byteorder", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-webpki 0.101.7", + "sct", +] + +[[package]] +name = "rustls" +version = "0.23.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki 0.102.4", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +dependencies = [ + "openssl-probe", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scheduled-thread-pool" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "security-framework" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +dependencies = [ + "bitflags 2.5.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "seq-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" + +[[package]] +name = "serde" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde_derive" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "serde_json" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_test" +version = "1.0.176" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shellexpand" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" +dependencies = [ + "dirs", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "simplelog" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0" +dependencies = [ + "log", + "paris", + "termcolor", + "time", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "skeptic" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" +dependencies = [ + "bytecount", + "cargo_metadata 0.14.2", + "error-chain", + "glob", + "pulldown-cmark", + "tempfile", + "walkdir", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "snafu" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" +dependencies = [ + "doc-comment", + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "snap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "sqlparser" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaf9c7ff146298ffda83a200f8d5084f08dcee1edfc135fcc1d646a45d50ffd6" +dependencies = [ + "log", + "sqlparser_derive", +] + +[[package]] +name = "sqlparser" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "295e9930cd7a97e58ca2a070541a3ca502b17f5d1fa7157376d0fabd85324f25" +dependencies = [ + "log", + "sqlparser_derive", +] + +[[package]] +name = "sqlparser_derive" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "stable_deref_trait" +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 = "std_prelude" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe" + +[[package]] +name = "stfu8" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51f1e89f093f99e7432c491c382b88a6860a5adbe6bf02574bf0a08efff1978" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.66", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[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 = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "thrift" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" +dependencies = [ + "byteorder", + "integer-encoding", + "ordered-float 2.10.1", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tokio" +version = "1.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.10", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "triomphe" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b2cb4fbb9995eeb36ac86fadf24031ccd58f99d6b4b2d7b911db70bddb80d90" + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "unindent" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "vortex-alp" +version = "0.1.0" +dependencies = [ + "divan", + "itertools 0.13.0", + "num-traits", + "serde", + "vortex-array", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-array" +version = "0.1.0" +dependencies = [ + "arrow-array 51.0.0", + "arrow-buffer 51.0.0", + "arrow-schema 51.0.0", + "build-vortex", + "criterion", + "enum-iterator", + "flatbuffers 24.3.25", + "flexbuffers", + "futures-util", + "getrandom", + "humansize", + "itertools 0.13.0", + "lazy_static", + "log", + "num-traits", + "num_enum 0.7.2", + "paste", + "pin-project", + "rand", + "serde", + "tokio", + "vortex-buffer", + "vortex-dtype", + "vortex-error", + "vortex-expr", + "vortex-flatbuffers", + "vortex-scalar", +] + +[[package]] +name = "vortex-buffer" +version = "0.1.0" +dependencies = [ + "arrow-buffer 51.0.0", + "bytes", + "flexbuffers", +] + +[[package]] +name = "vortex-datetime-parts" +version = "0.1.0" +dependencies = [ + "log", + "serde", + "vortex-array", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-dict" +version = "0.1.0" +dependencies = [ + "ahash", + "criterion", + "hashbrown", + "log", + "num-traits", + "rand", + "serde", + "simplelog", + "vortex-array", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-dtype" +version = "0.1.0" +dependencies = [ + "build-vortex", + "flatbuffers 24.3.25", + "half", + "itertools 0.13.0", + "num-traits", + "prost", + "serde", + "serde_json", + "serde_test", + "vortex-error", + "vortex-flatbuffers", +] + +[[package]] +name = "vortex-error" +version = "0.1.0" +dependencies = [ + "arrow-schema 51.0.0", + "flatbuffers 24.3.25", + "flexbuffers", + "parquet", + "thiserror", + "worker", +] + +[[package]] +name = "vortex-expr" +version = "0.1.0" +dependencies = [ + "build-vortex", + "datafusion-common 39.0.0", + "datafusion-expr 39.0.0", + "prost", + "serde", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-fastlanes" +version = "0.1.0" +dependencies = [ + "arrayref", + "criterion", + "fastlanes", + "itertools 0.13.0", + "num-traits", + "rand", + "serde", + "simplelog", + "vortex-array", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-flatbuffers" +version = "0.1.0" +dependencies = [ + "flatbuffers 24.3.25", +] + +[[package]] +name = "vortex-ipc" +version = "0.1.0" +dependencies = [ + "arrow 51.0.0", + "arrow-array 51.0.0", + "arrow-ipc 51.0.0", + "arrow-schema 51.0.0", + "arrow-select 51.0.0", + "build-vortex", + "bytes", + "criterion", + "derive_builder", + "flatbuffers 24.3.25", + "futures-executor", + "futures-util", + "itertools 0.13.0", + "monoio", + "pin-project", + "rand", + "simplelog", + "tokio", + "vortex-alp", + "vortex-array", + "vortex-buffer", + "vortex-dtype", + "vortex-error", + "vortex-fastlanes", + "vortex-flatbuffers", + "vortex-scalar", +] + +[[package]] +name = "vortex-ree" +version = "0.1.0" +dependencies = [ + "itertools 0.13.0", + "num-traits", + "serde", + "vortex-array", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-roaring" +version = "0.1.0" +dependencies = [ + "arrow-buffer 51.0.0", + "croaring", + "log", + "num-traits", + "serde", + "vortex-array", + "vortex-buffer", + "vortex-dtype", + "vortex-error", + "vortex-scalar", +] + +[[package]] +name = "vortex-scalar" +version = "0.1.0" +dependencies = [ + "build-vortex", + "datafusion-common 39.0.0", + "flatbuffers 24.3.25", + "flexbuffers", + "itertools 0.13.0", + "num-traits", + "paste", + "prost", + "prost-types", + "serde", + "vortex-buffer", + "vortex-dtype", + "vortex-error", + "vortex-flatbuffers", +] + +[[package]] +name = "vortex-zigzag" +version = "0.1.0" +dependencies = [ + "serde", + "vortex-array", + "vortex-dtype", + "vortex-error", + "vortex-fastlanes", + "vortex-scalar", + "zigzag", +] + +[[package]] +name = "vsimd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.66", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "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]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "worker" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d58b567e8b518469c73c8d7e4798d5abcd7db76a1b33121fffd36ac6fa62da05" +dependencies = [ + "async-trait", + "bytes", + "chrono", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "js-sys", + "matchit", + "pin-project", + "serde", + "serde-wasm-bindgen 0.6.5", + "serde_json", + "serde_urlencoded", + "tokio", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "worker-kv", + "worker-macros", + "worker-sys", +] + +[[package]] +name = "worker-kv" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f06d4d1416a9f8346ee9123b0d9a11b3cfa38e6cfb5a139698017d1597c4d41" +dependencies = [ + "js-sys", + "serde", + "serde-wasm-bindgen 0.5.0", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", +] + +[[package]] +name = "worker-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15db63b1b56564beca160a5265169730a109fc85c21e858f184bb9e39afbfe44" +dependencies = [ + "async-trait", + "proc-macro2", + "quote", + "syn 2.0.66", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-macro-support", + "worker-sys", +] + +[[package]] +name = "worker-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1082d3b324dd37fe9b25b1aa61a938e343d035650708986bf9d0aa9a020c84" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "xmlparser" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" + +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "zigzag" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70b40401a28d86ce16a330b863b86fd7dbee4d7c940587ab09ab8c019f9e3fdf" +dependencies = [ + "num-traits", +] + +[[package]] +name = "zstd" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.10+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +dependencies = [ + "cc", + "pkg-config", +] From 9c5f84b4d6b4a8e99fb738dcf0609646a7c6db66 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Mon, 17 Jun 2024 21:57:38 -0400 Subject: [PATCH 11/20] update cargo lock --- Cargo.lock | 749 +++++++++++++++++++---------------------------------- 1 file changed, 266 insertions(+), 483 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a42a03d82c..aee7ea6b8c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -118,68 +118,32 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219d05930b81663fd3b32e3bde8ce5bff3c4d23052a99f11a8fa50a3b47b2658" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-csv 51.0.0", - "arrow-data 51.0.0", - "arrow-ipc 51.0.0", - "arrow-json 51.0.0", - "arrow-ord 51.0.0", - "arrow-row 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "arrow-string 51.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-csv", + "arrow-data", + "arrow-ipc", + "arrow-json", + "arrow-ord", + "arrow-row", + "arrow-schema", + "arrow-select", + "arrow-string", "pyo3", ] -[[package]] -name = "arrow" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae9728f104939be6d8d9b368a354b4929b0569160ea1641f0721b55a861ce38" -dependencies = [ - "arrow-arith 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-csv 52.0.0", - "arrow-data 52.0.0", - "arrow-ipc 52.0.0", - "arrow-json 52.0.0", - "arrow-ord 52.0.0", - "arrow-row 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", - "arrow-string 52.0.0", -] - [[package]] name = "arrow-arith" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0272150200c07a86a390be651abdd320a2d12e84535f0837566ca87ecd8f95e0" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "num", -] - -[[package]] -name = "arrow-arith" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7029a5b3efbeafbf4a12d12dc16b8f9e9bff20a410b8c25c5d28acc089e1043" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", "half", "num", @@ -192,28 +156,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8010572cf8c745e242d1b632bd97bd6d4f40fefed5ed1290a8f433abaa686fea" dependencies = [ "ahash", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "chrono-tz 0.8.6", - "half", - "hashbrown", - "num", -] - -[[package]] -name = "arrow-array" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d33238427c60271710695f17742f45b1a5dc5bcfc5c15331c25ddfe7abf70d97" -dependencies = [ - "ahash", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", - "chrono-tz 0.9.0", + "chrono-tz", "half", "hashbrown", "num", @@ -230,49 +177,17 @@ dependencies = [ "num", ] -[[package]] -name = "arrow-buffer" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9b95e825ae838efaf77e366c00d3fc8cca78134c9db497d6bda425f2e7b7c1" -dependencies = [ - "bytes", - "half", - "num", -] - [[package]] name = "arrow-cast" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9abc10cd7995e83505cc290df9384d6e5412b207b79ce6bdff89a10505ed2cba" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "atoi", - "base64 0.22.1", - "chrono", - "comfy-table", - "half", - "lexical-core", - "num", - "ryu", -] - -[[package]] -name = "arrow-cast" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cf8385a9d5b5fcde771661dd07652b79b9139fea66193eda6a88664400ccab" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "atoi", "base64 0.22.1", "chrono", @@ -289,30 +204,11 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95cbcba196b862270bf2a5edb75927380a7f3a163622c61d40cbba416a6305f2" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "csv", - "csv-core", - "lazy_static", - "lexical-core", - "regex", -] - -[[package]] -name = "arrow-csv" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea5068bef430a86690059665e40034625ec323ffa4dd21972048eebb0127adc" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "csv", "csv-core", @@ -327,20 +223,8 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2742ac1f6650696ab08c88f6dd3f0eb68ce10f8c253958a18c943a68cd04aec5" dependencies = [ - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", - "half", - "num", -] - -[[package]] -name = "arrow-data" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb29be98f987bcf217b070512bb7afba2f65180858bca462edf4a39d84a23e10" -dependencies = [ - "arrow-buffer 52.0.0", - "arrow-schema 52.0.0", + "arrow-buffer", + "arrow-schema", "half", "num", ] @@ -351,61 +235,27 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a42ea853130f7e78b9b9d178cb4cd01dee0f78e64d96c2949dc0a915d6d9e19d" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "flatbuffers 23.5.26", "lz4_flex", "zstd", ] -[[package]] -name = "arrow-ipc" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc68f6523970aa6f7ce1dc9a33a7d9284cfb9af77d4ad3e617dbe5d79cc6ec8" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "flatbuffers 24.3.25", -] - [[package]] name = "arrow-json" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaafb5714d4e59feae964714d724f880511500e3569cc2a94d02456b403a2a49" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "indexmap", - "lexical-core", - "num", - "serde", - "serde_json", -] - -[[package]] -name = "arrow-json" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2041380f94bd6437ab648e6c2085a045e45a0c44f91a1b9a4fe3fed3d379bfb1" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-cast 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "half", "indexmap", @@ -421,26 +271,11 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e6b61e3dc468f503181dccc2fc705bdcc5f2f146755fa5b56d0a6c5943f412" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "half", - "num", -] - -[[package]] -name = "arrow-ord" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb56ed1547004e12203652f12fe12e824161ff9d1e5cf2a7dc4ff02ba94f413" -dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "half", "num", ] @@ -452,25 +287,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "848ee52bb92eb459b811fb471175ea3afcf620157674c8794f539838920f9228" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "half", - "hashbrown", -] - -[[package]] -name = "arrow-row" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575b42f1fc588f2da6977b94a5ca565459f5ab07b60545e17243fb9a7ed6d43e" -dependencies = [ - "ahash", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "half", "hashbrown", ] @@ -484,12 +304,6 @@ dependencies = [ "bitflags 2.5.0", ] -[[package]] -name = "arrow-schema" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32aae6a60458a2389c0da89c9de0b7932427776127da1a738e2efc21d32f3393" - [[package]] name = "arrow-select" version = "51.0.0" @@ -497,24 +311,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "849524fa70e0e3c5ab58394c770cb8f514d0122d20de08475f7b472ed8075830" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "num", -] - -[[package]] -name = "arrow-select" -version = "52.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de36abaef8767b4220d7b4a8c2fe5ffc78b47db81b03d77e2136091c3ba39102" -dependencies = [ - "ahash", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "num", ] @@ -524,11 +324,11 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9373cb5a021aee58863498c37eb484998ef13377f69989c6c5ccfbd258236cdb" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "memchr", "num", "regex", @@ -536,20 +336,21 @@ dependencies = [ ] [[package]] -name = "arrow-string" -version = "52.0.0" +name = "async-compression" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e435ada8409bcafc910bc3e0077f532a4daa20e99060a496685c0e3e53cc2597" +checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" dependencies = [ - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-data 52.0.0", - "arrow-schema 52.0.0", - "arrow-select 52.0.0", + "bzip2", + "flate2", + "futures-core", + "futures-io", "memchr", - "num", - "regex", - "regex-syntax", + "pin-project-lite", + "tokio", + "xz2", + "zstd", + "zstd-safe", ] [[package]] @@ -980,8 +781,8 @@ dependencies = [ name = "bench-vortex" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-select", "bzip2", "criterion", "csv", @@ -1247,18 +1048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" dependencies = [ "chrono", - "chrono-tz-build 0.2.1", - "phf", -] - -[[package]] -name = "chrono-tz" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" -dependencies = [ - "chrono", - "chrono-tz-build 0.3.0", + "chrono-tz-build", "phf", ] @@ -1273,17 +1063,6 @@ dependencies = [ "phf_codegen", ] -[[package]] -name = "chrono-tz-build" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" -dependencies = [ - "parse-zoneinfo", - "phf", - "phf_codegen", -] - [[package]] name = "ciborium" version = "0.2.2" @@ -1614,24 +1393,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85069782056753459dc47e386219aa1fdac5b731f26c28abb8c0ffd4b7c5ab11" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-ipc", + "arrow-schema", + "async-compression", "async-trait", "bytes", + "bzip2", "chrono", "dashmap", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-common-runtime", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-functions", "datafusion-functions-array", "datafusion-optimizer", "datafusion-physical-expr", "datafusion-physical-plan", "datafusion-sql", + "flate2", "futures", "glob", "half", @@ -1642,13 +1424,17 @@ dependencies = [ "num_cpus", "object_store", "parking_lot", + "parquet", "pin-project-lite", "rand", - "sqlparser 0.44.0", + "sqlparser", "tempfile", "tokio", + "tokio-util", "url", "uuid", + "xz2", + "zstd", ] [[package]] @@ -1658,37 +1444,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "309d9040751f6dc9e33c85dce6abb55a46ef7ea3644577dd014611c379447ef3" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-schema", "chrono", "half", "instant", "libc", "num_cpus", "object_store", - "sqlparser 0.44.0", -] - -[[package]] -name = "datafusion-common" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "effed030d2c1667eb1e11df5372d4981eaf5d11a521be32220b3985ae5ba6971" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", - "arrow-schema 52.0.0", - "chrono", - "half", - "hashbrown", - "instant", - "libc", - "num_cpus", - "sqlparser 0.47.0", + "parquet", + "sqlparser", ] [[package]] @@ -1706,11 +1473,11 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06a3a29ae36bcde07d179cc33b45656a8e7e4d023623e320e48dcf1200eeee95" dependencies = [ - "arrow 51.0.0", + "arrow", "chrono", "dashmap", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "datafusion-common", + "datafusion-expr", "futures", "hashbrown", "log", @@ -1728,31 +1495,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a3542aa322029c2121a671ce08000d4b274171070df13f697b14169ccf4f628" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "chrono", - "datafusion-common 37.1.0", - "paste", - "sqlparser 0.44.0", - "strum", - "strum_macros", -] - -[[package]] -name = "datafusion-expr" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb192f0055d2ce64e38ac100abc18e4e6ae9734d3c28eee522bbbd6a32108a3" -dependencies = [ - "ahash", - "arrow 52.0.0", - "arrow-array 52.0.0", - "arrow-buffer 52.0.0", + "arrow", + "arrow-array", "chrono", - "datafusion-common 39.0.0", + "datafusion-common", "paste", - "serde_json", - "sqlparser 0.47.0", + "sqlparser", "strum", "strum_macros", ] @@ -1763,14 +1511,14 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd221792c666eac174ecc09e606312844772acc12cbec61a420c2fca1ee70959" dependencies = [ - "arrow 51.0.0", + "arrow", "base64 0.22.1", "blake2", "blake3", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-physical-expr", "hex", "itertools 0.12.1", @@ -1788,14 +1536,14 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e501801e84d9c6ef54caaebcda1b18a6196a24176c12fb70e969bc0572e03c55" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", - "datafusion-common 37.1.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-schema", + "datafusion-common", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-functions", "itertools 0.12.1", "log", @@ -1808,11 +1556,11 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76bd7f5087817deb961764e8c973d243b54f8572db414a8f0a8f33a48f991e0a" dependencies = [ - "arrow 51.0.0", + "arrow", "async-trait", "chrono", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "datafusion-common", + "datafusion-expr", "datafusion-physical-expr", "hashbrown", "itertools 0.12.1", @@ -1827,19 +1575,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cabc0d9aaa0f5eb1b472112f16223c9ffd2fb04e58cbf65c0a331ee6e993f96" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", - "arrow-string 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-schema", + "arrow-string", "base64 0.22.1", "blake2", "blake3", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "half", "hashbrown", "hex", @@ -1862,16 +1610,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17c0523e9c8880f2492a88bbd857dde02bed1ed23f3e9211a89d3d7ec3b44af9" dependencies = [ "ahash", - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-schema", "async-trait", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-common-runtime", "datafusion-execution", - "datafusion-expr 37.1.0", + "datafusion-expr", "datafusion-physical-expr", "futures", "half", @@ -1892,13 +1640,13 @@ version = "37.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49eb54b42227136f6287573f2434b1de249fe1b8e6cd6cc73a634e4a3ec29356" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-schema 51.0.0", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "arrow", + "arrow-array", + "arrow-schema", + "datafusion-common", + "datafusion-expr", "log", - "sqlparser 0.44.0", + "sqlparser", "strum", ] @@ -2914,14 +2662,14 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9006f7668f7a96c3a42d5c8be0eea08e7da63a06f3f48074bcbcdb8da48bed6" dependencies = [ - "arrow 51.0.0", - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ord 51.0.0", - "arrow-row 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-row", + "arrow-schema", + "arrow-select", "async-recursion", "async-trait", "async_cell", @@ -2975,12 +2723,12 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225797ba855b4d059424726efb51122c1571db203b6da4078f6f0455ed467199" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", + "arrow-select", "getrandom", "half", "num-traits", @@ -2994,14 +2742,14 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1f42ef248b13d04f060ef945c4430ac20c240a7aff86e2f0f6cfa55f1c057c2" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-schema", "async-trait", "byteorder", "bytes", "chrono", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-sql", "deepsize", "futures", @@ -3031,13 +2779,13 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7457fe0d653bfbfb0dcaf122cb7c07a1d7935c5a56187f29fa9a83ef53b084f7" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-ord", + "arrow-schema", "async-trait", "datafusion", - "datafusion-common 37.1.0", + "datafusion-common", "datafusion-functions", "datafusion-physical-expr", "futures", @@ -3055,10 +2803,10 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51857bc36b6cb594b9838a42b2499f1969b479d2521fd1318726f23702d874f0" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-cast 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-cast", + "arrow-schema", "chrono", "futures", "hex", @@ -3072,12 +2820,12 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8b403725f29a6b5eca6b2795f944d335166feecef3bdf95394a7ae424e0d55" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-schema", + "arrow-select", "bytes", "futures", "lance-arrow", @@ -3100,17 +2848,17 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76b3344ebf260d4be4e9c3e256f49a2158d74030aaad34868defa8ecf3c1c8fc" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "async-recursion", "async-trait", "byteorder", "bytes", - "datafusion-common 37.1.0", + "datafusion-common", "deepsize", "futures", "lance-arrow", @@ -3138,18 +2886,18 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9168a8ffa1b3378d526ffc969e9837f5d37244790758893e8700ef49c2c6b64e" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-array", + "arrow-ord", + "arrow-schema", + "arrow-select", "async-recursion", "async-trait", "bitvec", "crossbeam-queue", "datafusion", - "datafusion-common 37.1.0", - "datafusion-expr 37.1.0", + "datafusion-common", + "datafusion-expr", "datafusion-physical-expr", "datafusion-sql", "deepsize", @@ -3189,14 +2937,14 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71854ddbbb3b32ea2849d18694c7ca4506e9fd21bfcc46f74f8caeac50234007" dependencies = [ - "arrow 51.0.0", - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", + "arrow-select", "async-priority-channel", "async-recursion", "async-trait", @@ -3230,9 +2978,9 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53b4f4a922104a337176807941dce543d5dc597a5e72ba8e16a0f8964f0ad806" dependencies = [ - "arrow-array 51.0.0", - "arrow-ord 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-ord", + "arrow-schema", "bitvec", "cc", "deepsize", @@ -3256,11 +3004,11 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e23d91e024c8c9a1794ab41e8596f396a149ceb2097e4e4dbc69ab3cd4a86b3" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ipc", + "arrow-schema", "async-trait", "aws-credential-types", "byteorder", @@ -3425,6 +3173,17 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "mach2" version = "0.4.2" @@ -3908,27 +3667,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "096795d4f47f65fd3ee1ec5a98b77ab26d602f2cc785b0e4be5443add17ecc32" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-ipc", + "arrow-schema", + "arrow-select", "base64 0.22.1", "brotli", "bytes", "chrono", "flate2", + "futures", "half", "hashbrown", "lz4_flex", "num", "num-bigint", + "object_store", "paste", "seq-macro", "snap", "thrift", + "tokio", "twox-hash", "zstd", ] @@ -4278,7 +4040,7 @@ dependencies = [ name = "pyvortex" version = "0.1.0" dependencies = [ - "arrow 51.0.0", + "arrow", "log", "paste", "pyo3", @@ -5006,16 +4768,6 @@ dependencies = [ "sqlparser_derive", ] -[[package]] -name = "sqlparser" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295e9930cd7a97e58ca2a070541a3ca502b17f5d1fa7157376d0fabd85324f25" -dependencies = [ - "log", - "sqlparser_derive", -] - [[package]] name = "sqlparser_derive" version = "0.2.2" @@ -5608,9 +5360,9 @@ dependencies = [ name = "vortex-array" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-schema", "build-vortex", "criterion", "enum-iterator", @@ -5641,11 +5393,32 @@ dependencies = [ name = "vortex-buffer" version = "0.1.0" dependencies = [ - "arrow-buffer 51.0.0", + "arrow-buffer", "bytes", "flexbuffers", ] +[[package]] +name = "vortex-datafusion" +version = "0.1.0" +dependencies = [ + "arrow-array", + "arrow-schema", + "async-trait", + "datafusion", + "datafusion-common", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr", + "datafusion-physical-plan", + "futures", + "pin-project", + "tokio", + "vortex-array", + "vortex-dtype", + "vortex-error", +] + [[package]] name = "vortex-datetime-parts" version = "0.1.0" @@ -5680,6 +5453,7 @@ dependencies = [ name = "vortex-dtype" version = "0.1.0" dependencies = [ + "arrow-schema", "build-vortex", "flatbuffers 24.3.25", "half", @@ -5697,7 +5471,7 @@ dependencies = [ name = "vortex-error" version = "0.1.0" dependencies = [ - "arrow-schema 51.0.0", + "arrow-schema", "flatbuffers 24.3.25", "flexbuffers", "parquet", @@ -5710,8 +5484,8 @@ name = "vortex-expr" version = "0.1.0" dependencies = [ "build-vortex", - "datafusion-common 39.0.0", - "datafusion-expr 39.0.0", + "datafusion-common", + "datafusion-expr", "prost", "serde", "vortex-dtype", @@ -5748,11 +5522,11 @@ dependencies = [ name = "vortex-ipc" version = "0.1.0" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-array", + "arrow-ipc", + "arrow-schema", + "arrow-select", "build-vortex", "bytes", "criterion", @@ -5793,7 +5567,7 @@ dependencies = [ name = "vortex-roaring" version = "0.1.0" dependencies = [ - "arrow-buffer 51.0.0", + "arrow-buffer", "croaring", "log", "num-traits", @@ -5810,7 +5584,7 @@ name = "vortex-scalar" version = "0.1.0" dependencies = [ "build-vortex", - "datafusion-common 39.0.0", + "datafusion-common", "flatbuffers 24.3.25", "flexbuffers", "itertools 0.13.0", @@ -6267,6 +6041,15 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +[[package]] +name = "xz2" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" +dependencies = [ + "lzma-sys", +] + [[package]] name = "yoke" version = "0.7.4" From 2d98059cd15d9ce58a82040775610e06b2bf8f0f Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 09:49:59 -0400 Subject: [PATCH 12/20] projection --- vortex-array/src/array/struct/mod.rs | 88 +++++++++++++++++++++++++++- vortex-array/src/flatten.rs | 22 +++++++ vortex-datafusion/src/lib.rs | 67 ++++++++------------- 3 files changed, 133 insertions(+), 44 deletions(-) diff --git a/vortex-array/src/array/struct/mod.rs b/vortex-array/src/array/struct/mod.rs index f25ddcc0ba..01f9c63a40 100644 --- a/vortex-array/src/array/struct/mod.rs +++ b/vortex-array/src/array/struct/mod.rs @@ -1,7 +1,8 @@ use serde::{Deserialize, Serialize}; use vortex_dtype::{FieldNames, Nullability, StructDType}; -use vortex_error::vortex_bail; +use vortex_error::{vortex_bail, vortex_err}; +use crate::array::primitive::PrimitiveArray; use crate::stats::ArrayStatisticsCompute; use crate::validity::{ArrayValidity, LogicalValidity, Validity, ValidityMetadata}; use crate::visitor::{AcceptArrayVisitor, ArrayVisitor}; @@ -98,6 +99,41 @@ impl StructArray { } } +impl StructArray { + /// Return a new StructArray with the given projection applied. + /// + /// Projection does not copy data arrays. Projection is defined by an ordinal array slice + /// which specifies the new ordering of columns in the struct. The projection can be used to + /// perform column re-ordering, deletion, or duplication at a logical level, without any data + /// copying. + /// + /// This function will return an error if the projection includes invalid column IDs. + pub fn project(self, projection: &[usize]) -> VortexResult { + let mut children = Vec::with_capacity(projection.len()); + let mut names = Vec::with_capacity(projection.len()); + + let validity = self.validity().take( + &PrimitiveArray::from(projection.iter().map(|idx| *idx as u64).collect::>()) + .into_array(), + )?; + + for column_idx in projection { + children.push( + self.field(*column_idx) + .ok_or_else(|| vortex_err!(InvalidArgument: "column index out of bounds"))?, + ); + names.push(self.names()[*column_idx].clone()); + } + + StructArray::try_new( + FieldNames::from(names.as_slice()), + children, + self.len(), + validity, + ) + } +} + impl ArrayFlatten for StructArray { /// StructEncoding is the canonical form for a [DType::Struct] array, so return self. fn flatten(self) -> VortexResult { @@ -134,3 +170,53 @@ impl AcceptArrayVisitor for StructArray { impl ArrayStatisticsCompute for StructArray {} impl EncodingCompression for StructEncoding {} + +#[cfg(test)] +mod test { + use vortex_dtype::{DType, FieldName, FieldNames, Nullability}; + + use crate::array::bool::BoolArray; + use crate::array::primitive::PrimitiveArray; + use crate::array::r#struct::StructArray; + use crate::array::varbin::VarBinArray; + use crate::validity::Validity; + use crate::{ArrayTrait, IntoArray}; + + #[test] + fn test_project() { + let xs = PrimitiveArray::from_vec(vec![0i64, 1, 2, 3, 4], Validity::NonNullable); + let ys = VarBinArray::from_vec( + vec!["a", "b", "c", "d", "e"], + DType::Utf8(Nullability::NonNullable), + ); + let zs = BoolArray::from_vec(vec![true, true, true, false, false], Validity::NonNullable); + + let struct_a = StructArray::try_new( + FieldNames::from(["xs".into(), "ys".into(), "zs".into()]), + vec![xs.into_array(), ys.into_array(), zs.into_array()], + 5, + Validity::NonNullable, + ) + .unwrap(); + + let struct_b = struct_a.project(&[2usize, 0]).unwrap(); + assert_eq!( + struct_b.names().to_vec(), + vec![FieldName::from("zs"), FieldName::from("xs")], + ); + + assert_eq!(struct_b.len(), 5); + + let bools = BoolArray::try_from(struct_b.field(0).unwrap()).unwrap(); + assert_eq!( + bools.boolean_buffer().iter().collect::>(), + vec![true, true, true, false, false] + ); + + let prims = PrimitiveArray::try_from(struct_b.field(1).unwrap()).unwrap(); + assert_eq!( + prims.scalar_buffer::().to_vec(), + vec![0i64, 1, 2, 3, 4] + ); + } +} diff --git a/vortex-array/src/flatten.rs b/vortex-array/src/flatten.rs index b6d5ef7b1d..4826bf152c 100644 --- a/vortex-array/src/flatten.rs +++ b/vortex-array/src/flatten.rs @@ -1,3 +1,4 @@ +use arrow_array::ArrayRef; use vortex_error::VortexResult; use crate::array::bool::BoolArray; @@ -7,6 +8,7 @@ use crate::array::primitive::PrimitiveArray; use crate::array::r#struct::StructArray; use crate::array::varbin::VarBinArray; use crate::array::varbinview::VarBinViewArray; +use crate::compute::as_arrow::AsArrowArray; use crate::encoding::ArrayEncoding; use crate::{Array, IntoArray}; @@ -21,6 +23,26 @@ pub enum Flattened { Extension(ExtensionArray), } +impl Flattened { + /// Convert a flat array into its equivalent [ArrayRef](Arrow array). + /// + /// Scalar arrays such as Bool and Primitive flattened arrays though should convert with + /// zero copies, while more complex variants such as Struct may require allocations if its child + /// arrays require decompression. + pub fn into_arrow(self) -> ArrayRef { + match self { + Flattened::Null(a) => a.as_arrow(), + Flattened::Bool(a) => a.as_arrow(), + Flattened::Primitive(a) => a.as_arrow(), + Flattened::Struct(a) => a.as_arrow(), + Flattened::VarBin(a) => a.as_arrow(), + Flattened::VarBinView(a) => a.as_arrow(), + Flattened::Extension(a) => a.as_arrow(), + } + .expect("flat array must convert to ArrayRef") + } +} + /// Support trait for transmuting an array into its [vortex_dtype::DType]'s canonical encoding. /// /// Flattening an Array ensures that the array's encoding matches one of the builtin canonical diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index be829ba44e..a982323d74 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -6,9 +6,9 @@ use std::pin::Pin; use std::sync::Arc; use std::task::{Context, Poll}; -use arrow_array::RecordBatch; +use arrow_array::{RecordBatch, StructArray as ArrowStructArray}; +use arrow_schema::Schema; use arrow_schema::SchemaRef; -use arrow_schema::{DataType, Field, Schema}; use async_trait::async_trait; use datafusion::datasource::TableProvider; use datafusion::execution::context::SessionState; @@ -23,8 +23,7 @@ use futures::{Stream, StreamExt}; use pin_project::pin_project; use vortex::array::chunked::ChunkedArray; use vortex::array::r#struct::StructArray; -use vortex::compute::as_arrow::AsArrowArray; -use vortex::{Array, ArrayDType, Flattened, IntoArray}; +use vortex::{Array, ArrayDType, ArrayFlatten, IntoArray}; use vortex_dtype::DType; use vortex_error::{vortex_bail, VortexResult}; @@ -68,8 +67,8 @@ impl TableProvider for VortexInMemoryTableProvider { /// Plan an array scan. /// - /// Currently, no pushdown is supported. The array is flattened directly into the nearest - /// Arrow-compatible encoding, and we emit a single [RecordBatch] of data. + /// Currently, projection pushdown is supported, but not filter pushdown. + /// The array is flattened directly into the nearest Arrow-compatible encoding. async fn scan( &self, _state: &SessionState, @@ -128,6 +127,9 @@ impl DisplayAs for VortexMemoryExec { impl VortexMemoryExec { /// Read a single array chunk from the source as a RecordBatch. + /// + /// `array` must be a [`StructArray`] or flatten into one. Passing a different Array variant + /// may cause a panic. fn execute_single_chunk( array: Array, projection: &Option>, @@ -139,8 +141,7 @@ impl VortexMemoryExec { .into_array(); // Construct the RecordBatch by flattening each struct field and transmuting to an ArrayRef. - let struct_array = StructArray::try_from(data) - .map_err(|_| exec_datafusion_err!("top-level array must be Struct encoding"))?; + let struct_array = StructArray::try_from(data).expect("array must be StructArray"); let field_order = if let Some(projection) = projection { projection.clone() @@ -148,43 +149,23 @@ impl VortexMemoryExec { (0..struct_array.names().len()).collect() }; - let mut record_batch = Vec::with_capacity(field_order.len()); - let mut record_batch_fields = Vec::with_capacity(field_order.len()); - - for field_idx in field_order { - let field_array = struct_array - .field(field_idx) - .expect("field array must be present") + let projected_struct = + struct_array + .project(field_order.as_slice()) + .map_err(|vortex_err| { + exec_datafusion_err!("projection pushdown to Vortex failed: {vortex_err}") + })?; + let batch = RecordBatch::from( + projected_struct .flatten() - .map_err(|_| exec_datafusion_err!("failed to flatten struct field array"))?; - - let array_ref = match field_array { - Flattened::Null(a) => AsArrowArray::as_arrow(&a).unwrap(), - Flattened::Bool(a) => AsArrowArray::as_arrow(&a).unwrap(), - Flattened::Primitive(a) => AsArrowArray::as_arrow(&a).unwrap(), - Flattened::Struct(a) => AsArrowArray::as_arrow(&a).unwrap(), - Flattened::VarBin(a) => AsArrowArray::as_arrow(&a).unwrap(), - Flattened::VarBinView(a) => AsArrowArray::as_arrow(&a).unwrap(), - Flattened::Extension(a) => AsArrowArray::as_arrow(&a).unwrap(), - }; - - record_batch.push(array_ref); - - let field_dtype = struct_array.dtypes()[field_idx].clone(); - let field_schema = Field::new( - struct_array.names()[field_idx].to_string(), - DataType::try_from(&field_dtype) - .map_err(|_| exec_datafusion_err!("datatype could not be mapped from DType"))?, - field_dtype.is_nullable(), - ); - record_batch_fields.push(field_schema); - } - - let schema = Arc::new(Schema::new(record_batch_fields)); - - let batch = RecordBatch::try_new(Arc::clone(&schema), record_batch)?; + .expect("struct arrays must flatten") + .into_arrow() + .as_any() + .downcast_ref::() + .expect("vortex StructArray must convert to arrow StructArray"), + ); Ok(Box::pin(VortexRecordBatchStream { - schema_ref: Arc::clone(&schema), + schema_ref: batch.schema(), inner: futures::stream::iter(vec![batch]), })) } From c6cb27a5148ab096efa5e25c1ffb29a4e9faf5e1 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 11:52:09 -0400 Subject: [PATCH 13/20] add simple utf8view test --- vortex-datafusion/src/lib.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index a982323d74..c730c46663 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -246,8 +246,12 @@ impl ExecutionPlan for VortexMemoryExec { mod test { use std::sync::Arc; + use arrow_array::builder::StringViewBuilder; + use arrow_array::RecordBatch; + use arrow_schema::{DataType, Field, SchemaBuilder}; use datafusion::arrow::array::AsArray; use datafusion::arrow::datatypes::UInt64Type; + use datafusion::datasource::MemTable; use datafusion::prelude::SessionContext; use vortex::array::primitive::PrimitiveArray; use vortex::array::r#struct::StructArray; @@ -258,6 +262,36 @@ mod test { use crate::VortexInMemoryTableProvider; + #[tokio::test] + async fn test_datafusion_stringview() { + let ctx = SessionContext::new(); + + let mut strings = StringViewBuilder::with_capacity(5); + strings.append_value("andrew"); + strings.append_value("nick"); + strings.append_value("rob"); + strings.append_value("marko"); + strings.append_value("will"); + + let strings = Arc::new(strings.finish()); + let mut schema = SchemaBuilder::with_capacity(1); + schema.push(Field::new("strings", DataType::Utf8View, false)); + + let schema = Arc::new(schema.finish()); + + let batch = RecordBatch::try_new(schema.clone(), vec![strings.clone()]).unwrap(); + let table = MemTable::try_new(schema.clone(), vec![vec![batch]]).unwrap(); + + ctx.register_table("people", Arc::new(table)).unwrap(); + + ctx.sql("SELECT strings FROM people") + .await + .unwrap() + .show() + .await + .unwrap(); + } + #[tokio::test] async fn test_datafusion_simple() { let names = VarBinArray::from_vec( From f42101b92a4bc40e0b38f0cdc2a8ab3824b785cf Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 13:10:01 -0400 Subject: [PATCH 14/20] more --- Cargo.lock | 233 +++++++++-------------------------- Cargo.toml | 20 +-- bench-vortex/Cargo.toml | 2 +- vortex-datafusion/src/lib.rs | 4 +- vortex-ipc/Cargo.toml | 4 +- 5 files changed, 70 insertions(+), 193 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 179e16d8db..f950b27e44 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -112,62 +112,26 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "arrow" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219d05930b81663fd3b32e3bde8ce5bff3c4d23052a99f11a8fa50a3b47b2658" -dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-csv 51.0.0", - "arrow-data 51.0.0", - "arrow-ipc 51.0.0", - "arrow-json 51.0.0", - "arrow-ord 51.0.0", - "arrow-row 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "arrow-string 51.0.0", - "pyo3", -] - [[package]] name = "arrow" version = "52.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ae9728f104939be6d8d9b368a354b4929b0569160ea1641f0721b55a861ce38" dependencies = [ - "arrow-arith 52.0.0", + "arrow-arith", "arrow-array 52.0.0", "arrow-buffer 52.0.0", "arrow-cast 52.0.0", - "arrow-csv 52.0.0", + "arrow-csv", "arrow-data 52.0.0", "arrow-ipc 52.0.0", - "arrow-json 52.0.0", - "arrow-ord 52.0.0", - "arrow-row 52.0.0", + "arrow-json", + "arrow-ord", + "arrow-row", "arrow-schema 52.0.0", "arrow-select 52.0.0", - "arrow-string 52.0.0", -] - -[[package]] -name = "arrow-arith" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0272150200c07a86a390be651abdd320a2d12e84535f0837566ca87ecd8f95e0" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "num", + "arrow-string", + "pyo3", ] [[package]] @@ -281,25 +245,6 @@ dependencies = [ "ryu", ] -[[package]] -name = "arrow-csv" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95cbcba196b862270bf2a5edb75927380a7f3a163622c61d40cbba416a6305f2" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "csv", - "csv-core", - "lazy_static", - "lexical-core", - "regex", -] - [[package]] name = "arrow-csv" version = "52.0.0" @@ -355,7 +300,6 @@ dependencies = [ "arrow-data 51.0.0", "arrow-schema 51.0.0", "flatbuffers 23.5.26", - "lz4_flex", ] [[package]] @@ -373,26 +317,6 @@ dependencies = [ "lz4_flex", ] -[[package]] -name = "arrow-json" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaafb5714d4e59feae964714d724f880511500e3569cc2a94d02456b403a2a49" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "indexmap", - "lexical-core", - "num", - "serde", - "serde_json", -] - [[package]] name = "arrow-json" version = "52.0.0" @@ -413,21 +337,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "arrow-ord" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e6b61e3dc468f503181dccc2fc705bdcc5f2f146755fa5b56d0a6c5943f412" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "half", - "num", -] - [[package]] name = "arrow-ord" version = "52.0.0" @@ -443,21 +352,6 @@ dependencies = [ "num", ] -[[package]] -name = "arrow-row" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848ee52bb92eb459b811fb471175ea3afcf620157674c8794f539838920f9228" -dependencies = [ - "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "half", - "hashbrown", -] - [[package]] name = "arrow-row" version = "52.0.0" @@ -478,15 +372,15 @@ name = "arrow-schema" version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02d9483aaabe910c4781153ae1b6ae0393f72d9ef757d38d09d450070cf2e528" -dependencies = [ - "bitflags 2.5.0", -] [[package]] name = "arrow-schema" version = "52.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32aae6a60458a2389c0da89c9de0b7932427776127da1a738e2efc21d32f3393" +dependencies = [ + "bitflags 2.5.0", +] [[package]] name = "arrow-select" @@ -516,23 +410,6 @@ dependencies = [ "num", ] -[[package]] -name = "arrow-string" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9373cb5a021aee58863498c37eb484998ef13377f69989c6c5ccfbd258236cdb" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "memchr", - "num", - "regex", - "regex-syntax", -] - [[package]] name = "arrow-string" version = "52.0.0" @@ -636,8 +513,8 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" name = "bench-vortex" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-select 51.0.0", + "arrow-array 52.0.0", + "arrow-select 52.0.0", "bzip2", "criterion", "csv", @@ -1192,7 +1069,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f92d2d7a9cba4580900b32b009848d9eb35f1028ac84cdd6ddcf97612cd0068" dependencies = [ "ahash", - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-ipc 52.0.0", "arrow-schema 52.0.0", @@ -1246,7 +1123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "effed030d2c1667eb1e11df5372d4981eaf5d11a521be32220b3985ae5ba6971" dependencies = [ "ahash", - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-buffer 52.0.0", "arrow-schema 52.0.0", @@ -1276,7 +1153,7 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8385aba84fc4a06d3ebccfbcbf9b4f985e80c762fac634b49079f7cc14933fb1" dependencies = [ - "arrow 52.0.0", + "arrow", "chrono", "dashmap", "datafusion-common", @@ -1298,7 +1175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebb192f0055d2ce64e38ac100abc18e4e6ae9734d3c28eee522bbbd6a32108a3" dependencies = [ "ahash", - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-buffer 52.0.0", "chrono", @@ -1316,7 +1193,7 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c081ae5b7edd712b92767fb8ed5c0e32755682f8075707666cd70835807c0b" dependencies = [ - "arrow 52.0.0", + "arrow", "base64", "blake2", "blake3", @@ -1344,7 +1221,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "feb28a4ea52c28a26990646986a27c4052829a2a2572386258679e19263f8b78" dependencies = [ "ahash", - "arrow 52.0.0", + "arrow", "arrow-schema 52.0.0", "datafusion-common", "datafusion-execution", @@ -1361,10 +1238,10 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b17c02a74cdc87380a56758ec27e7d417356bf806f33062700908929aedb8a" dependencies = [ - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-buffer 52.0.0", - "arrow-ord 52.0.0", + "arrow-ord", "arrow-schema 52.0.0", "datafusion-common", "datafusion-execution", @@ -1381,7 +1258,7 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12172f2a6c9eb4992a51e62d709eeba5dedaa3b5369cce37ff6c2260e100ba76" dependencies = [ - "arrow 52.0.0", + "arrow", "async-trait", "chrono", "datafusion-common", @@ -1401,12 +1278,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a3fce531b623e94180f6cd33d620ef01530405751b6ddd2fd96250cdbd78e2e" dependencies = [ "ahash", - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-buffer 52.0.0", - "arrow-ord 52.0.0", + "arrow-ord", "arrow-schema 52.0.0", - "arrow-string 52.0.0", + "arrow-string", "base64", "chrono", "datafusion-common", @@ -1431,7 +1308,7 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046400b6a2cc3ed57a7c576f5ae6aecc77804ac8e0186926b278b189305b2a77" dependencies = [ - "arrow 52.0.0", + "arrow", "datafusion-common", "datafusion-expr", "rand", @@ -1444,10 +1321,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4aed47f5a2ad8766260befb375b201592e86a08b260256e168ae4311426a2bff" dependencies = [ "ahash", - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-buffer 52.0.0", - "arrow-ord 52.0.0", + "arrow-ord", "arrow-schema 52.0.0", "async-trait", "chrono", @@ -1477,7 +1354,7 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fa92bb1fd15e46ce5fb6f1c85f3ac054592560f294429a28e392b5f9cd4255e" dependencies = [ - "arrow 52.0.0", + "arrow", "arrow-array 52.0.0", "arrow-schema 52.0.0", "datafusion-common", @@ -3168,9 +3045,9 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.20.3" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" +checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8" dependencies = [ "cfg-if", "indoc", @@ -3186,9 +3063,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.20.3" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" +checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50" dependencies = [ "once_cell", "target-lexicon", @@ -3196,9 +3073,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.20.3" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" +checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403" dependencies = [ "libc", "pyo3-build-config", @@ -3206,9 +3083,9 @@ dependencies = [ [[package]] name = "pyo3-log" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd" +checksum = "2af49834b8d2ecd555177e63b273b708dea75150abc6f5341d0a6e1a9623976c" dependencies = [ "arc-swap", "log", @@ -3217,9 +3094,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.20.3" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" +checksum = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -3229,9 +3106,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.20.3" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" +checksum = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c" dependencies = [ "heck 0.4.1", "proc-macro2", @@ -3244,7 +3121,7 @@ dependencies = [ name = "pyvortex" version = "0.1.0" dependencies = [ - "arrow 51.0.0", + "arrow", "log", "paste", "pyo3", @@ -4256,9 +4133,9 @@ dependencies = [ name = "vortex-array" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", + "arrow-array 52.0.0", + "arrow-buffer 52.0.0", + "arrow-schema 52.0.0", "build-vortex", "criterion", "enum-iterator", @@ -4289,7 +4166,7 @@ dependencies = [ name = "vortex-buffer" version = "0.1.0" dependencies = [ - "arrow-buffer 51.0.0", + "arrow-buffer 52.0.0", "bytes", "flexbuffers", ] @@ -4298,8 +4175,8 @@ dependencies = [ name = "vortex-datafusion" version = "0.1.0" dependencies = [ - "arrow-array 51.0.0", - "arrow-schema 51.0.0", + "arrow-array 52.0.0", + "arrow-schema 52.0.0", "async-trait", "datafusion", "datafusion-common", @@ -4349,7 +4226,7 @@ dependencies = [ name = "vortex-dtype" version = "0.1.0" dependencies = [ - "arrow-schema 51.0.0", + "arrow-schema 52.0.0", "build-vortex", "flatbuffers 24.3.25", "half", @@ -4367,7 +4244,7 @@ dependencies = [ name = "vortex-error" version = "0.1.0" dependencies = [ - "arrow-schema 51.0.0", + "arrow-schema 52.0.0", "flatbuffers 24.3.25", "flexbuffers", "parquet 51.0.0", @@ -4418,11 +4295,11 @@ dependencies = [ name = "vortex-ipc" version = "0.1.0" dependencies = [ - "arrow 51.0.0", - "arrow-array 51.0.0", - "arrow-ipc 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow", + "arrow-array 52.0.0", + "arrow-ipc 52.0.0", + "arrow-schema 52.0.0", + "arrow-select 52.0.0", "build-vortex", "bytes", "criterion", @@ -4463,7 +4340,7 @@ dependencies = [ name = "vortex-roaring" version = "0.1.0" dependencies = [ - "arrow-buffer 51.0.0", + "arrow-buffer 52.0.0", "croaring", "log", "num-traits", diff --git a/Cargo.toml b/Cargo.toml index c128564bc0..dfd00ae7d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,14 +34,14 @@ rust-version = "1.76" ahash = "0.8.11" allocator-api2 = "0.2.16" arrayref = "0.3.7" -arrow = { version = "51.0.0", features = ["pyarrow"] } -arrow-array = "51.0.0" -arrow-buffer = "51.0.0" -arrow-csv = "51.0.0" -arrow-data = "51.0.0" -arrow-ipc = "51.0.0" -arrow-schema = "51.0.0" -arrow-select = "51.0.0" +arrow = { version = "52.0.0", features = ["pyarrow"] } +arrow-array = "52.0.0" +arrow-buffer = "52.0.0" +arrow-csv = "52.0.0" +arrow-data = "52.0.0" +arrow-ipc = "52.0.0" +arrow-schema = "52.0.0" +arrow-select = "52.0.0" async-trait = "0.1" bindgen = "0.69.4" bytes = "1.6.0" @@ -86,8 +86,8 @@ pin-project = "1.1.5" prost = "0.12.4" prost-build = "0.12.4" prost-types = "0.12.4" -pyo3 = { version = "0.20.2", features = ["extension-module", "abi3-py311"] } -pyo3-log = "0.9.0" +pyo3 = { version = "0.21.1", features = ["extension-module", "abi3-py311"] } +pyo3-log = "0.10.0" rand = "0.8.5" reqwest = { version = "0.12.0", features = ["blocking"] } seq-macro = "0.3.5" diff --git a/bench-vortex/Cargo.toml b/bench-vortex/Cargo.toml index 66501299ed..8cb05e5667 100644 --- a/bench-vortex/Cargo.toml +++ b/bench-vortex/Cargo.toml @@ -28,7 +28,7 @@ log = { workspace = true } parquet = { workspace = true, features = [] } reqwest = { workspace = true } simplelog = { workspace = true } -tokio = { workspace = true } +tokio = { workspace = true, features = ["full"] } uuid = { workspace = true, features = ["v4"] } vortex-alp = { path = "../encodings/alp" } vortex-array = { path = "../vortex-array" } diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index c730c46663..031a848290 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -213,7 +213,7 @@ impl ExecutionPlan for VortexMemoryExec { &self.plan_properties } - fn children(&self) -> Vec> { + fn children(&self) -> Vec<&Arc> { // Leaf node vec![] } @@ -284,7 +284,7 @@ mod test { ctx.register_table("people", Arc::new(table)).unwrap(); - ctx.sql("SELECT strings FROM people") + ctx.sql("SELECT char_length(strings), strings FROM people") .await .unwrap() .show() diff --git a/vortex-ipc/Cargo.toml b/vortex-ipc/Cargo.toml index 29c7053a2f..c0b7d54abb 100644 --- a/vortex-ipc/Cargo.toml +++ b/vortex-ipc/Cargo.toml @@ -19,7 +19,7 @@ futures-util = { workspace = true } itertools = { workspace = true } monoio = { workspace = true, optional = true, features = ["bytes"] } pin-project = { workspace = true } -tokio = { workspace = true, features = ["io-util"], optional = true } +tokio = { workspace = true, features = ["io-util", "fs"], optional = true } vortex-array = { path = "../vortex-array" } vortex-buffer = { path = "../vortex-buffer" } vortex-error = { path = "../vortex-error" } @@ -58,4 +58,4 @@ harness = false [[bench]] name = "ipc_array_reader_take" -harness = false \ No newline at end of file +harness = false From 7f0c84978016a790f54cbcd031ee5cc5f7de5841 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 13:12:09 -0400 Subject: [PATCH 15/20] remove test --- vortex-datafusion/src/lib.rs | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index 031a848290..76660954bf 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -246,12 +246,8 @@ impl ExecutionPlan for VortexMemoryExec { mod test { use std::sync::Arc; - use arrow_array::builder::StringViewBuilder; - use arrow_array::RecordBatch; - use arrow_schema::{DataType, Field, SchemaBuilder}; use datafusion::arrow::array::AsArray; use datafusion::arrow::datatypes::UInt64Type; - use datafusion::datasource::MemTable; use datafusion::prelude::SessionContext; use vortex::array::primitive::PrimitiveArray; use vortex::array::r#struct::StructArray; @@ -262,36 +258,6 @@ mod test { use crate::VortexInMemoryTableProvider; - #[tokio::test] - async fn test_datafusion_stringview() { - let ctx = SessionContext::new(); - - let mut strings = StringViewBuilder::with_capacity(5); - strings.append_value("andrew"); - strings.append_value("nick"); - strings.append_value("rob"); - strings.append_value("marko"); - strings.append_value("will"); - - let strings = Arc::new(strings.finish()); - let mut schema = SchemaBuilder::with_capacity(1); - schema.push(Field::new("strings", DataType::Utf8View, false)); - - let schema = Arc::new(schema.finish()); - - let batch = RecordBatch::try_new(schema.clone(), vec![strings.clone()]).unwrap(); - let table = MemTable::try_new(schema.clone(), vec![vec![batch]]).unwrap(); - - ctx.register_table("people", Arc::new(table)).unwrap(); - - ctx.sql("SELECT char_length(strings), strings FROM people") - .await - .unwrap() - .show() - .await - .unwrap(); - } - #[tokio::test] async fn test_datafusion_simple() { let names = VarBinArray::from_vec( From 2e9d6ca8d5dbae0491fc187931531607e290203f Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 14:21:53 -0400 Subject: [PATCH 16/20] centralize flattening logic into one location --- bench-vortex/src/lib.rs | 5 +- pyvortex/src/vortex_arrow.rs | 15 +- .../src/array/bool/compute/as_arrow.rs | 17 -- vortex-array/src/array/bool/compute/mod.rs | 6 - .../src/array/datetime/localdatetime.rs | 31 +-- vortex-array/src/array/extension/compute.rs | 21 +- vortex-array/src/array/null/as_arrow.rs | 48 ----- vortex-array/src/array/null/mod.rs | 1 - .../src/array/primitive/compute/as_arrow.rs | 41 ---- .../src/array/primitive/compute/mod.rs | 6 - vortex-array/src/array/struct/compute.rs | 39 ---- vortex-array/src/array/varbin/compute/mod.rs | 68 +----- vortex-array/src/array/varbinview/compute.rs | 52 +---- vortex-array/src/array/varbinview/mod.rs | 22 +- vortex-array/src/compute/as_arrow.rs | 36 ---- vortex-array/src/compute/mod.rs | 6 - vortex-array/src/flatten.rs | 202 ++++++++++++++++-- 17 files changed, 207 insertions(+), 409 deletions(-) delete mode 100644 vortex-array/src/array/bool/compute/as_arrow.rs delete mode 100644 vortex-array/src/array/null/as_arrow.rs delete mode 100644 vortex-array/src/array/primitive/compute/as_arrow.rs delete mode 100644 vortex-array/src/compute/as_arrow.rs diff --git a/bench-vortex/src/lib.rs b/bench-vortex/src/lib.rs index 99ff92e0bb..b6781ad335 100644 --- a/bench-vortex/src/lib.rs +++ b/bench-vortex/src/lib.rs @@ -216,7 +216,6 @@ mod test { use parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder; use vortex::arrow::FromArrowArray; use vortex::compress::Compressor; - use vortex::compute::as_arrow::as_arrow; use vortex::{ArrayData, IntoArray}; use crate::taxi_data::taxi_data_parquet; @@ -240,7 +239,7 @@ mod test { let struct_arrow: ArrowStructArray = record_batch.into(); let arrow_array: ArrowArrayRef = Arc::new(struct_arrow); let vortex_array = ArrayData::from_arrow(arrow_array.clone(), false).into_array(); - let vortex_as_arrow = as_arrow(&vortex_array).unwrap(); + let vortex_as_arrow = vortex_array.flatten().unwrap().into_arrow(); assert_eq!(vortex_as_arrow.deref(), arrow_array.deref()); } } @@ -260,7 +259,7 @@ mod test { let vortex_array = ArrayData::from_arrow(arrow_array.clone(), false).into_array(); let compressed = Compressor::new(&CTX).compress(&vortex_array, None).unwrap(); - let compressed_as_arrow = as_arrow(&compressed).unwrap(); + let compressed_as_arrow = compressed.flatten().unwrap().into_arrow(); assert_eq!(compressed_as_arrow.deref(), arrow_array.deref()); } } diff --git a/pyvortex/src/vortex_arrow.rs b/pyvortex/src/vortex_arrow.rs index 4b8dc2c8e3..f9cb05c1af 100644 --- a/pyvortex/src/vortex_arrow.rs +++ b/pyvortex/src/vortex_arrow.rs @@ -1,14 +1,12 @@ -use arrow::array::Array as ArrowArray; +use arrow::array::{Array as ArrowArray, ArrayRef}; use arrow::error::ArrowError; use arrow::pyarrow::ToPyArrow; use pyo3::exceptions::PyValueError; use pyo3::prelude::*; use pyo3::types::{IntoPyDict, PyList}; -use vortex::compute::as_arrow::as_arrow_chunks; +use vortex::array::chunked::ChunkedArray; use vortex::Array; -use crate::error::PyVortexError; - pub fn map_arrow_err(error: ArrowError) -> PyErr { PyValueError::new_err(error.to_string()) } @@ -16,7 +14,14 @@ pub fn map_arrow_err(error: ArrowError) -> PyErr { pub fn export_array<'py>(py: Python<'py>, array: &Array) -> PyResult> { // NOTE(ngates): for struct arrays, we could also return a RecordBatchStreamReader. // NOTE(robert): Return RecordBatchStreamReader always? - let chunks = as_arrow_chunks(array).map_err(PyVortexError::map_err)?; + let chunks: Vec = if let Ok(chunked_array) = ChunkedArray::try_from(array) { + chunked_array + .chunks() + .map(|chunk| chunk.flatten().unwrap().into_arrow()) + .collect() + } else { + vec![array.clone().flatten().unwrap().into_arrow()] + }; if chunks.is_empty() { return Err(PyValueError::new_err("No chunks in array")); } diff --git a/vortex-array/src/array/bool/compute/as_arrow.rs b/vortex-array/src/array/bool/compute/as_arrow.rs deleted file mode 100644 index 47ff558e34..0000000000 --- a/vortex-array/src/array/bool/compute/as_arrow.rs +++ /dev/null @@ -1,17 +0,0 @@ -use std::sync::Arc; - -use arrow_array::{ArrayRef as ArrowArrayRef, BooleanArray as ArrowBoolArray}; -use vortex_error::VortexResult; - -use crate::array::bool::BoolArray; -use crate::compute::as_arrow::AsArrowArray; -use crate::validity::ArrayValidity; - -impl AsArrowArray for BoolArray { - fn as_arrow(&self) -> VortexResult { - Ok(Arc::new(ArrowBoolArray::new( - self.boolean_buffer(), - self.logical_validity().to_null_buffer()?, - ))) - } -} diff --git a/vortex-array/src/array/bool/compute/mod.rs b/vortex-array/src/array/bool/compute/mod.rs index 36970c63c6..baea8e09cb 100644 --- a/vortex-array/src/array/bool/compute/mod.rs +++ b/vortex-array/src/array/bool/compute/mod.rs @@ -1,5 +1,4 @@ use crate::array::bool::BoolArray; -use crate::compute::as_arrow::AsArrowArray; use crate::compute::compare::CompareFn; use crate::compute::fill::FillForwardFn; use crate::compute::scalar_at::ScalarAtFn; @@ -7,7 +6,6 @@ use crate::compute::slice::SliceFn; use crate::compute::take::TakeFn; use crate::compute::ArrayCompute; -mod as_arrow; mod compare; mod fill; mod flatten; @@ -16,10 +14,6 @@ mod slice; mod take; impl ArrayCompute for BoolArray { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - Some(self) - } - fn compare(&self) -> Option<&dyn CompareFn> { Some(self) } diff --git a/vortex-array/src/array/datetime/localdatetime.rs b/vortex-array/src/array/datetime/localdatetime.rs index d332a851bb..b2ff7d4512 100644 --- a/vortex-array/src/array/datetime/localdatetime.rs +++ b/vortex-array/src/array/datetime/localdatetime.rs @@ -1,20 +1,10 @@ -use std::sync::Arc; - -use arrow_array::{ - ArrayRef as ArrowArrayRef, TimestampMicrosecondArray, TimestampMillisecondArray, - TimestampNanosecondArray, TimestampSecondArray, -}; -use arrow_buffer::ScalarBuffer; use lazy_static::lazy_static; -use vortex_dtype::{DType, ExtDType, ExtID, PType}; +use vortex_dtype::{DType, ExtDType, ExtID}; use vortex_error::{vortex_bail, vortex_err, VortexError, VortexResult}; use crate::array::datetime::TimeUnit; use crate::array::extension::ExtensionArray; -use crate::compute::as_arrow::AsArrowArray; -use crate::compute::cast::cast; -use crate::validity::ArrayValidity; -use crate::{Array, ArrayDType, ArrayData, ArrayTrait, IntoArrayData}; +use crate::{Array, ArrayDType, ArrayData, IntoArrayData}; lazy_static! { pub static ref ID: ExtID = ExtID::from(LocalDateTimeArray::ID); @@ -83,23 +73,6 @@ impl TryFrom<&ExtensionArray> for LocalDateTimeArray { } } -impl AsArrowArray for LocalDateTimeArray { - fn as_arrow(&self) -> VortexResult { - // A LocalDateTime maps to an Arrow Timestamp array with no timezone. - let timestamps = cast(&self.timestamps(), PType::I64.into())?.flatten_primitive()?; - let validity = timestamps.logical_validity().to_null_buffer()?; - let timestamps_len = timestamps.len(); - let buffer = ScalarBuffer::::new(timestamps.into_buffer().into(), 0, timestamps_len); - - Ok(match self.time_unit() { - TimeUnit::Ns => Arc::new(TimestampNanosecondArray::new(buffer, validity)), - TimeUnit::Us => Arc::new(TimestampMicrosecondArray::new(buffer, validity)), - TimeUnit::Ms => Arc::new(TimestampMillisecondArray::new(buffer, validity)), - TimeUnit::S => Arc::new(TimestampSecondArray::new(buffer, validity)), - }) - } -} - impl TryFrom<&Array> for LocalDateTimeArray { type Error = VortexError; diff --git a/vortex-array/src/array/extension/compute.rs b/vortex-array/src/array/extension/compute.rs index d7611d3f73..fb007fee78 100644 --- a/vortex-array/src/array/extension/compute.rs +++ b/vortex-array/src/array/extension/compute.rs @@ -1,10 +1,7 @@ -use arrow_array::ArrayRef as ArrowArrayRef; -use vortex_error::{vortex_bail, VortexResult}; +use vortex_error::VortexResult; use vortex_scalar::Scalar; -use crate::array::datetime::LocalDateTimeArray; use crate::array::extension::ExtensionArray; -use crate::compute::as_arrow::AsArrowArray; use crate::compute::cast::CastFn; use crate::compute::scalar_at::{scalar_at, ScalarAtFn}; use crate::compute::slice::{slice, SliceFn}; @@ -13,10 +10,6 @@ use crate::compute::ArrayCompute; use crate::{Array, IntoArray}; impl ArrayCompute for ExtensionArray { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - Some(self) - } - fn cast(&self) -> Option<&dyn CastFn> { // It's not possible to cast an extension array to another type. // TODO(ngates): we should allow some extension arrays to implement a callback @@ -37,18 +30,6 @@ impl ArrayCompute for ExtensionArray { } } -impl AsArrowArray for ExtensionArray { - /// To support full compatability with Arrow, we hard-code the conversion of our datetime - /// arrays to Arrow's Timestamp arrays here. For all other extension arrays, we return an - /// Arrow extension array with the same definition. - fn as_arrow(&self) -> VortexResult { - match self.id().as_ref() { - "vortex.localdatetime" => LocalDateTimeArray::try_from(self)?.as_arrow(), - _ => vortex_bail!("Arrow extension arrays not yet supported"), - } - } -} - impl ScalarAtFn for ExtensionArray { fn scalar_at(&self, index: usize) -> VortexResult { Ok(Scalar::extension( diff --git a/vortex-array/src/array/null/as_arrow.rs b/vortex-array/src/array/null/as_arrow.rs deleted file mode 100644 index f00fdef8be..0000000000 --- a/vortex-array/src/array/null/as_arrow.rs +++ /dev/null @@ -1,48 +0,0 @@ -//! Implementation of the [AsArrowArray] trait for [ConstantArray] that is representing -//! [DType::Null] values. - -use std::sync::Arc; - -use arrow_array::{ArrayRef as ArrowArrayRef, NullArray as ArrowNullArray}; -use vortex_error::VortexResult; - -use crate::array::null::NullArray; -use crate::compute::as_arrow::AsArrowArray; -use crate::ArrayTrait; - -impl AsArrowArray for NullArray { - fn as_arrow(&self) -> VortexResult { - let arrow_null = ArrowNullArray::new(self.len()); - Ok(Arc::new(arrow_null)) - } -} - -#[cfg(test)] -mod test { - use arrow_array::{Array, NullArray as ArrowNullArray}; - - use crate::array::null::NullArray; - use crate::arrow::FromArrowArray; - use crate::compute::as_arrow::AsArrowArray; - use crate::validity::{ArrayValidity, LogicalValidity}; - use crate::{ArrayData, ArrayTrait, IntoArray}; - - #[test] - fn test_round_trip() { - let arrow_nulls = ArrowNullArray::new(10); - let vortex_nulls = ArrayData::from_arrow(&arrow_nulls, true).into_array(); - - let vortex_nulls = NullArray::try_from(vortex_nulls).unwrap(); - assert_eq!(vortex_nulls.len(), 10); - assert!(matches!( - vortex_nulls.logical_validity(), - LogicalValidity::AllInvalid(10) - )); - - let to_arrow = vortex_nulls.as_arrow().unwrap(); - assert_eq!( - *to_arrow.as_any().downcast_ref::().unwrap(), - arrow_nulls - ); - } -} diff --git a/vortex-array/src/array/null/mod.rs b/vortex-array/src/array/null/mod.rs index 7eae7c4a2a..fb0d932617 100644 --- a/vortex-array/src/array/null/mod.rs +++ b/vortex-array/src/array/null/mod.rs @@ -5,7 +5,6 @@ use crate::validity::{ArrayValidity, LogicalValidity, Validity}; use crate::visitor::{AcceptArrayVisitor, ArrayVisitor}; use crate::{impl_encoding, ArrayFlatten}; -mod as_arrow; mod compute; impl_encoding!("vortex.null", Null); diff --git a/vortex-array/src/array/primitive/compute/as_arrow.rs b/vortex-array/src/array/primitive/compute/as_arrow.rs deleted file mode 100644 index 9ed4006a82..0000000000 --- a/vortex-array/src/array/primitive/compute/as_arrow.rs +++ /dev/null @@ -1,41 +0,0 @@ -use std::sync::Arc; - -use arrow_array::{ - ArrayRef as ArrowArrayRef, ArrowPrimitiveType, PrimitiveArray as ArrowPrimitiveArray, -}; -use arrow_buffer::ScalarBuffer; -use vortex_dtype::PType; -use vortex_error::VortexResult; - -use crate::array::primitive::PrimitiveArray; -use crate::compute::as_arrow::AsArrowArray; -use crate::validity::ArrayValidity; -use crate::ArrayTrait; - -impl AsArrowArray for PrimitiveArray { - fn as_arrow(&self) -> VortexResult { - use arrow_array::types::*; - Ok(match self.ptype() { - PType::U8 => Arc::new(as_arrow_array_primitive::(self)?), - PType::U16 => Arc::new(as_arrow_array_primitive::(self)?), - PType::U32 => Arc::new(as_arrow_array_primitive::(self)?), - PType::U64 => Arc::new(as_arrow_array_primitive::(self)?), - PType::I8 => Arc::new(as_arrow_array_primitive::(self)?), - PType::I16 => Arc::new(as_arrow_array_primitive::(self)?), - PType::I32 => Arc::new(as_arrow_array_primitive::(self)?), - PType::I64 => Arc::new(as_arrow_array_primitive::(self)?), - PType::F16 => Arc::new(as_arrow_array_primitive::(self)?), - PType::F32 => Arc::new(as_arrow_array_primitive::(self)?), - PType::F64 => Arc::new(as_arrow_array_primitive::(self)?), - }) - } -} - -fn as_arrow_array_primitive( - array: &PrimitiveArray, -) -> VortexResult> { - Ok(ArrowPrimitiveArray::new( - ScalarBuffer::::new(array.buffer().clone().into(), 0, array.len()), - array.logical_validity().to_null_buffer()?, - )) -} diff --git a/vortex-array/src/array/primitive/compute/mod.rs b/vortex-array/src/array/primitive/compute/mod.rs index 637f63f366..e1ca9f3b07 100644 --- a/vortex-array/src/array/primitive/compute/mod.rs +++ b/vortex-array/src/array/primitive/compute/mod.rs @@ -1,5 +1,4 @@ use crate::array::primitive::PrimitiveArray; -use crate::compute::as_arrow::AsArrowArray; use crate::compute::cast::CastFn; use crate::compute::compare::CompareFn; use crate::compute::fill::FillForwardFn; @@ -11,7 +10,6 @@ use crate::compute::slice::SliceFn; use crate::compute::take::TakeFn; use crate::compute::ArrayCompute; -mod as_arrow; mod cast; mod compare; mod fill; @@ -23,10 +21,6 @@ mod subtract_scalar; mod take; impl ArrayCompute for PrimitiveArray { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - Some(self) - } - fn cast(&self) -> Option<&dyn CastFn> { Some(self) } diff --git a/vortex-array/src/array/struct/compute.rs b/vortex-array/src/array/struct/compute.rs index 7b46317b5b..d873c9a7a8 100644 --- a/vortex-array/src/array/struct/compute.rs +++ b/vortex-array/src/array/struct/compute.rs @@ -1,15 +1,8 @@ -use std::sync::Arc; - -use arrow_array::{ - Array as ArrowArray, ArrayRef as ArrowArrayRef, StructArray as ArrowStructArray, -}; -use arrow_schema::{Field, Fields}; use itertools::Itertools; use vortex_error::VortexResult; use vortex_scalar::Scalar; use crate::array::r#struct::StructArray; -use crate::compute::as_arrow::{as_arrow, AsArrowArray}; use crate::compute::scalar_at::{scalar_at, ScalarAtFn}; use crate::compute::slice::{slice, SliceFn}; use crate::compute::take::{take, TakeFn}; @@ -17,10 +10,6 @@ use crate::compute::ArrayCompute; use crate::{Array, ArrayDType, IntoArray}; impl ArrayCompute for StructArray { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - Some(self) - } - fn scalar_at(&self) -> Option<&dyn ScalarAtFn> { Some(self) } @@ -34,34 +23,6 @@ impl ArrayCompute for StructArray { } } -impl AsArrowArray for StructArray { - fn as_arrow(&self) -> VortexResult { - let field_arrays: Vec = - self.children().map(|f| as_arrow(&f)).try_collect()?; - - let arrow_fields: Fields = self - .names() - .iter() - .zip(field_arrays.iter()) - .zip(self.dtypes().iter()) - .map(|((name, arrow_field), vortex_field)| { - Field::new( - &**name, - arrow_field.data_type().clone(), - vortex_field.is_nullable(), - ) - }) - .map(Arc::new) - .collect(); - - Ok(Arc::new(ArrowStructArray::new( - arrow_fields, - field_arrays, - None, - ))) - } -} - impl ScalarAtFn for StructArray { fn scalar_at(&self, index: usize) -> VortexResult { Ok(Scalar::r#struct( diff --git a/vortex-array/src/array/varbin/compute/mod.rs b/vortex-array/src/array/varbin/compute/mod.rs index 7d3c31401b..732271728e 100644 --- a/vortex-array/src/array/varbin/compute/mod.rs +++ b/vortex-array/src/array/varbin/compute/mod.rs @@ -1,32 +1,18 @@ -use std::sync::Arc; - -use arrow_array::{ - ArrayRef as ArrowArrayRef, BinaryArray, LargeBinaryArray, LargeStringArray, StringArray, -}; -use vortex_dtype::DType; -use vortex_dtype::PType; -use vortex_error::{vortex_bail, VortexResult}; +use vortex_error::VortexResult; use vortex_scalar::Scalar; use crate::array::varbin::{varbin_scalar, VarBinArray}; -use crate::arrow::wrappers::as_offset_buffer; -use crate::compute::as_arrow::AsArrowArray; -use crate::compute::cast::cast; use crate::compute::scalar_at::ScalarAtFn; use crate::compute::slice::SliceFn; use crate::compute::take::TakeFn; use crate::compute::ArrayCompute; use crate::validity::ArrayValidity; -use crate::{ArrayDType, ToArray}; +use crate::ArrayDType; mod slice; mod take; impl ArrayCompute for VarBinArray { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - Some(self) - } - fn scalar_at(&self) -> Option<&dyn ScalarAtFn> { Some(self) } @@ -40,56 +26,6 @@ impl ArrayCompute for VarBinArray { } } -impl AsArrowArray for VarBinArray { - fn as_arrow(&self) -> VortexResult { - // Ensure the offsets are either i32 or i64 - let offsets = self.offsets().flatten_primitive()?; - let offsets = match offsets.ptype() { - PType::I32 | PType::I64 => offsets, - // Unless it's u64, everything else can be converted into an i32. - // FIXME(ngates): do not copy offsets again - PType::U64 => cast(&offsets.to_array(), PType::I64.into())?.flatten_primitive()?, - _ => cast(&offsets.to_array(), PType::I32.into())?.flatten_primitive()?, - }; - let nulls = self.logical_validity().to_null_buffer()?; - - let data = self.bytes().flatten_primitive()?; - assert_eq!(data.ptype(), PType::U8); - let data = data.buffer(); - - // Switch on Arrow DType. - Ok(match self.dtype() { - DType::Binary(_) => match offsets.ptype() { - PType::I32 => Arc::new(BinaryArray::new( - as_offset_buffer::(offsets), - data.into(), - nulls, - )), - PType::I64 => Arc::new(LargeBinaryArray::new( - as_offset_buffer::(offsets), - data.into(), - nulls, - )), - _ => panic!("Invalid offsets type"), - }, - DType::Utf8(_) => match offsets.ptype() { - PType::I32 => Arc::new(StringArray::new( - as_offset_buffer::(offsets), - data.into(), - nulls, - )), - PType::I64 => Arc::new(LargeStringArray::new( - as_offset_buffer::(offsets), - data.into(), - nulls, - )), - _ => panic!("Invalid offsets type"), - }, - _ => vortex_bail!(MismatchedTypes: "utf8 or binary", self.dtype()), - }) - } -} - impl ScalarAtFn for VarBinArray { fn scalar_at(&self, index: usize) -> VortexResult { if self.is_valid(index) { diff --git a/vortex-array/src/array/varbinview/compute.rs b/vortex-array/src/array/varbinview/compute.rs index c482461f2d..c5ecba5787 100644 --- a/vortex-array/src/array/varbinview/compute.rs +++ b/vortex-array/src/array/varbinview/compute.rs @@ -1,17 +1,8 @@ -use std::sync::Arc; - -use arrow_array::{ArrayRef as ArrowArrayRef, BinaryViewArray, StringViewArray}; -use arrow_buffer::Buffer as ArrowBuffer; -use arrow_buffer::ScalarBuffer; -use itertools::Itertools; -use vortex_dtype::DType; -use vortex_dtype::PType; -use vortex_error::{vortex_bail, VortexResult}; +use vortex_error::VortexResult; use vortex_scalar::Scalar; use crate::array::varbin::varbin_scalar; use crate::array::varbinview::{VarBinViewArray, VIEW_SIZE}; -use crate::compute::as_arrow::AsArrowArray; use crate::compute::scalar_at::ScalarAtFn; use crate::compute::slice::{slice, SliceFn}; use crate::compute::ArrayCompute; @@ -19,10 +10,6 @@ use crate::validity::ArrayValidity; use crate::{Array, ArrayDType, IntoArray, IntoArrayData}; impl ArrayCompute for VarBinViewArray { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - Some(self) - } - fn scalar_at(&self) -> Option<&dyn ScalarAtFn> { Some(self) } @@ -43,43 +30,6 @@ impl ScalarAtFn for VarBinViewArray { } } -impl AsArrowArray for VarBinViewArray { - fn as_arrow(&self) -> VortexResult { - // Views should be buffer of u8 - let views = self.views().flatten_primitive()?; - assert_eq!(views.ptype(), PType::U8); - let nulls = self.logical_validity().to_null_buffer()?; - - let data = (0..self.metadata().n_children) - .map(|i| self.bytes(i).flatten_primitive()) - .collect::>>()?; - if !data.is_empty() { - assert_eq!(data[0].ptype(), PType::U8); - assert!(data.iter().map(|d| d.ptype()).all_equal()); - } - - let data = data - .iter() - .map(|p| ArrowBuffer::from(p.buffer())) - .collect::>(); - - // Switch on Arrow DType. - Ok(match self.dtype() { - DType::Binary(_) => Arc::new(BinaryViewArray::new( - ScalarBuffer::::from(ArrowBuffer::from(views.buffer())), - data, - nulls, - )), - DType::Utf8(_) => Arc::new(StringViewArray::new( - ScalarBuffer::::from(ArrowBuffer::from(views.buffer())), - data, - nulls, - )), - _ => vortex_bail!(MismatchedTypes: "utf8 or binary", self.dtype()), - }) - } -} - impl SliceFn for VarBinViewArray { fn slice(&self, start: usize, stop: usize) -> VortexResult { Ok(Self::try_new( diff --git a/vortex-array/src/array/varbinview/mod.rs b/vortex-array/src/array/varbinview/mod.rs index bbbf8383e5..8fb5c0a8d6 100644 --- a/vortex-array/src/array/varbinview/mod.rs +++ b/vortex-array/src/array/varbinview/mod.rs @@ -219,7 +219,7 @@ impl VarBinViewArray { impl ArrayFlatten for VarBinViewArray { fn flatten(self) -> VortexResult { - Ok(Flattened::VarBinView(self)) + unimplemented!("see https://github.com/spiraldb/vortex/issues/392") } } @@ -301,11 +301,9 @@ impl EncodingCompression for VarBinViewEncoding {} #[cfg(test)] mod test { - use arrow_array::array::StringViewArray as ArrowStringViewArray; use vortex_scalar::Scalar; use crate::array::varbinview::VarBinViewArray; - use crate::compute::as_arrow::as_arrow; use crate::compute::scalar_at::scalar_at; use crate::compute::slice::slice; use crate::{ArrayTrait, IntoArray}; @@ -339,22 +337,4 @@ mod test { Scalar::from("hello world this is a long string") ); } - - #[test] - pub fn iter() { - let binary_array = - VarBinViewArray::from(vec!["hello world", "hello world this is a long string"]); - assert_eq!( - as_arrow(binary_array.array()) - .unwrap() - .as_any() - .downcast_ref::() - .unwrap() - .iter() - .collect::>(), - ArrowStringViewArray::from(vec!["hello world", "hello world this is a long string",]) - .iter() - .collect::>() - ); - } } diff --git a/vortex-array/src/compute/as_arrow.rs b/vortex-array/src/compute/as_arrow.rs deleted file mode 100644 index b6d4c65928..0000000000 --- a/vortex-array/src/compute/as_arrow.rs +++ /dev/null @@ -1,36 +0,0 @@ -use arrow_array::ArrayRef as ArrowArrayRef; -use vortex_error::{vortex_err, VortexResult}; - -use crate::array::chunked::ChunkedArray; -use crate::{Array, IntoArray}; - -pub trait AsArrowArray { - fn as_arrow(&self) -> VortexResult; -} - -pub fn as_arrow(array: &Array) -> VortexResult { - array.with_dyn(|a| { - // If as_arrow is implemented, then invoke that. - if let Some(a) = a.as_arrow() { - return a.as_arrow(); - } - - // Otherwise, flatten and try again. - let array = array.clone().flatten()?.into_array(); - a.as_arrow() - .map(|a| a.as_arrow()) - .unwrap_or_else(|| Err(vortex_err!(NotImplemented: "as_arrow", array.encoding().id()))) - }) -} - -// TODO(ngates): return a RecordBatchReader instead? -pub fn as_arrow_chunks(array: &Array) -> VortexResult> { - if let Ok(chunked) = ChunkedArray::try_from(array) { - chunked - .chunks() - .map(|a| as_arrow(&a)) - .collect::>>() - } else { - as_arrow(array).map(|a| vec![a]) - } -} diff --git a/vortex-array/src/compute/mod.rs b/vortex-array/src/compute/mod.rs index 9f2f18df63..56fd00489b 100644 --- a/vortex-array/src/compute/mod.rs +++ b/vortex-array/src/compute/mod.rs @@ -1,4 +1,3 @@ -use as_arrow::AsArrowArray; use cast::CastFn; use compare::CompareFn; use fill::FillForwardFn; @@ -11,7 +10,6 @@ use take::TakeFn; use crate::compute::filter_indices::FilterIndicesFn; use crate::compute::scalar_subtract::SubtractScalarFn; -pub mod as_arrow; pub mod cast; pub mod compare; pub mod fill; @@ -24,10 +22,6 @@ pub mod slice; pub mod take; pub trait ArrayCompute { - fn as_arrow(&self) -> Option<&dyn AsArrowArray> { - None - } - fn cast(&self) -> Option<&dyn CastFn> { None } diff --git a/vortex-array/src/flatten.rs b/vortex-array/src/flatten.rs index 4826bf152c..60388ea385 100644 --- a/vortex-array/src/flatten.rs +++ b/vortex-array/src/flatten.rs @@ -1,16 +1,32 @@ -use arrow_array::ArrayRef; +use std::sync::Arc; + +use arrow_array::types::{ + Float16Type, Float32Type, Float64Type, Int16Type, Int32Type, Int64Type, Int8Type, UInt16Type, + UInt32Type, UInt64Type, UInt8Type, +}; +use arrow_array::{ + ArrayRef, ArrowPrimitiveType, BinaryArray, BooleanArray as ArrowBoolArray, LargeBinaryArray, + LargeStringArray, NullArray as ArrowNullArray, PrimitiveArray as ArrowPrimitiveArray, + StringArray, StructArray as ArrowStructArray, TimestampMicrosecondArray, + TimestampMillisecondArray, TimestampNanosecondArray, TimestampSecondArray, +}; +use arrow_buffer::ScalarBuffer; +use arrow_schema::{Field, Fields}; +use vortex_dtype::{DType, PType}; use vortex_error::VortexResult; use crate::array::bool::BoolArray; +use crate::array::datetime::{LocalDateTimeArray, TimeUnit}; use crate::array::extension::ExtensionArray; use crate::array::null::NullArray; use crate::array::primitive::PrimitiveArray; use crate::array::r#struct::StructArray; use crate::array::varbin::VarBinArray; -use crate::array::varbinview::VarBinViewArray; -use crate::compute::as_arrow::AsArrowArray; +use crate::arrow::wrappers::as_offset_buffer; +use crate::compute::cast::cast; use crate::encoding::ArrayEncoding; -use crate::{Array, IntoArray}; +use crate::validity::ArrayValidity; +use crate::{Array, ArrayDType, ArrayTrait, IntoArray, ToArray}; /// The set of encodings that can be converted to Arrow with zero-copy. pub enum Flattened { @@ -19,7 +35,11 @@ pub enum Flattened { Primitive(PrimitiveArray), Struct(StructArray), VarBin(VarBinArray), - VarBinView(VarBinViewArray), + // TODO(aduffy): VarBinView is being disabled until execution engines improve their + // support for them, or we build better execution kernels of our own. + // Should re-enable once DataFusion completes support for them, tracked in + // https://github.com/apache/datafusion/issues/10918 + // VarBinView(VarBinViewArray), Extension(ExtensionArray), } @@ -31,15 +51,170 @@ impl Flattened { /// arrays require decompression. pub fn into_arrow(self) -> ArrayRef { match self { - Flattened::Null(a) => a.as_arrow(), - Flattened::Bool(a) => a.as_arrow(), - Flattened::Primitive(a) => a.as_arrow(), - Flattened::Struct(a) => a.as_arrow(), - Flattened::VarBin(a) => a.as_arrow(), - Flattened::VarBinView(a) => a.as_arrow(), - Flattened::Extension(a) => a.as_arrow(), + Flattened::Null(a) => null_to_arrow(a), + Flattened::Bool(a) => bool_to_arrow(a), + Flattened::Primitive(a) => primitive_to_arrow(a), + Flattened::Struct(a) => struct_to_arrow(a), + Flattened::VarBin(a) => varbin_to_arrow(a), + Flattened::Extension(a) => match a.id().as_ref() { + "vortex.localdatetime" => local_date_time_to_arrow( + LocalDateTimeArray::try_from(&a.into_array()).expect("localdatetime"), + ), + _ => panic!("unsupported extension dtype with ID {}", a.id().as_ref()), + }, } - .expect("flat array must convert to ArrayRef") + } +} + +fn null_to_arrow(null_array: NullArray) -> ArrayRef { + Arc::new(ArrowNullArray::new(null_array.len())) +} + +fn bool_to_arrow(bool_array: BoolArray) -> ArrayRef { + Arc::new(ArrowBoolArray::new( + bool_array.boolean_buffer(), + bool_array + .logical_validity() + .to_null_buffer() + .expect("null buffer"), + )) +} + +fn primitive_to_arrow(primitive_array: PrimitiveArray) -> ArrayRef { + fn as_arrow_array_primitive( + array: &PrimitiveArray, + ) -> ArrowPrimitiveArray { + ArrowPrimitiveArray::new( + ScalarBuffer::::new(array.buffer().clone().into(), 0, array.len()), + array + .logical_validity() + .to_null_buffer() + .expect("null buffer"), + ) + } + + match primitive_array.ptype() { + PType::U8 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::U16 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::U32 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::U64 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::I8 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::I16 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::I32 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::I64 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::F16 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::F32 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + PType::F64 => Arc::new(as_arrow_array_primitive::(&primitive_array)), + } +} + +fn struct_to_arrow(struct_array: StructArray) -> ArrayRef { + let field_arrays: Vec = struct_array + .children() + .map(|f| f.flatten().unwrap().into_arrow()) + .collect(); + + let arrow_fields: Fields = struct_array + .names() + .iter() + .zip(field_arrays.iter()) + .zip(struct_array.dtypes().iter()) + .map(|((name, arrow_field), vortex_field)| { + Field::new( + &**name, + arrow_field.data_type().clone(), + vortex_field.is_nullable(), + ) + }) + .map(Arc::new) + .collect(); + + Arc::new(ArrowStructArray::new(arrow_fields, field_arrays, None)) +} + +fn varbin_to_arrow(varbin_array: VarBinArray) -> ArrayRef { + let offsets = varbin_array + .offsets() + .flatten_primitive() + .expect("flatten_primitive"); + let offsets = match offsets.ptype() { + PType::I32 | PType::I64 => offsets, + // Unless it's u64, everything else can be converted into an i32. + // FIXME(ngates): do not copy offsets again + PType::U64 => cast(&offsets.to_array(), PType::I64.into()) + .expect("cast to i64") + .flatten_primitive() + .expect("flatten_primitive"), + _ => cast(&offsets.to_array(), PType::I32.into()) + .expect("cast to i32") + .flatten_primitive() + .expect("flatten_primitive"), + }; + let nulls = varbin_array + .logical_validity() + .to_null_buffer() + .expect("null buffer"); + + let data = varbin_array + .bytes() + .flatten_primitive() + .expect("flatten_primitive"); + assert_eq!(data.ptype(), PType::U8); + let data = data.buffer(); + + // Switch on Arrow DType. + match varbin_array.dtype() { + DType::Binary(_) => match offsets.ptype() { + PType::I32 => Arc::new(BinaryArray::new( + as_offset_buffer::(offsets), + data.into(), + nulls, + )), + PType::I64 => Arc::new(LargeBinaryArray::new( + as_offset_buffer::(offsets), + data.into(), + nulls, + )), + _ => panic!("Invalid offsets type"), + }, + DType::Utf8(_) => match offsets.ptype() { + PType::I32 => Arc::new(StringArray::new( + as_offset_buffer::(offsets), + data.into(), + nulls, + )), + PType::I64 => Arc::new(LargeStringArray::new( + as_offset_buffer::(offsets), + data.into(), + nulls, + )), + _ => panic!("Invalid offsets type"), + }, + _ => panic!( + "expected utf8 or binary instead of {}", + varbin_array.dtype() + ), + } +} + +fn local_date_time_to_arrow(local_date_time_array: LocalDateTimeArray) -> ArrayRef { + // A LocalDateTime maps to an Arrow Timestamp array with no timezone. + let timestamps = cast(&local_date_time_array.timestamps(), PType::I64.into()) + .expect("timestamps must cast to i64") + .flatten_primitive() + .expect("must be i64 array"); + let validity = timestamps + .logical_validity() + .to_null_buffer() + .expect("null buffer"); + let timestamps_len = timestamps.len(); + let buffer = ScalarBuffer::::new(timestamps.into_buffer().into(), 0, timestamps_len); + + match local_date_time_array.time_unit() { + TimeUnit::Ns => Arc::new(TimestampNanosecondArray::new(buffer, validity)), + TimeUnit::Us => Arc::new(TimestampMicrosecondArray::new(buffer, validity)), + TimeUnit::Ms => Arc::new(TimestampMillisecondArray::new(buffer, validity)), + TimeUnit::S => Arc::new(TimestampSecondArray::new(buffer, validity)), } } @@ -84,7 +259,6 @@ impl IntoArray for Flattened { Self::Struct(a) => a.into_array(), Self::VarBin(a) => a.into_array(), Self::Extension(a) => a.into_array(), - Self::VarBinView(a) => a.into_array(), } } } From d394db47466dbf8639a602a4ff55893f28ebcb67 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 16:53:58 -0400 Subject: [PATCH 17/20] things --- Cargo.lock | 1 - vortex-array/src/array/varbinview/mod.rs | 26 ++- vortex-datafusion/Cargo.toml | 2 +- vortex-datafusion/src/datatype.rs | 198 ++++++++++++++++++++++ vortex-datafusion/src/lib.rs | 7 +- vortex-dtype/Cargo.toml | 2 - vortex-dtype/src/arrow.rs | 203 ----------------------- vortex-dtype/src/lib.rs | 4 - 8 files changed, 229 insertions(+), 214 deletions(-) create mode 100644 vortex-datafusion/src/datatype.rs delete mode 100644 vortex-dtype/src/arrow.rs diff --git a/Cargo.lock b/Cargo.lock index 0375262104..ba8292cc9d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4070,7 +4070,6 @@ dependencies = [ name = "vortex-dtype" version = "0.1.0" dependencies = [ - "arrow-schema", "build-vortex", "flatbuffers", "half", diff --git a/vortex-array/src/array/varbinview/mod.rs b/vortex-array/src/array/varbinview/mod.rs index 8fb5c0a8d6..9a6e2ac47a 100644 --- a/vortex-array/src/array/varbinview/mod.rs +++ b/vortex-array/src/array/varbinview/mod.rs @@ -6,6 +6,7 @@ use vortex_dtype::Nullability; use vortex_error::vortex_bail; use crate::array::primitive::PrimitiveArray; +use crate::array::varbin::builder::VarBinBuilder; use crate::array::varbinview::builder::VarBinViewBuilder; use crate::compute::slice::slice; use crate::validity::Validity; @@ -219,7 +220,25 @@ impl VarBinViewArray { impl ArrayFlatten for VarBinViewArray { fn flatten(self) -> VortexResult { - unimplemented!("see https://github.com/spiraldb/vortex/issues/392") + // TODO(aduffy): this flatten implementation is relatively expensive, allocating a new + // VarBinArray, and decoding elements from this Array one-at-a-time for insertion. + // In the future, this will be removed because we will provide VarBinViewArray as a + // first-class Flattened variant with zero-copy to Arrow. + let mut builder = VarBinBuilder::::with_capacity(self.len()); + for idx in 0..self.len() { + // If the current value is null, then we push null. Else, we push value. + if self.validity().is_valid(idx) { + builder.push_value( + self.bytes_at(idx) + .expect("element must be valid") + .as_slice(), + ); + } else { + builder.push_null(); + } + } + + Ok(Flattened::VarBin(builder.finish(self.dtype().clone()))) } } @@ -337,4 +356,9 @@ mod test { Scalar::from("hello world this is a long string") ); } + + #[test] + pub fn flatten_varbin_array() { + // Flattening a varbinview array currently will convert it into a VarBinArray. + } } diff --git a/vortex-datafusion/Cargo.toml b/vortex-datafusion/Cargo.toml index a068cfb417..72c4caa5b0 100644 --- a/vortex-datafusion/Cargo.toml +++ b/vortex-datafusion/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [dependencies] vortex-array = { path = "../vortex-array" } -vortex-dtype = { path = "../vortex-dtype", features = ["arrow"] } +vortex-dtype = { path = "../vortex-dtype" } vortex-error = { path = "../vortex-error" } arrow-array = { workspace = true } diff --git a/vortex-datafusion/src/datatype.rs b/vortex-datafusion/src/datatype.rs new file mode 100644 index 0000000000..e53fb27f89 --- /dev/null +++ b/vortex-datafusion/src/datatype.rs @@ -0,0 +1,198 @@ +//! Convert between Vortex [vortex_dtype::DType] and Apache Arrow [arrow_schema::DataType]. +//! +//! Apache Arrow's type system includes physical information, which could lead to ambiguities as +//! Vortex treats encodings as separate from logical types. +//! +//! [`infer_schema`] and its sibling [`infer_data_type`] use a simple algorithm, where every +//! logical type is encoded in its simplest corresponding Arrow type. This reflects the reality that +//! most compute engines don't make use of the entire type range arrow-rs supports. +//! +//! For this reason, it's recommended to do as much computation as possible within Vortex, and then +//! materialize an Arrow ArrayRef at the very end of the processing chain. + +use arrow_schema::{DataType, Field, FieldRef, Fields, Schema, SchemaBuilder}; +use vortex_dtype::{DType, Nullability, PType}; + +pub(crate) fn infer_schema(dtype: &DType) -> Schema { + let DType::Struct(struct_dtype, nullable) = dtype else { + panic!("only DType::Struct can be converted to arrow schema"); + }; + + if *nullable != Nullability::NonNullable { + panic!("top-level struct in Schema must be NonNullable"); + } + + let mut builder = SchemaBuilder::with_capacity(struct_dtype.names().len()); + for (field_name, field_dtype) in struct_dtype + .names() + .iter() + .zip(struct_dtype.dtypes().iter()) + { + builder.push(FieldRef::from(Field::new( + field_name.to_string(), + infer_data_type(field_dtype), + field_dtype.is_nullable(), + ))); + } + + builder.finish() +} + +pub(crate) fn infer_data_type(dtype: &DType) -> DataType { + match dtype { + DType::Null => DataType::Null, + DType::Bool(_) => DataType::Boolean, + DType::Primitive(ptype, _) => match ptype { + PType::U8 => DataType::UInt8, + PType::U16 => DataType::UInt16, + PType::U32 => DataType::UInt32, + PType::U64 => DataType::UInt64, + PType::I8 => DataType::Int8, + PType::I16 => DataType::Int16, + PType::I32 => DataType::Int32, + PType::I64 => DataType::Int64, + PType::F16 => DataType::Float16, + PType::F32 => DataType::Float32, + PType::F64 => DataType::Float64, + }, + DType::Utf8(_) => DataType::Utf8, + DType::Binary(_) => DataType::Binary, + DType::Struct(struct_dtype, _) => { + let mut fields = Vec::with_capacity(struct_dtype.names().len()); + for (field_name, field_dt) in struct_dtype + .names() + .iter() + .zip(struct_dtype.dtypes().iter()) + { + fields.push(FieldRef::from(Field::new( + field_name.to_string(), + infer_data_type(field_dt), + field_dt.is_nullable(), + ))); + } + + DataType::Struct(Fields::from(fields)) + } + DType::List(list_dt, _) => { + let dtype: &DType = list_dt; + DataType::List(FieldRef::from(Field::new( + "element", + infer_data_type(dtype), + dtype.is_nullable(), + ))) + } + DType::Extension(..) => { + panic!("Extension DType conversion to Arrow not supported") + } + } +} + +#[cfg(test)] +mod test { + use std::sync::Arc; + + use arrow_schema::{DataType, Field, FieldRef, Fields, Schema}; + use vortex_dtype::{ + DType, ExtDType, ExtID, FieldName, FieldNames, Nullability, PType, StructDType, + }; + + use crate::datatype::{infer_data_type, infer_schema}; + + #[test] + fn test_dtype_conversion_success() { + assert_eq!(infer_data_type(&DType::Null), DataType::Null); + + assert_eq!( + infer_data_type(&DType::Bool(Nullability::NonNullable)), + DataType::Boolean + ); + + assert_eq!( + infer_data_type(&DType::Primitive(PType::U64, Nullability::NonNullable)), + DataType::UInt64 + ); + + assert_eq!( + infer_data_type(&DType::Utf8(Nullability::NonNullable)), + DataType::Utf8 + ); + + assert_eq!( + infer_data_type(&DType::Binary(Nullability::NonNullable)), + DataType::Binary + ); + + assert_eq!( + infer_data_type(&DType::List( + Arc::new(DType::Bool(Nullability::NonNullable)), + Nullability::Nullable, + )), + DataType::List(FieldRef::from(Field::new( + "element".to_string(), + DataType::Boolean, + false, + ))) + ); + + assert_eq!( + infer_data_type(&DType::Struct( + StructDType::new( + FieldNames::from(vec![FieldName::from("field_a"), FieldName::from("field_b")]), + vec![DType::Bool(false.into()), DType::Utf8(true.into())], + ), + Nullability::NonNullable, + )), + DataType::Struct(Fields::from(vec![ + FieldRef::from(Field::new("field_a", DataType::Boolean, false)), + FieldRef::from(Field::new("field_b", DataType::Utf8, true)), + ])) + ); + } + + #[test] + #[should_panic] + fn test_dtype_conversion_panics() { + let _ = infer_data_type(&DType::Extension( + ExtDType::new(ExtID::from("my-fake-ext-dtype"), None), + Nullability::NonNullable, + )); + } + + #[test] + fn test_schema_conversion() { + let struct_dtype = the_struct(); + let schema_nonnull = DType::Struct(struct_dtype.clone(), Nullability::NonNullable); + + assert_eq!( + infer_schema(&schema_nonnull), + Schema::new(Fields::from(vec![ + Field::new("field_a", DataType::Boolean, false), + Field::new("field_b", DataType::Utf8, false), + Field::new("field_c", DataType::Int32, true), + ])) + ); + } + + #[test] + #[should_panic] + fn test_schema_conversion_panics() { + let struct_dtype = the_struct(); + let schema_null = DType::Struct(struct_dtype.clone(), Nullability::Nullable); + let _ = infer_schema(&schema_null); + } + + fn the_struct() -> StructDType { + StructDType::new( + FieldNames::from([ + FieldName::from("field_a"), + FieldName::from("field_b"), + FieldName::from("field_c"), + ]), + vec![ + DType::Bool(Nullability::NonNullable), + DType::Utf8(Nullability::NonNullable), + DType::Primitive(PType::I32, Nullability::Nullable), + ], + ) + } +} diff --git a/vortex-datafusion/src/lib.rs b/vortex-datafusion/src/lib.rs index 76660954bf..6ce6c2af4f 100644 --- a/vortex-datafusion/src/lib.rs +++ b/vortex-datafusion/src/lib.rs @@ -7,7 +7,6 @@ use std::sync::Arc; use std::task::{Context, Poll}; use arrow_array::{RecordBatch, StructArray as ArrowStructArray}; -use arrow_schema::Schema; use arrow_schema::SchemaRef; use async_trait::async_trait; use datafusion::datasource::TableProvider; @@ -27,6 +26,10 @@ use vortex::{Array, ArrayDType, ArrayFlatten, IntoArray}; use vortex_dtype::DType; use vortex_error::{vortex_bail, VortexResult}; +use crate::datatype::infer_schema; + +mod datatype; + /// A [`TableProvider`] that exposes an existing Vortex Array to the DataFusion SQL engine. /// /// Only arrays that have a top-level [struct type](vortex_dtype::StructDType) can be exposed as @@ -44,7 +47,7 @@ impl VortexInMemoryTableProvider { vortex_bail!(InvalidArgument: "only DType::Struct arrays can produce a table provider"); } - let arrow_schema = Schema::try_from(array.dtype())?; + let arrow_schema = infer_schema(array.dtype()); let schema_ref = SchemaRef::new(arrow_schema); Ok(Self { array, schema_ref }) diff --git a/vortex-dtype/Cargo.toml b/vortex-dtype/Cargo.toml index 48dc09946f..5c38ea9f38 100644 --- a/vortex-dtype/Cargo.toml +++ b/vortex-dtype/Cargo.toml @@ -16,7 +16,6 @@ name = "vortex_dtype" path = "src/lib.rs" [dependencies] -arrow-schema = { workspace = true, optional = true } flatbuffers = { workspace = true, optional = true } half = { workspace = true, features = ["num-traits"] } itertools = { workspace = true } @@ -39,7 +38,6 @@ workspace = true [features] # Uncomment for improved IntelliJ support # default = ["flatbuffers", "proto", "serde"] -arrow = ["dep:arrow-schema"] flatbuffers = ["dep:flatbuffers"] proto = ["dep:prost"] serde = ["dep:serde"] \ No newline at end of file diff --git a/vortex-dtype/src/arrow.rs b/vortex-dtype/src/arrow.rs deleted file mode 100644 index d184c1791a..0000000000 --- a/vortex-dtype/src/arrow.rs +++ /dev/null @@ -1,203 +0,0 @@ -//! Conversion helpers between Vortex [crate::DType] and Arrow [arrow_schema::Schema]. - -use arrow_schema::{DataType, Field as ArrowField, Field, FieldRef, Fields, Schema, SchemaBuilder}; -use vortex_error::{vortex_bail, VortexError}; - -use crate::{DType, Nullability, PType}; - -impl TryFrom<&DType> for Schema { - type Error = VortexError; - - fn try_from(dtype: &DType) -> Result { - let DType::Struct(struct_dtype, nullable) = dtype else { - vortex_bail!(InvalidArgument: "only DType::Struct can be converted to arrow schema"); - }; - - if *nullable != Nullability::NonNullable { - vortex_bail!(InvalidArgument: "top-level struct in Schema must be NonNullable"); - } - - let mut builder = SchemaBuilder::with_capacity(struct_dtype.names().len()); - for (field_name, field_dtype) in struct_dtype - .names() - .iter() - .zip(struct_dtype.dtypes().iter()) - { - builder.push(FieldRef::from(ArrowField::new( - field_name.to_string(), - DataType::try_from(field_dtype)?, - field_dtype.is_nullable(), - ))); - } - - Ok(builder.finish()) - } -} - -impl TryFrom for Schema { - type Error = VortexError; - - fn try_from(value: DType) -> Result { - Self::try_from(&value) - } -} - -impl TryFrom<&DType> for DataType { - type Error = VortexError; - - fn try_from(dtype: &DType) -> Result { - match dtype { - DType::Null => Ok(DataType::Null), - DType::Bool(_) => Ok(DataType::Boolean), - DType::Primitive(ptype, _) => Ok(match ptype { - PType::U8 => DataType::UInt8, - PType::U16 => DataType::UInt16, - PType::U32 => DataType::UInt32, - PType::U64 => DataType::UInt64, - PType::I8 => DataType::Int8, - PType::I16 => DataType::Int16, - PType::I32 => DataType::Int32, - PType::I64 => DataType::Int64, - PType::F16 => DataType::Float16, - PType::F32 => DataType::Float32, - PType::F64 => DataType::Float64, - }), - DType::Utf8(_) => Ok(DataType::Utf8), - DType::Binary(_) => Ok(DataType::Binary), - DType::Struct(struct_dtype, _) => { - let mut fields = Vec::with_capacity(struct_dtype.names().len()); - for (field_name, field_dt) in struct_dtype - .names() - .iter() - .zip(struct_dtype.dtypes().iter()) - { - fields.push(FieldRef::from(Field::new( - field_name.to_string(), - DataType::try_from(field_dt)?, - field_dt.is_nullable(), - ))); - } - - Ok(DataType::Struct(Fields::from(fields))) - } - DType::List(list_dt, _) => { - let dtype: &DType = list_dt; - Ok(DataType::List(FieldRef::from(Field::new( - "element", - DataType::try_from(dtype)?, - dtype.is_nullable(), - )))) - } - DType::Extension(..) => { - vortex_bail!(InvalidArgument: "Extension DType conversion to Arrow not supported") - } - } - } -} - -impl TryFrom for DataType { - type Error = VortexError; - - fn try_from(dtype: DType) -> Result { - DataType::try_from(&dtype) - } -} - -#[cfg(test)] -mod test { - use std::sync::Arc; - - use arrow_schema::{DataType, Field, FieldRef, Fields, Schema}; - - use crate::{DType, ExtDType, ExtID, FieldName, FieldNames, Nullability, PType, StructDType}; - - #[test] - fn test_dtype_conversion() { - assert_eq!(DataType::try_from(DType::Null).unwrap(), DataType::Null); - - assert_eq!( - DataType::try_from(DType::Bool(Nullability::NonNullable)).unwrap(), - DataType::Boolean - ); - - assert_eq!( - DataType::try_from(DType::Primitive(PType::U64, Nullability::NonNullable)).unwrap(), - DataType::UInt64 - ); - - assert_eq!( - DataType::try_from(DType::Utf8(Nullability::NonNullable)).unwrap(), - DataType::Utf8 - ); - - assert_eq!( - DataType::try_from(DType::Binary(Nullability::NonNullable)).unwrap(), - DataType::Binary - ); - - assert_eq!( - DataType::try_from(DType::List( - Arc::new(DType::Bool(Nullability::NonNullable)), - Nullability::Nullable, - )) - .unwrap(), - DataType::List(FieldRef::from(Field::new( - "element".to_string(), - DataType::Boolean, - false, - ))) - ); - - assert_eq!( - DataType::try_from(DType::Struct( - StructDType::new( - FieldNames::from(vec![FieldName::from("field_a"), FieldName::from("field_b")]), - vec![DType::Bool(false.into()), DType::Utf8(true.into())], - ), - Nullability::NonNullable, - )) - .unwrap(), - DataType::Struct(Fields::from(vec![ - FieldRef::from(Field::new("field_a", DataType::Boolean, false)), - FieldRef::from(Field::new("field_b", DataType::Utf8, true)), - ])) - ); - - assert!(DataType::try_from(DType::Extension( - ExtDType::new(ExtID::from("my-fake-ext-dtype"), None), - Nullability::NonNullable, - )) - .is_err()) - } - - #[test] - fn test_schema_conversion() { - let struct_dtype = StructDType::new( - FieldNames::from([ - FieldName::from("field_a"), - FieldName::from("field_b"), - FieldName::from("field_c"), - ]), - vec![ - DType::Bool(Nullability::NonNullable), - DType::Utf8(Nullability::NonNullable), - DType::Primitive(PType::I32, Nullability::Nullable), - ], - ); - - let schema_nonnull = DType::Struct(struct_dtype.clone(), Nullability::NonNullable); - - assert_eq!( - Schema::try_from(&schema_nonnull).unwrap(), - Schema::new(Fields::from(vec![ - Field::new("field_a", DataType::Boolean, false), - Field::new("field_b", DataType::Utf8, false), - Field::new("field_c", DataType::Int32, true), - ])) - ); - - let schema_null = DType::Struct(struct_dtype.clone(), Nullability::Nullable); - - assert!(Schema::try_from(&schema_null).is_err()); - } -} diff --git a/vortex-dtype/src/lib.rs b/vortex-dtype/src/lib.rs index 77b0797149..8c322f850b 100644 --- a/vortex-dtype/src/lib.rs +++ b/vortex-dtype/src/lib.rs @@ -13,10 +13,6 @@ mod nullability; mod ptype; mod serde; -/// Optional converters to and from Arrow [Schema] types. -#[cfg(feature = "arrow")] -pub mod arrow; - #[cfg(feature = "proto")] pub mod proto { pub mod dtype { From 2564a43a04850fe63bc1468cc158e4837dd1b9f7 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 17:16:13 -0400 Subject: [PATCH 18/20] fix validity, fix comment, add test --- vortex-array/src/array/struct/mod.rs | 8 +------- vortex-array/src/array/varbinview/mod.rs | 13 ++++++++++--- vortex-array/src/flatten.rs | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/vortex-array/src/array/struct/mod.rs b/vortex-array/src/array/struct/mod.rs index 01f9c63a40..4aa07f742f 100644 --- a/vortex-array/src/array/struct/mod.rs +++ b/vortex-array/src/array/struct/mod.rs @@ -2,7 +2,6 @@ use serde::{Deserialize, Serialize}; use vortex_dtype::{FieldNames, Nullability, StructDType}; use vortex_error::{vortex_bail, vortex_err}; -use crate::array::primitive::PrimitiveArray; use crate::stats::ArrayStatisticsCompute; use crate::validity::{ArrayValidity, LogicalValidity, Validity, ValidityMetadata}; use crate::visitor::{AcceptArrayVisitor, ArrayVisitor}; @@ -112,11 +111,6 @@ impl StructArray { let mut children = Vec::with_capacity(projection.len()); let mut names = Vec::with_capacity(projection.len()); - let validity = self.validity().take( - &PrimitiveArray::from(projection.iter().map(|idx| *idx as u64).collect::>()) - .into_array(), - )?; - for column_idx in projection { children.push( self.field(*column_idx) @@ -129,7 +123,7 @@ impl StructArray { FieldNames::from(names.as_slice()), children, self.len(), - validity, + self.validity(), ) } } diff --git a/vortex-array/src/array/varbinview/mod.rs b/vortex-array/src/array/varbinview/mod.rs index 9a6e2ac47a..56643ca70d 100644 --- a/vortex-array/src/array/varbinview/mod.rs +++ b/vortex-array/src/array/varbinview/mod.rs @@ -325,7 +325,7 @@ mod test { use crate::array::varbinview::VarBinViewArray; use crate::compute::scalar_at::scalar_at; use crate::compute::slice::slice; - use crate::{ArrayTrait, IntoArray}; + use crate::{ArrayFlatten, ArrayTrait, Flattened, IntoArray}; #[test] pub fn varbin_view() { @@ -358,7 +358,14 @@ mod test { } #[test] - pub fn flatten_varbin_array() { - // Flattening a varbinview array currently will convert it into a VarBinArray. + pub fn flatten_array() { + let binary_arr = VarBinViewArray::from(vec!["string1", "string2"]); + + let flattened = binary_arr.flatten().unwrap(); + assert!(matches!(flattened, Flattened::VarBin(_))); + + let var_bin = flattened.into_array(); + assert_eq!(scalar_at(&var_bin, 0).unwrap(), Scalar::from("string1")); + assert_eq!(scalar_at(&var_bin, 1).unwrap(), Scalar::from("string2")); } } diff --git a/vortex-array/src/flatten.rs b/vortex-array/src/flatten.rs index 60388ea385..86cf907227 100644 --- a/vortex-array/src/flatten.rs +++ b/vortex-array/src/flatten.rs @@ -37,8 +37,8 @@ pub enum Flattened { VarBin(VarBinArray), // TODO(aduffy): VarBinView is being disabled until execution engines improve their // support for them, or we build better execution kernels of our own. - // Should re-enable once DataFusion completes support for them, tracked in - // https://github.com/apache/datafusion/issues/10918 + // Once DataFusion completes https://github.com/apache/datafusion/issues/10918, we should + // flip this to be the preferred "flat" encoding for all string and binary types. // VarBinView(VarBinViewArray), Extension(ExtensionArray), } From 75d94f0d9117e4d601c3d6d2eeda770523a4519d Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 17:37:45 -0400 Subject: [PATCH 19/20] cast func --- Cargo.lock | 1 + Cargo.toml | 1 + vortex-array/Cargo.toml | 1 + vortex-array/src/array/varbinview/mod.rs | 78 +++++++++++++++++------- 4 files changed, 60 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f4c96aaafc..1a249fc53f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3759,6 +3759,7 @@ version = "0.1.0" dependencies = [ "arrow-array", "arrow-buffer", + "arrow-cast", "arrow-schema", "build-vortex", "criterion", diff --git a/Cargo.toml b/Cargo.toml index 539eb94ed9..ac85667a71 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,6 +37,7 @@ arrayref = "0.3.7" arrow = { version = "52.0.0", features = ["pyarrow"] } arrow-array = "52.0.0" arrow-buffer = "52.0.0" +arrow-cast = "52.0.0" arrow-csv = "52.0.0" arrow-data = "52.0.0" arrow-ipc = "52.0.0" diff --git a/vortex-array/Cargo.toml b/vortex-array/Cargo.toml index 4c7238ab09..7904d72c7e 100644 --- a/vortex-array/Cargo.toml +++ b/vortex-array/Cargo.toml @@ -21,6 +21,7 @@ workspace = true [dependencies] arrow-array = { workspace = true } arrow-buffer = { workspace = true } +arrow-cast = { workspace = true } arrow-schema = { workspace = true } enum-iterator = { workspace = true } flatbuffers = { workspace = true } diff --git a/vortex-array/src/array/varbinview/mod.rs b/vortex-array/src/array/varbinview/mod.rs index 9cbaefeae4..7c30513cb0 100644 --- a/vortex-array/src/array/varbinview/mod.rs +++ b/vortex-array/src/array/varbinview/mod.rs @@ -1,18 +1,24 @@ use std::fmt::Formatter; +use std::ops::Deref; use std::{mem, slice}; use ::serde::{Deserialize, Serialize}; -use vortex_dtype::Nullability; +use arrow_array::{ArrayRef, BinaryViewArray, StringViewArray}; +use arrow_buffer::{Buffer, ScalarBuffer}; +use arrow_schema::DataType; +use itertools::Itertools; +use vortex_dtype::{Nullability, PType}; use vortex_error::vortex_bail; use crate::array::primitive::PrimitiveArray; -use crate::array::varbin::builder::VarBinBuilder; +use crate::array::varbin::VarBinArray; use crate::array::varbinview::builder::VarBinViewBuilder; +use crate::arrow::FromArrowArray; use crate::compute::slice::slice; use crate::validity::Validity; use crate::validity::{ArrayValidity, LogicalValidity, ValidityMetadata}; use crate::visitor::{AcceptArrayVisitor, ArrayVisitor}; -use crate::{impl_encoding, ArrayDType, ArrayFlatten}; +use crate::{impl_encoding, ArrayDType, ArrayData, ArrayFlatten}; mod accessor; mod builder; @@ -220,25 +226,55 @@ impl VarBinViewArray { impl ArrayFlatten for VarBinViewArray { fn flatten(self) -> VortexResult { - // TODO(aduffy): this flatten implementation is relatively expensive, allocating a new - // VarBinArray, and decoding elements from this Array one-at-a-time for insertion. - // In the future, this will be removed because we will provide VarBinViewArray as a - // first-class Flattened variant with zero-copy to Arrow. - let mut builder = VarBinBuilder::::with_capacity(self.len()); - for idx in 0..self.len() { - // If the current value is null, then we push null. Else, we push value. - if self.validity().is_valid(idx) { - builder.push_value( - self.bytes_at(idx) - .expect("element must be valid") - .as_slice(), - ); - } else { - builder.push_null(); - } - } + let nullable = self.dtype().is_nullable(); + let arrow_self = as_arrow(self); + let arrow_varbin = arrow_cast::cast(arrow_self.deref(), &DataType::Utf8) + .expect("Utf8View must cast to Ut8f"); + let vortex_array = ArrayData::from_arrow(arrow_varbin, nullable).into_array(); + + Ok(Flattened::VarBin(VarBinArray::try_from(&vortex_array)?)) + } +} + +fn as_arrow(var_bin_view: VarBinViewArray) -> ArrayRef { + // Views should be buffer of u8 + let views = var_bin_view + .views() + .flatten_primitive() + .expect("views must be primitive"); + assert_eq!(views.ptype(), PType::U8); + let nulls = var_bin_view + .logical_validity() + .to_null_buffer() + .expect("null buffer"); + + let data = (0..var_bin_view.metadata().n_children) + .map(|i| var_bin_view.bytes(i).flatten_primitive()) + .collect::>>() + .expect("bytes arrays must be primitive"); + if !data.is_empty() { + assert_eq!(data[0].ptype(), PType::U8); + assert!(data.iter().map(|d| d.ptype()).all_equal()); + } - Ok(Flattened::VarBin(builder.finish(self.dtype().clone()))) + let data = data + .iter() + .map(|p| Buffer::from(p.buffer())) + .collect::>(); + + // Switch on Arrow DType. + match var_bin_view.dtype() { + DType::Binary(_) => Arc::new(BinaryViewArray::new( + ScalarBuffer::::from(Buffer::from(views.buffer())), + data, + nulls, + )), + DType::Utf8(_) => Arc::new(StringViewArray::new( + ScalarBuffer::::from(Buffer::from(views.buffer())), + data, + nulls, + )), + _ => panic!("expected utf8 or binary, got {}", var_bin_view.dtype()), } } From 8ba94b68902b20615a8e7a610f0446bf353dcdd7 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Tue, 18 Jun 2024 17:43:32 -0400 Subject: [PATCH 20/20] undo this --- vortex-scalar/src/datafusion.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vortex-scalar/src/datafusion.rs b/vortex-scalar/src/datafusion.rs index 12d1cee48a..594a6c3c3d 100644 --- a/vortex-scalar/src/datafusion.rs +++ b/vortex-scalar/src/datafusion.rs @@ -21,7 +21,7 @@ impl From for ScalarValue { PType::I16 => ScalarValue::Int16(None), PType::I32 => ScalarValue::Int32(None), PType::I64 => ScalarValue::Int64(None), - PType::F16 => panic!("float16 not supported before datafusion 39.0.0"), + PType::F16 => ScalarValue::Float16(None), PType::F32 => ScalarValue::Float32(None), PType::F64 => ScalarValue::Float64(None), }, @@ -34,7 +34,7 @@ impl From for ScalarValue { PValue::I16(v) => ScalarValue::Int16(Some(v)), PValue::I32(v) => ScalarValue::Int32(Some(v)), PValue::I64(v) => ScalarValue::Int64(Some(v)), - PValue::F16(_) => panic!("float16 not supported before datafusion 39.0.0"), + PValue::F16(v) => ScalarValue::Float16(Some(v)), PValue::F32(v) => ScalarValue::Float32(Some(v)), PValue::F64(v) => ScalarValue::Float64(Some(v)), },