From 83c2c6b5b88d35bbf45c0fe7cf2fc614b6e5a0ff Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Fri, 12 Dec 2025 09:41:41 -0500 Subject: [PATCH 1/3] bump to df 52 Signed-off-by: Andrew Duffy --- Cargo.lock | 5499 +++---------------- Cargo.toml | 19 +- vortex-datafusion/Cargo.toml | 1 + vortex-datafusion/src/convert/exprs.rs | 48 +- vortex-datafusion/src/persistent/format.rs | 44 +- vortex-datafusion/src/persistent/opener.rs | 49 +- vortex-datafusion/src/persistent/source.rs | 85 +- vortex-datafusion/tests/schema_evolution.rs | 417 ++ 8 files changed, 1329 insertions(+), 4833 deletions(-) create mode 100644 vortex-datafusion/tests/schema_evolution.rs diff --git a/Cargo.lock b/Cargo.lock index 64f2af3c92d..6f47eb9a9f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,17 +8,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - [[package]] name = "ahash" version = "0.8.12" @@ -142,9 +131,6 @@ name = "arbitrary" version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", -] [[package]] name = "arc-swap" @@ -172,101 +158,49 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arrow" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e833808ff2d94ed40d9379848a950d995043c7fb3e81a30b383f4c6033821cc" -dependencies = [ - "arrow-arith 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-cast 56.2.0", - "arrow-csv 56.2.0", - "arrow-data 56.2.0", - "arrow-ipc 56.2.0", - "arrow-json 56.2.0", - "arrow-ord 56.2.0", - "arrow-row 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "arrow-string 56.2.0", -] - -[[package]] -name = "arrow" -version = "57.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df8bb5b0bd64c0b9bc61317fcc480bad0f00e56d3bc32c69a4c8dada4786bae" -dependencies = [ - "arrow-arith 57.0.0", - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-cast 57.0.0", - "arrow-csv 57.0.0", - "arrow-data 57.0.0", - "arrow-ipc 57.0.0", - "arrow-json 57.0.0", - "arrow-ord 57.0.0", - "arrow-row 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", - "arrow-string 57.0.0", -] - -[[package]] -name = "arrow-arith" -version = "56.2.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad08897b81588f60ba983e3ca39bda2b179bdd84dced378e7df81a5313802ef8" +checksum = "cb372a7cbcac02a35d3fb7b3fc1f969ec078e871f9bb899bf00a2e1809bec8a3" dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "chrono", - "num", + "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", ] [[package]] name = "arrow-arith" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a640186d3bd30a24cb42264c2dafb30e236a6f50d510e56d40b708c9582491" +checksum = "0f377dcd19e440174596d83deb49cd724886d91060c07fec4f67014ef9d54049" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", "num-traits", ] [[package]] name = "arrow-array" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8548ca7c070d8db9ce7aa43f37393e4bfcf3f2d3681df278490772fd1673d08d" -dependencies = [ - "ahash", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "chrono", - "chrono-tz", - "half", - "hashbrown 0.16.1", - "num", -] - -[[package]] -name = "arrow-array" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219fe420e6800979744c8393b687afb0252b3f8a89b91027d27887b72aa36d31" +checksum = "a23eaff85a44e9fa914660fb0d0bb00b79c4a3d888b5334adb3ea4330c84f002" dependencies = [ "ahash", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", "chrono-tz", "half", @@ -278,20 +212,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "56.2.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e003216336f70446457e280807a73899dd822feaf02087d31febca1363e2fccc" -dependencies = [ - "bytes", - "half", - "num", -] - -[[package]] -name = "arrow-buffer" -version = "57.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76885a2697a7edf6b59577f568b456afc94ce0e2edc15b784ce3685b6c3c5c27" +checksum = "a2819d893750cb3380ab31ebdc8c68874dd4429f90fd09180f3c93538bd21626" dependencies = [ "bytes", "half", @@ -301,36 +224,16 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919418a0681298d3a77d1a315f625916cb5678ad0d74b9c60108eb15fd083023" -dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "atoi", - "base64", - "chrono", - "comfy-table", - "half", - "lexical-core", - "num", - "ryu", -] - -[[package]] -name = "arrow-cast" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9ebb4c987e6b3b236fb4a14b20b34835abfdd80acead3ccf1f9bf399e1f168" +checksum = "e3d131abb183f80c450d4591dc784f8d7750c50c6e2bc3fcaad148afc8361271" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-ord", + "arrow-schema", + "arrow-select", "atoi", "base64", "chrono", @@ -343,28 +246,13 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa9bf02705b5cf762b6f764c65f04ae9082c7cfc4e96e0c33548ee3f67012eb" -dependencies = [ - "arrow-array 56.2.0", - "arrow-cast 56.2.0", - "arrow-schema 56.2.0", - "chrono", - "csv", - "csv-core", - "regex", -] - -[[package]] -name = "arrow-csv" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92386159c8d4bce96f8bd396b0642a0d544d471bdc2ef34d631aec80db40a09c" +checksum = "2275877a0e5e7e7c76954669366c2aa1a829e340ab1f612e647507860906fb6b" dependencies = [ - "arrow-array 57.0.0", - "arrow-cast 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-cast", + "arrow-schema", "chrono", "csv", "csv-core", @@ -373,24 +261,12 @@ dependencies = [ [[package]] name = "arrow-data" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5c64fff1d142f833d78897a772f2e5b55b36cb3e6320376f0961ab0db7bd6d0" -dependencies = [ - "arrow-buffer 56.2.0", - "arrow-schema 56.2.0", - "half", - "num", -] - -[[package]] -name = "arrow-data" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727681b95de313b600eddc2a37e736dcb21980a40f640314dcf360e2f36bc89b" +checksum = "05738f3d42cb922b9096f7786f606fcb8669260c2640df8490533bb2fa38c9d3" dependencies = [ - "arrow-buffer 57.0.0", - "arrow-schema 57.0.0", + "arrow-buffer", + "arrow-schema", "half", "num-integer", "num-traits", @@ -398,68 +274,30 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3594dcddccc7f20fd069bc8e9828ce37220372680ff638c5e00dea427d88f5" -dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "flatbuffers", - "lz4_flex", - "zstd", -] - -[[package]] -name = "arrow-ipc" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9ba92e3de170295c98a84e5af22e2b037f0c7b32449445e6c493b5fca27f27" +checksum = "3d09446e8076c4b3f235603d9ea7c5494e73d441b01cd61fb33d7254c11964b3" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "flatbuffers", "lz4_flex", ] [[package]] name = "arrow-json" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88cf36502b64a127dc659e3b305f1d993a544eab0d48cce704424e62074dc04b" -dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-cast 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "chrono", - "half", - "indexmap", - "lexical-core", - "memchr", - "num", - "serde", - "serde_json", - "simdutf8", -] - -[[package]] -name = "arrow-json" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b969b4a421ae83828591c6bf5450bd52e6d489584142845ad6a861f42fe35df8" +checksum = "371ffd66fa77f71d7628c63f209c9ca5341081051aa32f9c8020feb0def787c0" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-cast 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "half", "indexmap", @@ -475,72 +313,35 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8f82583eb4f8d84d4ee55fd1cb306720cddead7596edce95b50ee418edf66f" -dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", -] - -[[package]] -name = "arrow-ord" -version = "57.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "141c05298b21d03e88062317a1f1a73f5ba7b6eb041b350015b1cd6aabc0519b" -dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", -] - -[[package]] -name = "arrow-row" -version = "56.2.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d07ba24522229d9085031df6b94605e0f4b26e099fb7cdeec37abd941a73753" +checksum = "cbc94fc7adec5d1ba9e8cd1b1e8d6f72423b33fe978bf1f46d970fafab787521" dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "half", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", ] [[package]] name = "arrow-row" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f3c06a6abad6164508ed283c7a02151515cef3de4b4ff2cebbcaeb85533db2" +checksum = "169676f317157dc079cc5def6354d16db63d8861d61046d2f3883268ced6f99f" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "half", ] [[package]] name = "arrow-schema" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3aa9e59c611ebc291c28582077ef25c97f1975383f1479b12f3b9ffee2ffabe" -dependencies = [ - "bitflags", - "serde", - "serde_json", -] - -[[package]] -name = "arrow-schema" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cfa7a03d1eee2a4d061476e1840ad5c9867a544ca6c4c59256496af5d0a8be5" +checksum = "d27609cd7dd45f006abae27995c2729ef6f4b9361cde1ddd019dc31a5aa017e0" dependencies = [ "bitflags", "serde_core", @@ -549,60 +350,29 @@ dependencies = [ [[package]] name = "arrow-select" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c41dbbd1e97bfcaee4fcb30e29105fb2c75e4d82ae4de70b792a5d3f66b2e7a" -dependencies = [ - "ahash", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "num", -] - -[[package]] -name = "arrow-select" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafa595babaad59f2455f4957d0f26448fb472722c186739f4fac0823a1bdb47" +checksum = "ae980d021879ea119dd6e2a13912d81e64abed372d53163e804dfe84639d8010" dependencies = [ "ahash", - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "num-traits", ] [[package]] name = "arrow-string" -version = "56.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f5183c150fbc619eede22b861ea7c0eebed8eaac0333eaa7f6da5205fd504d" -dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "memchr", - "num", - "regex", - "regex-syntax", -] - -[[package]] -name = "arrow-string" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f46457dbbb99f2650ff3ac23e46a929e0ab81db809b02aa5511c258348bef2" +checksum = "cf35e8ef49dcf0c5f6d175edee6b8af7b45611805333129c541a8b89a0fc0534" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "memchr", "num-traits", "regex", @@ -634,19 +404,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "async-compression" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e86f6d3dc9dc4352edeea6b8e499e13e3f5dc3b964d7ca5fd411415a3498473" -dependencies = [ - "compression-codecs", - "compression-core", - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "async-executor" version = "1.13.3" @@ -730,17 +487,6 @@ dependencies = [ "rustix 1.1.2", ] -[[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.110", -] - [[package]] name = "async-signal" version = "0.2.13" @@ -778,7 +524,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -795,16 +541,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "async_cell" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447ab28afbb345f5408b120702a44e5529ebf90b1796ec76e9528df8e288e6c2" -dependencies = [ - "loom", + "syn 2.0.111", ] [[package]] @@ -829,626 +566,102 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] -name = "aws-config" -version = "1.8.11" +name = "base64" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0149602eeaf915158e14029ba0c78dedb8c08d554b024d54c8f239aab46511d" -dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-sdk-sso", - "aws-sdk-ssooidc", - "aws-sdk-sts", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "fastrand", - "hex", - "http 1.3.1", - "ring", - "time", - "tokio", - "tracing", - "url", - "zeroize", -] +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] -name = "aws-credential-types" -version = "1.2.10" +name = "better_io" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01c9521fa01558f750d183c8c68c81b0155b9d193a4ba7f84c36bd1b6d04a06" -dependencies = [ - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "zeroize", -] +checksum = "92fde17f91e7ba10b2a07f8dff29530b77144894bc6ae850fbc66e1276af0d28" [[package]] -name = "aws-lc-rs" -version = "1.15.1" +name = "bigdecimal" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b5ce75405893cd713f9ab8e297d8e438f624dde7d706108285f7e17a25a180f" +checksum = "560f42649de9fa436b73517378a147ec21f6c997a546581df4b4b31677828934" dependencies = [ - "aws-lc-sys", - "zeroize", + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", ] [[package]] -name = "aws-lc-sys" -version = "0.34.0" +name = "bit-vec" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "179c3777a8b5e70e90ea426114ffc565b2c1a9f82f6c4a0c5a34aa6ef5e781b6" -dependencies = [ - "cc", - "cmake", - "dunce", - "fs_extra", -] +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] -name = "aws-runtime" -version = "1.5.16" +name = "bitflags" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ce527fb7e53ba9626fc47824f25e256250556c40d8f81d27dd92aa38239d632" -dependencies = [ - "aws-credential-types", - "aws-sigv4", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "fastrand", - "http 0.2.12", - "http-body 0.4.6", - "percent-encoding", - "pin-project-lite", - "tracing", - "uuid", -] +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] -name = "aws-sdk-sso" -version = "1.90.0" +name = "bitvec" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f18e53542c522459e757f81e274783a78f8c81acdfc8d1522ee8a18b5fb1c66" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "fastrand", - "http 0.2.12", - "regex-lite", - "tracing", + "funty", + "radium", + "tap", + "wyz", ] [[package]] -name = "aws-sdk-ssooidc" -version = "1.92.0" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532f4d866012ffa724a4385c82e8dd0e59f0ca0e600f3f22d4c03b6824b34e4a" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "fastrand", - "http 0.2.12", - "regex-lite", - "tracing", + "generic-array", ] [[package]] -name = "aws-sdk-sts" -version = "1.94.0" +name = "blocking" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be6fbbfa1a57724788853a623378223fe828fc4c09b146c992f0c95b6256174" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-query", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-smithy-xml", - "aws-types", - "fastrand", - "http 0.2.12", - "regex-lite", - "tracing", + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", ] [[package]] -name = "aws-sigv4" -version = "1.3.6" +name = "brotli" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35452ec3f001e1f2f6db107b6373f1f48f05ec63ba2c5c9fa91f07dad32af11" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ - "aws-credential-types", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "form_urlencoded", - "hex", - "hmac", - "http 0.2.12", - "http 1.3.1", - "percent-encoding", - "sha2", - "time", - "tracing", + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", ] [[package]] -name = "aws-smithy-async" -version = "1.2.6" +name = "brotli-decompressor" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "127fcfad33b7dfc531141fda7e1c402ac65f88aca5511a4d31e2e3d2cd01ce9c" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ - "futures-util", - "pin-project-lite", - "tokio", + "alloc-no-stdlib", + "alloc-stdlib", ] [[package]] -name = "aws-smithy-http" -version = "0.62.5" +name = "bstr" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445d5d720c99eed0b4aa674ed00d835d9b1427dd73e04adaf2f94c6b2d6f9fca" -dependencies = [ - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "bytes-utils", - "futures-core", - "futures-util", - "http 0.2.12", - "http 1.3.1", - "http-body 0.4.6", - "percent-encoding", - "pin-project-lite", - "pin-utils", - "tracing", -] - -[[package]] -name = "aws-smithy-http-client" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "623254723e8dfd535f566ee7b2381645f8981da086b5c4aa26c0c41582bb1d2c" -dependencies = [ - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "h2", - "http 1.3.1", - "hyper", - "hyper-rustls", - "hyper-util", - "pin-project-lite", - "rustls", - "rustls-native-certs", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower", - "tracing", -] - -[[package]] -name = "aws-smithy-json" -version = "0.61.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2db31f727935fc63c6eeae8b37b438847639ec330a9161ece694efba257e0c54" -dependencies = [ - "aws-smithy-types", -] - -[[package]] -name = "aws-smithy-observability" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1881b1ea6d313f9890710d65c158bdab6fb08c91ea825f74c1c8c357baf4cc" -dependencies = [ - "aws-smithy-runtime-api", -] - -[[package]] -name = "aws-smithy-query" -version = "0.60.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d28a63441360c477465f80c7abac3b9c4d075ca638f982e605b7dc2a2c7156c9" -dependencies = [ - "aws-smithy-types", - "urlencoding", -] - -[[package]] -name = "aws-smithy-runtime" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bbe9d018d646b96c7be063dd07987849862b0e6d07c778aad7d93d1be6c1ef0" -dependencies = [ - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-http-client", - "aws-smithy-observability", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "fastrand", - "http 0.2.12", - "http 1.3.1", - "http-body 0.4.6", - "http-body 1.0.1", - "pin-project-lite", - "pin-utils", - "tokio", - "tracing", -] - -[[package]] -name = "aws-smithy-runtime-api" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7204f9fd94749a7c53b26da1b961b4ac36bf070ef1e0b94bb09f79d4f6c193" -dependencies = [ - "aws-smithy-async", - "aws-smithy-types", - "bytes", - "http 0.2.12", - "http 1.3.1", - "pin-project-lite", - "tokio", - "tracing", - "zeroize", -] - -[[package]] -name = "aws-smithy-types" -version = "1.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f535879a207fce0db74b679cfc3e91a3159c8144d717d55f5832aea9eef46e" -dependencies = [ - "base64-simd", - "bytes", - "bytes-utils", - "http 0.2.12", - "http 1.3.1", - "http-body 0.4.6", - "http-body 1.0.1", - "http-body-util", - "itoa", - "num-integer", - "pin-project-lite", - "pin-utils", - "ryu", - "serde", - "time", -] - -[[package]] -name = "aws-smithy-xml" -version = "0.60.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab77cdd036b11056d2a30a7af7b775789fb024bf216acc13884c6c97752ae56" -dependencies = [ - "xmlparser", -] - -[[package]] -name = "aws-types" -version = "1.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79fb68e3d7fe5d4833ea34dc87d2e97d26d3086cb3da660bb6b1f76d98680b6" -dependencies = [ - "aws-credential-types", - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "rustc_version", - "tracing", -] - -[[package]] -name = "backon" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" -dependencies = [ - "fastrand", - "gloo-timers", - "tokio", -] - -[[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 = "base64ct" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" - -[[package]] -name = "bench-vortex" -version = "0.1.0" -dependencies = [ - "anyhow", - "arrow-array 57.0.0", - "arrow-cast 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", - "async-trait", - "bytes", - "bzip2", - "clap", - "datafusion 51.0.0", - "datafusion-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "dirs", - "erased-serde", - "futures", - "glob", - "humansize", - "indicatif", - "itertools 0.14.0", - "lance", - "lance-encoding", - "log", - "mimalloc", - "noodles-bgzf", - "noodles-vcf", - "object_store", - "opentelemetry", - "opentelemetry-otlp", - "opentelemetry_sdk", - "parking_lot", - "parquet", - "paste", - "rand 0.9.2", - "rayon", - "regex", - "reqwest", - "serde", - "serde_json", - "similar", - "sysinfo", - "tabled", - "tar", - "target-lexicon", - "tempfile", - "tokio", - "tokio-stream", - "tokio-util", - "tpchgen", - "tpchgen-arrow", - "tracing", - "tracing-perfetto", - "tracing-subscriber", - "url", - "uuid", - "vortex", - "vortex-datafusion", - "vortex-duckdb", - "xshell", -] - -[[package]] -name = "better_io" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92fde17f91e7ba10b2a07f8dff29530b77144894bc6ae850fbc66e1276af0d28" - -[[package]] -name = "bigdecimal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560f42649de9fa436b73517378a147ec21f6c997a546581df4b4b31677828934" -dependencies = [ - "autocfg", - "libm", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "bindgen" -version = "0.72.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.110", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitflags" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" - -[[package]] -name = "bitpacking" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c1d3e2bfd8d06048a179f7b17afc3188effa10385e7b00dc65af6aae732ea92" -dependencies = [ - "crunchy", -] - -[[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.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" -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 = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - -[[package]] -name = "blocking" -version = "1.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - -[[package]] -name = "bon" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebeb9aaf9329dff6ceb65c689ca3db33dbf15f324909c60e4e5eef5701ce31b1" -dependencies = [ - "bon-macros", - "rustversion", -] - -[[package]] -name = "bon-macros" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e9d642a7e3a318e37c2c9427b5a6a48aa1ad55dcd986f3034ab2239045a645" -dependencies = [ - "darling 0.21.3", - "ident_case", - "prettyplease", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.110", -] - -[[package]] -name = "brotli" -version = "8.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bstr" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "regex-automata", @@ -1491,25 +704,6 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" -[[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.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" -dependencies = [ - "libbz2-rs-sys", -] - [[package]] name = "cassowary" version = "0.3.0" @@ -1525,15 +719,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher", -] - [[package]] name = "cbindgen" version = "0.29.2" @@ -1548,28 +733,22 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.110", + "syn 2.0.111", "tempfile", "toml", ] [[package]] name = "cc" -version = "1.2.47" +version = "1.2.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" +checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" dependencies = [ "find-msvc-tools", "jobserver", "libc", - "shlex", -] - -[[package]] -name = "census" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4c707c6a209cbe82d10abd08e1ea8995e9ea937d2550646e02798948992be0" + "shlex", +] [[package]] name = "cesu8" @@ -1577,15 +756,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom 7.1.3", -] - [[package]] name = "cfg-if" version = "1.0.4" @@ -1609,7 +779,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -1622,27 +792,6 @@ dependencies = [ "phf", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading 0.8.9", -] - [[package]] name = "clap" version = "4.5.53" @@ -1675,7 +824,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -1684,15 +833,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" -[[package]] -name = "cmake" -version = "0.1.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" -dependencies = [ - "cc", -] - [[package]] name = "codespan-reporting" version = "0.13.1" @@ -1701,7 +841,7 @@ checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" dependencies = [ "serde", "termcolor", - "unicode-width 0.1.14", + "unicode-width 0.2.0", ] [[package]] @@ -1746,7 +886,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -1777,7 +917,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1792,12 +932,11 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.2" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56" +checksum = "b03b7db8e0b4b2fdad6c551e634134e99ec000e5c8c3b6856c65e8bbaded7a3b" dependencies = [ - "strum 0.26.3", - "strum_macros 0.26.4", + "unicode-segmentation", "unicode-width 0.2.0", ] @@ -1815,23 +954,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "compression-codecs" -version = "0.4.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302266479cb963552d11bd042013a58ef1adc56768016c8b82b4199488f2d4ad" -dependencies = [ - "compression-core", - "flate2", - "memchr", -] - -[[package]] -name = "compression-core" -version = "0.4.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1872,12 +994,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "const-random" version = "0.1.18" @@ -1924,31 +1040,15 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "constant_time_eq" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - [[package]] name = "convert_case" -version = "0.7.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" dependencies = [ "unicode-segmentation", ] -[[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" version = "0.10.1" @@ -1965,39 +1065,6 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - -[[package]] -name = "crc32c" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" -dependencies = [ - "rustc_version", -] - [[package]] name = "crc32fast" version = "1.5.0" @@ -2016,16 +1083,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - [[package]] name = "crossbeam-epoch" version = "0.9.18" @@ -2035,15 +1092,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -2132,9 +1180,9 @@ dependencies = [ [[package]] name = "cudarc" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef0cfc5e22a6b6f7d04ee45b0151232ca236ede8ca3534210fd4072bdead0d60" +checksum = "3aa12038120eb13347a6ae2ffab1d34efe78150125108627fd85044dd4d6ff1e" dependencies = [ "half", "libloading 0.8.9", @@ -2167,7 +1215,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2181,7 +1229,7 @@ dependencies = [ "indexmap", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2199,7 +1247,7 @@ dependencies = [ "indexmap", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2208,18 +1256,8 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", -] - -[[package]] -name = "darling" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", + "darling_core", + "darling_macro", ] [[package]] @@ -2233,21 +1271,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.110", -] - -[[package]] -name = "darling_core" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2256,20 +1280,9 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.11", - "quote", - "syn 2.0.110", -] - -[[package]] -name = "darling_macro" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" -dependencies = [ - "darling_core 0.21.3", + "darling_core", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2286,101 +1299,48 @@ dependencies = [ "parking_lot_core", ] -[[package]] -name = "datafusion" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af15bb3c6ffa33011ef579f6b0bcbe7c26584688bd6c994f548e44df67f011a" -dependencies = [ - "arrow 56.2.0", - "arrow-ipc 56.2.0", - "arrow-schema 56.2.0", - "async-trait", - "bytes", - "chrono", - "datafusion-catalog 50.3.0", - "datafusion-catalog-listing 50.3.0", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-datasource 50.3.0", - "datafusion-datasource-csv 50.3.0", - "datafusion-datasource-json 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-functions 50.3.0", - "datafusion-functions-aggregate 50.3.0", - "datafusion-functions-nested 50.3.0", - "datafusion-functions-table 50.3.0", - "datafusion-functions-window 50.3.0", - "datafusion-optimizer 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-adapter 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-optimizer 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-session 50.3.0", - "datafusion-sql 50.3.0", - "futures", - "itertools 0.14.0", - "log", - "object_store", - "parking_lot", - "rand 0.9.2", - "regex", - "sqlparser 0.58.0", - "tempfile", - "tokio", - "url", - "uuid", -] - [[package]] name = "datafusion" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba7cb113e9c0bedf9e9765926031e132fa05a1b09ba6e93a6d1a4d7044457b8" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", - "arrow-schema 57.0.0", + "arrow", + "arrow-schema", "async-trait", "bytes", "chrono", - "datafusion-catalog 51.0.0", - "datafusion-catalog-listing 51.0.0", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", + "datafusion-catalog", + "datafusion-catalog-listing", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", "datafusion-datasource-arrow", - "datafusion-datasource-csv 51.0.0", - "datafusion-datasource-json 51.0.0", - "datafusion-datasource-parquet", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-functions 51.0.0", - "datafusion-functions-aggregate 51.0.0", - "datafusion-functions-nested 51.0.0", - "datafusion-functions-table 51.0.0", - "datafusion-functions-window 51.0.0", - "datafusion-optimizer 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-adapter 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-optimizer 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-session 51.0.0", - "datafusion-sql 51.0.0", + "datafusion-datasource-csv", + "datafusion-datasource-json", + "datafusion-execution", + "datafusion-expr", + "datafusion-expr-common", + "datafusion-functions", + "datafusion-functions-aggregate", + "datafusion-functions-nested", + "datafusion-functions-table", + "datafusion-functions-window", + "datafusion-optimizer", + "datafusion-physical-expr", + "datafusion-physical-expr-adapter", + "datafusion-physical-expr-common", + "datafusion-physical-optimizer", + "datafusion-physical-plan", + "datafusion-session", + "datafusion-sql", "futures", "itertools 0.14.0", "log", "object_store", "parking_lot", - "parquet", "rand 0.9.2", "regex", - "rstest", - "sqlparser 0.59.0", + "sqlparser", "tempfile", "tokio", "url", @@ -2389,420 +1349,190 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187622262ad8f7d16d3be9202b4c1e0116f1c9aa387e5074245538b755261621" -dependencies = [ - "arrow 56.2.0", - "async-trait", - "dashmap", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-datasource 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-session 50.3.0", - "datafusion-sql 50.3.0", - "futures", - "itertools 0.14.0", - "log", - "object_store", - "parking_lot", - "tokio", -] - -[[package]] -name = "datafusion-catalog" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a3a799f914a59b1ea343906a0486f17061f39509af74e874a866428951130d" -dependencies = [ - "arrow 57.0.0", - "async-trait", - "dashmap", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-session 51.0.0", - "futures", - "itertools 0.14.0", - "log", - "object_store", - "parking_lot", - "tokio", -] - -[[package]] -name = "datafusion-catalog-listing" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9657314f0a32efd0382b9a46fdeb2d233273ece64baa68a7c45f5a192daf0f83" -dependencies = [ - "arrow 56.2.0", - "async-trait", - "datafusion-catalog 50.3.0", - "datafusion-common 50.3.0", - "datafusion-datasource 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-session 50.3.0", - "futures", - "log", - "object_store", - "tokio", -] - -[[package]] -name = "datafusion-catalog-listing" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db1b113c80d7a0febcd901476a57aef378e717c54517a163ed51417d87621b0" -dependencies = [ - "arrow 57.0.0", - "async-trait", - "datafusion-catalog 51.0.0", - "datafusion-common 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-adapter 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "futures", - "itertools 0.14.0", - "log", - "object_store", - "tokio", -] - -[[package]] -name = "datafusion-common" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a83760d9a13122d025fbdb1d5d5aaf93dd9ada5e90ea229add92aa30898b2d1" -dependencies = [ - "ahash", - "arrow 56.2.0", - "arrow-ipc 56.2.0", - "base64", - "chrono", - "half", - "hashbrown 0.14.5", - "indexmap", - "libc", - "log", - "object_store", - "paste", - "sqlparser 0.58.0", - "tokio", - "web-time", -] - -[[package]] -name = "datafusion-common" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c10f7659e96127d25e8366be7c8be4109595d6a2c3eac70421f380a7006a1b0" -dependencies = [ - "ahash", - "arrow 57.0.0", - "arrow-ipc 57.0.0", - "chrono", - "half", - "hashbrown 0.14.5", - "indexmap", - "libc", - "log", - "object_store", - "parquet", - "paste", - "sqlparser 0.59.0", - "tokio", - "web-time", -] - -[[package]] -name = "datafusion-common-runtime" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b6234a6c7173fe5db1c6c35c01a12b2aa0f803a3007feee53483218817f8b1e" -dependencies = [ - "futures", - "log", - "tokio", -] - -[[package]] -name = "datafusion-common-runtime" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b92065bbc6532c6651e2f7dd30b55cba0c7a14f860c7e1d15f165c41a1868d95" -dependencies = [ - "futures", - "log", - "tokio", -] - -[[package]] -name = "datafusion-datasource" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7256c9cb27a78709dd42d0c80f0178494637209cac6e29d5c93edd09b6721b86" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 56.2.0", - "async-trait", - "bytes", - "chrono", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-adapter 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-session 50.3.0", + "arrow", + "async-trait", + "dashmap", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr", + "datafusion-physical-plan", + "datafusion-session", "futures", - "glob", "itertools 0.14.0", "log", "object_store", - "rand 0.9.2", + "parking_lot", "tokio", - "url", ] [[package]] -name = "datafusion-datasource" +name = "datafusion-catalog-listing" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde13794244bc7581cd82f6fff217068ed79cdc344cafe4ab2c3a1c3510b38d6" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", - "bytes", - "chrono", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-adapter 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-session 51.0.0", + "datafusion-catalog", + "datafusion-common", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr", + "datafusion-physical-expr-adapter", + "datafusion-physical-expr-common", + "datafusion-physical-plan", "futures", - "glob", "itertools 0.14.0", "log", "object_store", - "rand 0.9.2", - "tokio", - "url", ] [[package]] -name = "datafusion-datasource-arrow" +name = "datafusion-common" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804fa9b4ecf3157982021770617200ef7c1b2979d57bec9044748314775a9aea" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", - "arrow-ipc 57.0.0", - "async-trait", - "bytes", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-session 51.0.0", - "futures", - "itertools 0.14.0", + "ahash", + "arrow", + "arrow-ipc", + "chrono", + "half", + "hashbrown 0.14.5", + "indexmap", + "libc", + "log", "object_store", + "paste", + "sqlparser", "tokio", + "web-time", ] [[package]] -name = "datafusion-datasource-csv" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64533a90f78e1684bfb113d200b540f18f268134622d7c96bbebc91354d04825" +name = "datafusion-common-runtime" +version = "51.0.0" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 56.2.0", - "async-trait", - "bytes", - "datafusion-catalog 50.3.0", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-datasource 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-session 50.3.0", "futures", - "object_store", - "regex", + "log", "tokio", ] [[package]] -name = "datafusion-datasource-csv" +name = "datafusion-datasource" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a1641a40b259bab38131c5e6f48fac0717bedb7dc93690e604142a849e0568" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", "bytes", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-session 51.0.0", + "chrono", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr", + "datafusion-physical-expr-adapter", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-session", "futures", + "glob", + "itertools 0.14.0", + "log", "object_store", - "regex", + "rand 0.9.2", "tokio", + "url", ] [[package]] -name = "datafusion-datasource-json" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d7ebeb12c77df0aacad26f21b0d033aeede423a64b2b352f53048a75bf1d6e6" +name = "datafusion-datasource-arrow" +version = "51.0.0" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 56.2.0", + "arrow", + "arrow-ipc", "async-trait", "bytes", - "datafusion-catalog 50.3.0", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-datasource 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-session 50.3.0", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-session", "futures", + "itertools 0.14.0", "object_store", - "serde_json", "tokio", ] [[package]] -name = "datafusion-datasource-json" +name = "datafusion-datasource-csv" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adeacdb00c1d37271176f8fb6a1d8ce096baba16ea7a4b2671840c5c9c64fe85" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", "bytes", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-session 51.0.0", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-session", "futures", "object_store", + "regex", "tokio", ] [[package]] -name = "datafusion-datasource-parquet" +name = "datafusion-datasource-json" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d0b60ffd66f28bfb026565d62b0a6cbc416da09814766a3797bba7d85a3cd9" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", "bytes", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-functions-aggregate-common 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-adapter 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-pruning 51.0.0", - "datafusion-session 51.0.0", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-session", "futures", - "itertools 0.14.0", - "log", "object_store", - "parking_lot", - "parquet", "tokio", ] -[[package]] -name = "datafusion-doc" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99ee6b1d9a80d13f9deb2291f45c07044b8e62fb540dbde2453a18be17a36429" - [[package]] name = "datafusion-doc" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b99e13947667b36ad713549237362afb054b2d8f8cc447751e23ec61202db07" - -[[package]] -name = "datafusion-execution" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4cec0a57653bec7b933fb248d3ffa3fa3ab3bd33bd140dc917f714ac036f531" -dependencies = [ - "arrow 56.2.0", - "async-trait", - "dashmap", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "futures", - "log", - "object_store", - "parking_lot", - "rand 0.9.2", - "tempfile", - "url", -] +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" [[package]] name = "datafusion-execution" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63695643190679037bc946ad46a263b62016931547bf119859c511f7ff2f5178" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", "dashmap", - "datafusion-common 51.0.0", - "datafusion-expr 51.0.0", + "datafusion-common", + "datafusion-expr", "futures", "log", "object_store", @@ -2812,120 +1542,54 @@ dependencies = [ "url", ] -[[package]] -name = "datafusion-expr" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef76910bdca909722586389156d0aa4da4020e1631994d50fadd8ad4b1aa05fe" -dependencies = [ - "arrow 56.2.0", - "async-trait", - "chrono", - "datafusion-common 50.3.0", - "datafusion-doc 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-functions-aggregate-common 50.3.0", - "datafusion-functions-window-common 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "indexmap", - "paste", - "serde_json", - "sqlparser 0.58.0", -] - [[package]] name = "datafusion-expr" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a4787cbf5feb1ab351f789063398f67654a6df75c4d37d7f637dc96f951a91" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", "chrono", - "datafusion-common 51.0.0", - "datafusion-doc 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-functions-aggregate-common 51.0.0", - "datafusion-functions-window-common 51.0.0", - "datafusion-physical-expr-common 51.0.0", + "datafusion-common", + "datafusion-doc", + "datafusion-expr-common", + "datafusion-functions-aggregate-common", + "datafusion-functions-window-common", + "datafusion-physical-expr-common", "indexmap", "itertools 0.14.0", "paste", "serde_json", - "sqlparser 0.59.0", -] - -[[package]] -name = "datafusion-expr-common" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d155ccbda29591ca71a1344dd6bed26c65a4438072b400df9db59447f590bb6" -dependencies = [ - "arrow 56.2.0", - "datafusion-common 50.3.0", - "indexmap", - "itertools 0.14.0", - "paste", + "sqlparser", ] [[package]] name = "datafusion-expr-common" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce2fb1b8c15c9ac45b0863c30b268c69dc9ee7a1ee13ecf5d067738338173dc" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", - "datafusion-common 51.0.0", + "arrow", + "datafusion-common", "indexmap", "itertools 0.14.0", "paste", ] -[[package]] -name = "datafusion-functions" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de2782136bd6014670fd84fe3b0ca3b3e4106c96403c3ae05c0598577139977" -dependencies = [ - "arrow 56.2.0", - "arrow-buffer 56.2.0", - "base64", - "blake2", - "blake3", - "chrono", - "datafusion-common 50.3.0", - "datafusion-doc 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-macros 50.3.0", - "hex", - "itertools 0.14.0", - "log", - "md-5", - "rand 0.9.2", - "regex", - "sha2", - "unicode-segmentation", - "uuid", -] - [[package]] name = "datafusion-functions" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794a9db7f7b96b3346fc007ff25e994f09b8f0511b4cf7dff651fadfe3ebb28f" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", - "arrow-buffer 57.0.0", + "arrow", + "arrow-buffer", "base64", "chrono", - "datafusion-common 51.0.0", - "datafusion-doc 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-macros 51.0.0", + "datafusion-common", + "datafusion-doc", + "datafusion-execution", + "datafusion-expr", + "datafusion-expr-common", + "datafusion-macros", "hex", "itertools 0.14.0", "log", @@ -2936,458 +1600,215 @@ dependencies = [ "uuid", ] -[[package]] -name = "datafusion-functions-aggregate" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07331fc13603a9da97b74fd8a273f4238222943dffdbbed1c4c6f862a30105bf" -dependencies = [ - "ahash", - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-doc 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-functions-aggregate-common 50.3.0", - "datafusion-macros 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "half", - "log", - "paste", -] - [[package]] name = "datafusion-functions-aggregate" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c25210520a9dcf9c2b2cbbce31ebd4131ef5af7fc60ee92b266dc7d159cb305" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ "ahash", - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-doc 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-functions-aggregate-common 51.0.0", - "datafusion-macros 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", + "arrow", + "datafusion-common", + "datafusion-doc", + "datafusion-execution", + "datafusion-expr", + "datafusion-functions-aggregate-common", + "datafusion-macros", + "datafusion-physical-expr", + "datafusion-physical-expr-common", "half", "log", "paste", ] -[[package]] -name = "datafusion-functions-aggregate-common" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5951e572a8610b89968a09b5420515a121fbc305c0258651f318dc07c97ab17" -dependencies = [ - "ahash", - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-physical-expr-common 50.3.0", -] - [[package]] name = "datafusion-functions-aggregate-common" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f4a66f3b87300bb70f4124b55434d2ae3fe80455f3574701d0348da040b55d" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ "ahash", - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-physical-expr-common 51.0.0", -] - -[[package]] -name = "datafusion-functions-nested" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdacca9302c3d8fc03f3e94f338767e786a88a33f5ebad6ffc0e7b50364b9ea3" -dependencies = [ - "arrow 56.2.0", - "arrow-ord 56.2.0", - "datafusion-common 50.3.0", - "datafusion-doc 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-functions 50.3.0", - "datafusion-functions-aggregate 50.3.0", - "datafusion-functions-aggregate-common 50.3.0", - "datafusion-macros 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "itertools 0.14.0", - "log", - "paste", + "arrow", + "datafusion-common", + "datafusion-expr-common", + "datafusion-physical-expr-common", ] [[package]] name = "datafusion-functions-nested" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5c06eed03918dc7fe7a9f082a284050f0e9ecf95d72f57712d1496da03b8c4" -dependencies = [ - "arrow 57.0.0", - "arrow-ord 57.0.0", - "datafusion-common 51.0.0", - "datafusion-doc 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-functions 51.0.0", - "datafusion-functions-aggregate 51.0.0", - "datafusion-functions-aggregate-common 51.0.0", - "datafusion-macros 51.0.0", - "datafusion-physical-expr-common 51.0.0", +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" +dependencies = [ + "arrow", + "arrow-ord", + "datafusion-common", + "datafusion-doc", + "datafusion-execution", + "datafusion-expr", + "datafusion-expr-common", + "datafusion-functions", + "datafusion-functions-aggregate", + "datafusion-functions-aggregate-common", + "datafusion-macros", + "datafusion-physical-expr-common", "itertools 0.14.0", "log", "paste", ] -[[package]] -name = "datafusion-functions-table" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37ff8a99434fbbad604a7e0669717c58c7c4f14c472d45067c4b016621d981" -dependencies = [ - "arrow 56.2.0", - "async-trait", - "datafusion-catalog 50.3.0", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-plan 50.3.0", - "parking_lot", - "paste", -] - [[package]] name = "datafusion-functions-table" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4fed1d71738fbe22e2712d71396db04c25de4111f1ec252b8f4c6d3b25d7f5" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "async-trait", - "datafusion-catalog 51.0.0", - "datafusion-common 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-plan 51.0.0", + "datafusion-catalog", + "datafusion-common", + "datafusion-expr", + "datafusion-physical-plan", "parking_lot", "paste", ] -[[package]] -name = "datafusion-functions-window" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e2aea7c79c926cffabb13dc27309d4eaeb130f4a21c8ba91cdd241c813652b" -dependencies = [ - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-doc 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-functions-window-common 50.3.0", - "datafusion-macros 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "log", - "paste", -] - [[package]] name = "datafusion-functions-window" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d92206aa5ae21892f1552b4d61758a862a70956e6fd7a95cb85db1de74bc6d1" -dependencies = [ - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-doc 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-functions-window-common 51.0.0", - "datafusion-macros 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-doc", + "datafusion-expr", + "datafusion-functions-window-common", + "datafusion-macros", + "datafusion-physical-expr", + "datafusion-physical-expr-common", "log", "paste", ] -[[package]] -name = "datafusion-functions-window-common" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fead257ab5fd2ffc3b40fda64da307e20de0040fe43d49197241d9de82a487f" -dependencies = [ - "datafusion-common 50.3.0", - "datafusion-physical-expr-common 50.3.0", -] - [[package]] name = "datafusion-functions-window-common" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53ae9bcc39800820d53a22d758b3b8726ff84a5a3e24cecef04ef4e5fdf1c7cc" -dependencies = [ - "datafusion-common 51.0.0", - "datafusion-physical-expr-common 51.0.0", -] - -[[package]] -name = "datafusion-macros" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec6f637bce95efac05cdfb9b6c19579ed4aa5f6b94d951cfa5bb054b7bb4f730" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "datafusion-expr 50.3.0", - "quote", - "syn 2.0.110", + "datafusion-common", + "datafusion-physical-expr-common", ] [[package]] name = "datafusion-macros" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1063ad4c9e094b3f798acee16d9a47bd7372d9699be2de21b05c3bd3f34ab848" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "datafusion-doc 51.0.0", + "datafusion-doc", "quote", - "syn 2.0.110", -] - -[[package]] -name = "datafusion-optimizer" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6583ef666ae000a613a837e69e456681a9faa96347bf3877661e9e89e141d8a" -dependencies = [ - "arrow 56.2.0", - "chrono", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-physical-expr 50.3.0", - "indexmap", - "itertools 0.14.0", - "log", - "regex", - "regex-syntax", + "syn 2.0.111", ] [[package]] name = "datafusion-optimizer" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35f9ec5d08b87fd1893a30c2929f2559c2f9806ca072d8fefca5009dc0f06a" -dependencies = [ - "arrow 57.0.0", - "chrono", - "datafusion-common 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-physical-expr 51.0.0", - "indexmap", - "itertools 0.14.0", - "log", - "regex", - "regex-syntax", -] - -[[package]] -name = "datafusion-physical-expr" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8668103361a272cbbe3a61f72eca60c9b7c706e87cc3565bcf21e2b277b84f6" -dependencies = [ - "ahash", - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-functions-aggregate-common 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "half", - "hashbrown 0.14.5", - "indexmap", - "itertools 0.14.0", - "log", - "parking_lot", - "paste", - "petgraph 0.8.3", -] - -[[package]] -name = "datafusion-physical-expr" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c30cc8012e9eedcb48bbe112c6eff4ae5ed19cf3003cb0f505662e88b7014c5d" -dependencies = [ - "ahash", - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-functions-aggregate-common 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "half", - "hashbrown 0.14.5", - "indexmap", - "itertools 0.14.0", - "parking_lot", - "paste", - "petgraph 0.8.3", -] - -[[package]] -name = "datafusion-physical-expr-adapter" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "815acced725d30601b397e39958e0e55630e0a10d66ef7769c14ae6597298bb0" -dependencies = [ - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-functions 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "itertools 0.14.0", -] - -[[package]] -name = "datafusion-physical-expr-adapter" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9ff2dbd476221b1f67337699eff432781c4e6e1713d2aefdaa517dfbf79768" -dependencies = [ - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-functions 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "itertools 0.14.0", -] - -[[package]] -name = "datafusion-physical-expr-common" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6652fe7b5bf87e85ed175f571745305565da2c0b599d98e697bcbedc7baa47c3" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "ahash", - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-expr-common 50.3.0", - "hashbrown 0.14.5", + "arrow", + "chrono", + "datafusion-common", + "datafusion-expr", + "datafusion-expr-common", + "datafusion-physical-expr", + "indexmap", "itertools 0.14.0", + "log", + "regex", + "regex-syntax", ] [[package]] -name = "datafusion-physical-expr-common" +name = "datafusion-physical-expr" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90da43e1ec550b172f34c87ec68161986ced70fd05c8d2a2add66eef9c276f03" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ "ahash", - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-expr-common 51.0.0", + "arrow", + "datafusion-common", + "datafusion-expr", + "datafusion-expr-common", + "datafusion-functions-aggregate-common", + "datafusion-physical-expr-common", + "half", "hashbrown 0.14.5", + "indexmap", "itertools 0.14.0", + "parking_lot", + "paste", + "petgraph 0.8.3", + "tokio", ] [[package]] -name = "datafusion-physical-optimizer" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b7d623eb6162a3332b564a0907ba00895c505d101b99af78345f1acf929b5c" -dependencies = [ - "arrow 56.2.0", - "datafusion-common 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-pruning 50.3.0", +name = "datafusion-physical-expr-adapter" +version = "51.0.0" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-expr", + "datafusion-functions", + "datafusion-physical-expr", + "datafusion-physical-expr-common", "itertools 0.14.0", - "log", ] [[package]] -name = "datafusion-physical-optimizer" +name = "datafusion-physical-expr-common" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce9804f799acd7daef3be7aaffe77c0033768ed8fdbf5fb82fc4c5f2e6bc14e6" -dependencies = [ - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-pruning 51.0.0", +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" +dependencies = [ + "ahash", + "arrow", + "datafusion-common", + "datafusion-expr-common", + "hashbrown 0.14.5", "itertools 0.14.0", ] [[package]] -name = "datafusion-physical-plan" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2f7f778a1a838dec124efb96eae6144237d546945587557c9e6936b3414558c" -dependencies = [ - "ahash", - "arrow 56.2.0", - "arrow-ord 56.2.0", - "arrow-schema 56.2.0", - "async-trait", - "chrono", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-functions-aggregate-common 50.3.0", - "datafusion-functions-window-common 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "futures", - "half", - "hashbrown 0.14.5", - "indexmap", +name = "datafusion-physical-optimizer" +version = "51.0.0" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-execution", + "datafusion-expr", + "datafusion-expr-common", + "datafusion-physical-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-pruning", "itertools 0.14.0", - "log", - "parking_lot", - "pin-project-lite", - "tokio", ] [[package]] name = "datafusion-physical-plan" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0acf0ad6b6924c6b1aa7d213b181e012e2d3ec0a64ff5b10ee6282ab0f8532ac" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ "ahash", - "arrow 57.0.0", - "arrow-ord 57.0.0", - "arrow-schema 57.0.0", + "arrow", + "arrow-ord", + "arrow-schema", "async-trait", "chrono", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-functions-aggregate-common 51.0.0", - "datafusion-functions-window-common 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-execution", + "datafusion-expr", + "datafusion-functions", + "datafusion-functions-aggregate-common", + "datafusion-functions-window-common", + "datafusion-physical-expr", + "datafusion-physical-expr-common", "futures", "half", "hashbrown 0.14.5", @@ -3399,147 +1820,49 @@ dependencies = [ "tokio", ] -[[package]] -name = "datafusion-pruning" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd1e59e2ca14fe3c30f141600b10ad8815e2856caa59ebbd0e3e07cd3d127a65" -dependencies = [ - "arrow 56.2.0", - "arrow-schema 56.2.0", - "datafusion-common 50.3.0", - "datafusion-datasource 50.3.0", - "datafusion-expr-common 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-expr-common 50.3.0", - "datafusion-physical-plan 50.3.0", - "itertools 0.14.0", - "log", -] - [[package]] name = "datafusion-pruning" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2c2498a1f134a9e11a9f5ed202a2a7d7e9774bd9249295593053ea3be999db" -dependencies = [ - "arrow 57.0.0", - "datafusion-common 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-expr-common 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "itertools 0.14.0", - "log", -] - -[[package]] -name = "datafusion-session" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ef8e2745583619bd7a49474e8f45fbe98ebb31a133f27802217125a7b3d58d" -dependencies = [ - "arrow 56.2.0", - "async-trait", - "dashmap", - "datafusion-common 50.3.0", - "datafusion-common-runtime 50.3.0", - "datafusion-execution 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-plan 50.3.0", - "datafusion-sql 50.3.0", - "futures", +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-datasource", + "datafusion-expr-common", + "datafusion-physical-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", "itertools 0.14.0", "log", - "object_store", - "parking_lot", - "tokio", ] [[package]] name = "datafusion-session" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f96eebd17555386f459037c65ab73aae8df09f464524c709d6a3134ad4f4776" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ "async-trait", - "datafusion-common 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-physical-plan 51.0.0", + "datafusion-common", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-plan", "parking_lot", ] -[[package]] -name = "datafusion-sql" -version = "50.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89abd9868770386fede29e5a4b14f49c0bf48d652c3b9d7a8a0332329b87d50b" -dependencies = [ - "arrow 56.2.0", - "bigdecimal", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "indexmap", - "log", - "regex", - "sqlparser 0.58.0", -] - [[package]] name = "datafusion-sql" version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc195fe60634b2c6ccfd131b487de46dc30eccae8a3c35a13f136e7f440414f" +source = "git+https://github.com/apache/datafusion?rev=86011519b5a#86011519b5a2e223ff3b31d2aa7765ff08bf4c86" dependencies = [ - "arrow 57.0.0", + "arrow", "bigdecimal", "chrono", - "datafusion-common 51.0.0", - "datafusion-expr 51.0.0", + "datafusion-common", + "datafusion-expr", "indexmap", "log", "regex", - "sqlparser 0.59.0", -] - -[[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 = "deflate64" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26bf8fc351c5ed29b5c2f0cbbac1b209b74f60ecd62e675a998df72c49af5204" - -[[package]] -name = "der" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", + "sqlparser", ] [[package]] @@ -3549,39 +1872,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", - "serde_core", -] - -[[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", ] [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.110", + "rustc_version", + "syn 2.0.111", ] [[package]] @@ -3591,30 +1903,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "const-oid", "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.60.2", ] [[package]] @@ -3625,7 +1914,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3636,16 +1925,7 @@ checksum = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "dlv-list" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" -dependencies = [ - "const-random", + "syn 2.0.111", ] [[package]] @@ -3657,24 +1937,12 @@ dependencies = [ "litrs", ] -[[package]] -name = "downcast-rs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" - [[package]] name = "dtype_dispatch" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3a5ccdfd6c5e7e2fea9c5cf256f2a08216047fab19c621c3da64e9ae4a1462d" -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - [[package]] name = "either" version = "1.15.0" @@ -3687,15 +1955,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "enum-iterator" version = "2.3.0" @@ -3713,7 +1972,7 @@ checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3733,7 +1992,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3765,17 +2024,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" -[[package]] -name = "erased-serde" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - [[package]] name = "errno" version = "0.3.14" @@ -3783,15 +2031,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] -[[package]] -name = "ethnum" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca81e6b4777c89fd810c25a4be2b1bd93ea034fbe58e6a75216a34c6b82c539b" - [[package]] name = "event-listener" version = "5.4.1" @@ -3852,18 +2094,6 @@ dependencies = [ "ext-trait", ] -[[package]] -name = "fast-float2" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" - -[[package]] -name = "fastdivide" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afc2bd4d5a73106dd53d10d73d3401c2f32730ba2c0b93ddb888a8983680471" - [[package]] name = "fastlanes" version = "0.5.0" @@ -3883,18 +2113,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "filetime" -version = "0.2.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.60.2", -] - [[package]] name = "find-msvc-tools" version = "0.1.5" @@ -3968,47 +2186,12 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs4" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e180ac76c23b45e767bd7ae9579bc0bb458618c4bc71835926e098e61d15f8" -dependencies = [ - "rustix 0.38.44", - "windows-sys 0.52.0", -] - -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - -[[package]] -name = "fsst" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2475ce218217196b161b025598f77e2b405d5e729f7c37bfff145f5df00a41" -dependencies = [ - "arrow-array 56.2.0", - "rand 0.9.2", -] - [[package]] name = "fsst-rs" version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "561f2458a3407836ab8f1acc9113b8cda91b9d6378ba8dad13b2fe1a1d3af5ce" -[[package]] -name = "fst" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a" -dependencies = [ - "utf8-ranges", -] - [[package]] name = "funty" version = "2.0.0" @@ -4084,7 +2267,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4132,20 +2315,6 @@ dependencies = [ "thread_local", ] -[[package]] -name = "generator" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" -dependencies = [ - "cc", - "cfg-if", - "libc", - "log", - "rustversion", - "windows", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -4189,18 +2358,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "goldenfile" version = "1.9.1" @@ -4230,7 +2387,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.3.1", + "http", "indexmap", "slab", "tokio", @@ -4248,7 +2405,7 @@ dependencies = [ "crunchy", "num-traits", "rand 0.9.2", - "rand_distr 0.5.1", + "rand_distr", "zerocopy", ] @@ -4300,69 +2457,22 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" name = "hermit-abi" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" - -[[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 = "home" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "htmlescape" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] -name = "http" -version = "1.3.1" +name = "hex" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" -dependencies = [ - "bytes", - "fnv", - "itoa", -] +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "http-body" -version = "0.4.6" +name = "http" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "http 0.2.12", - "pin-project-lite", + "itoa", ] [[package]] @@ -4372,7 +2482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.3.1", + "http", ] [[package]] @@ -4383,8 +2493,8 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "pin-project-lite", ] @@ -4420,8 +2530,8 @@ dependencies = [ "futures-channel", "futures-core", "h2", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "httparse", "itoa", "pin-project-lite", @@ -4437,7 +2547,7 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.3.1", + "http", "hyper", "hyper-util", "rustls", @@ -4446,42 +2556,30 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", ] [[package]] name = "hyper-util" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ "base64", "bytes", "futures-channel", "futures-core", "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "hyper", "ipnet", "libc", "percent-encoding", "pin-project-lite", "socket2", - "system-configuration", "tokio", "tower-service", "tracing", - "windows-registry", -] - -[[package]] -name = "hyperloglogplus" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "621debdf94dcac33e50475fdd76d34d5ea9c0362a834b9db08c3024696c1fbe3" -dependencies = [ - "serde", ] [[package]] @@ -4556,9 +2654,9 @@ checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -4570,9 +2668,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" @@ -4633,7 +2731,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -4669,21 +2767,11 @@ dependencies = [ "rustversion", ] -[[package]] -name = "inout" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" -dependencies = [ - "block-padding", - "generic-array", -] - [[package]] name = "insta" -version = "1.44.1" +version = "1.44.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8732d3774162a0851e3f2b150eb98f31a9885dd75985099421d393385a01dfd" +checksum = "b5c943d4415edd8153251b6f197de5eb1640e56d84e8d9159bea190421c73698" dependencies = [ "console 0.15.11", "once_cell", @@ -4692,670 +2780,180 @@ dependencies = [ [[package]] name = "instability" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" +checksum = "6778b0196eefee7df739db78758e5cf9b37412268bfa5650bfeed028aed20d9c" dependencies = [ - "darling 0.20.11", + "darling", "indoc", "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - -[[package]] -name = "inventory" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" -dependencies = [ - "rustversion", -] - -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -[[package]] -name = "iri-string" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" - -[[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 = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "java-locator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c46c1fe465c59b1474e665e85e1256c3893dd00927b8d55f63b09044c1e64f" -dependencies = [ - "glob", -] - -[[package]] -name = "jiff" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" -dependencies = [ - "jiff-static", - "jiff-tzdb-platform", - "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", - "windows-sys 0.52.0", -] - -[[package]] -name = "jiff-static" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", -] - -[[package]] -name = "jiff-tzdb" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524" - -[[package]] -name = "jiff-tzdb-platform" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" -dependencies = [ - "jiff-tzdb", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "java-locator", - "jni-sys", - "libloading 0.7.4", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom 0.3.4", - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "jsonb" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a901f06163d352fbe41c3c2ff5e08b75330a003cc941e988fb501022f5421e6" -dependencies = [ - "byteorder", - "ethnum", - "fast-float2", - "itoa", - "jiff", - "nom 8.0.0", - "num-traits", - "ordered-float 5.1.0", - "rand 0.9.2", - "ryu", - "serde", - "serde_json", -] - -[[package]] -name = "jsonwebtoken" -version = "9.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" -dependencies = [ - "base64", - "js-sys", - "pem", - "ring", - "serde", - "serde_json", - "simple_asn1", -] - -[[package]] -name = "kanal" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3953adf0cd667798b396c2fa13552d6d9b3269d7dd1154c4c416442d1ff574" -dependencies = [ - "futures-core", - "lock_api", + "syn 2.0.111", ] [[package]] -name = "lance" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2f0ca022d0424d991933a62d2898864cf5621873962bd84e65e7d1f023f9c36" -dependencies = [ - "arrow 56.2.0", - "arrow-arith 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-ipc 56.2.0", - "arrow-ord 56.2.0", - "arrow-row 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "async-recursion", - "async-trait", - "async_cell", - "aws-credential-types", - "byteorder", - "bytes", - "chrono", - "dashmap", - "datafusion 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-functions 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-physical-plan 50.3.0", - "deepsize", - "either", - "futures", - "half", - "humantime", - "itertools 0.13.0", - "lance-arrow", - "lance-core", - "lance-datafusion", - "lance-encoding", - "lance-file", - "lance-index", - "lance-io", - "lance-linalg", - "lance-namespace", - "lance-table", - "log", - "moka", - "object_store", - "permutation", - "pin-project", - "prost 0.13.5", - "prost-types 0.13.5", - "rand 0.9.2", - "roaring 0.10.12", - "semver", - "serde", - "serde_json", - "snafu", - "tantivy", - "tokio", - "tokio-stream", - "tracing", - "url", - "uuid", -] +name = "integer-encoding" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" [[package]] -name = "lance-arrow" -version = "0.39.0" +name = "inventory" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7552f8d528775bf0ab21e1f75dcb70bdb2a828eeae58024a803b5a4655fd9a11" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-cast 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "bytes", - "getrandom 0.2.16", - "half", - "jsonb", - "num-traits", - "rand 0.9.2", + "rustversion", ] [[package]] -name = "lance-bitpacking" -version = "0.39.0" +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ea14583cc6fa0bb190bcc2d3bc364b0aa545b345702976025f810e4740e8ce" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" dependencies = [ - "arrayref", - "paste", - "seq-macro", + "memchr", + "serde", ] [[package]] -name = "lance-core" -version = "0.39.0" +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itertools" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69c752dedd207384892006c40930f898d6634e05e3d489e89763abfe4b9307e7" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-schema 56.2.0", - "async-trait", - "byteorder", - "bytes", - "chrono", - "datafusion-common 50.3.0", - "datafusion-sql 50.3.0", - "deepsize", - "futures", - "lance-arrow", - "libc", - "log", - "mock_instant", - "moka", - "num_cpus", - "object_store", - "pin-project", - "prost 0.13.5", - "rand 0.9.2", - "roaring 0.10.12", - "serde_json", - "snafu", - "tempfile", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "url", + "either", ] [[package]] -name = "lance-datafusion" -version = "0.39.0" +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e1e98ca6e5cd337bdda2d9fb66063f295c0c2852d2bc6831366fea833ee608" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ - "arrow 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-ord 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "async-trait", - "chrono", - "datafusion 50.3.0", - "datafusion-common 50.3.0", - "datafusion-functions 50.3.0", - "datafusion-physical-expr 50.3.0", - "futures", - "jsonb", - "lance-arrow", - "lance-core", - "lance-datagen", - "log", - "pin-project", - "prost 0.13.5", - "snafu", - "tokio", - "tracing", + "either", ] [[package]] -name = "lance-datagen" -version = "0.39.0" +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "java-locator" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483c643fc2806ed1a2766edf4d180511bbd1d549bcc60373e33f4785c6185891" +checksum = "09c46c1fe465c59b1474e665e85e1256c3893dd00927b8d55f63b09044c1e64f" dependencies = [ - "arrow 56.2.0", - "arrow-array 56.2.0", - "arrow-cast 56.2.0", - "arrow-schema 56.2.0", - "chrono", - "futures", - "half", - "hex", - "rand 0.9.2", - "rand_xoshiro 0.7.0", - "random_word", + "glob", ] [[package]] -name = "lance-encoding" -version = "0.39.0" +name = "jiff" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a199d1fa3487529c5ffc433fbd1721231330b9350c2ff9b0c7b7dbdb98f0806a" +checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" dependencies = [ - "arrow-arith 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-cast 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "bytemuck", - "byteorder", - "bytes", - "fsst", - "futures", - "hex", - "hyperloglogplus", - "itertools 0.13.0", - "lance-arrow", - "lance-bitpacking", - "lance-core", + "jiff-static", + "jiff-tzdb-platform", "log", - "lz4", - "num-traits", - "prost 0.13.5", - "prost-build 0.13.5", - "prost-types 0.13.5", - "rand 0.9.2", - "snafu", - "strum 0.26.3", - "tokio", - "tracing", - "xxhash-rust", - "zstd", + "portable-atomic", + "portable-atomic-util", + "serde_core", + "windows-sys 0.61.2", ] [[package]] -name = "lance-file" -version = "0.39.0" +name = "jiff-static" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b57def2279465232cf5a8cd996300c632442e368745768bbed661c7f0a35334b" +checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" dependencies = [ - "arrow-arith 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "async-recursion", - "async-trait", - "byteorder", - "bytes", - "datafusion-common 50.3.0", - "deepsize", - "futures", - "lance-arrow", - "lance-core", - "lance-encoding", - "lance-io", - "log", - "num-traits", - "object_store", - "prost 0.13.5", - "prost-build 0.13.5", - "prost-types 0.13.5", - "snafu", - "tokio", - "tracing", + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] -name = "lance-index" -version = "0.39.0" +name = "jiff-tzdb" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68971ebff725b9e2ca27a601c5eb38a4c5d64422c4cbab0c535f248087eda5c2" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75938c61e986aef8c615dc44c92e4c19e393160a59e2b57402ccfe08c5e63af" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" dependencies = [ - "arrow 56.2.0", - "arrow-arith 56.2.0", - "arrow-array 56.2.0", - "arrow-ord 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "async-channel", - "async-recursion", - "async-trait", - "bitpacking", - "bitvec", - "bytes", - "crossbeam-queue", - "datafusion 50.3.0", - "datafusion-common 50.3.0", - "datafusion-expr 50.3.0", - "datafusion-physical-expr 50.3.0", - "datafusion-sql 50.3.0", - "deepsize", - "dirs", - "fst", - "futures", - "half", - "itertools 0.13.0", - "jsonb", - "lance-arrow", - "lance-core", - "lance-datafusion", - "lance-datagen", - "lance-encoding", - "lance-file", - "lance-io", - "lance-linalg", - "lance-table", - "libm", - "log", - "ndarray", - "num-traits", - "object_store", - "prost 0.13.5", - "prost-build 0.13.5", - "prost-types 0.13.5", - "rand 0.9.2", - "rand_distr 0.5.1", - "rayon", - "roaring 0.10.12", - "serde", - "serde_json", - "snafu", - "tantivy", - "tempfile", - "tokio", - "tracing", - "twox-hash", - "uuid", + "jiff-tzdb", ] [[package]] -name = "lance-io" -version = "0.39.0" +name = "jni" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6c3b5b28570d6c951206c5b043f1b35c936928af14fca6f2ac25b0097e4c32" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ - "arrow 56.2.0", - "arrow-arith 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-cast 56.2.0", - "arrow-data 56.2.0", - "arrow-schema 56.2.0", - "arrow-select 56.2.0", - "async-recursion", - "async-trait", - "aws-config", - "aws-credential-types", - "byteorder", - "bytes", - "chrono", - "deepsize", - "futures", - "lance-arrow", - "lance-core", - "lance-namespace", + "cesu8", + "cfg-if", + "combine", + "java-locator", + "jni-sys", + "libloading 0.7.4", "log", - "object_store", - "object_store_opendal", - "opendal", - "path_abs", - "pin-project", - "prost 0.13.5", - "rand 0.9.2", - "serde", - "shellexpand", - "snafu", - "tokio", - "tracing", - "url", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", ] [[package]] -name = "lance-linalg" -version = "0.39.0" +name = "jni-sys" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3cbc7e85a89ff9cb3a4627559dea3fd1c1fb16c0d8bc46ede75eefef51eec06" -dependencies = [ - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-schema 56.2.0", - "cc", - "deepsize", - "half", - "lance-arrow", - "lance-core", - "num-traits", - "rand 0.9.2", -] +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] -name = "lance-namespace" -version = "0.39.0" +name = "jobserver" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897dd6726816515bb70a698ce7cda44670dca5761637696d7905b45f405a8cd9" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "arrow 56.2.0", - "async-trait", - "bytes", - "lance-core", - "lance-namespace-reqwest-client", - "snafu", + "getrandom 0.3.4", + "libc", ] [[package]] -name = "lance-namespace-reqwest-client" -version = "0.0.18" +name = "js-sys" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea349999bcda4eea53fc05d334b3775ec314761e6a706555c777d7a29b18d19" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ - "reqwest", - "serde", - "serde_json", - "serde_repr", - "url", + "once_cell", + "wasm-bindgen", ] [[package]] -name = "lance-table" -version = "0.39.0" +name = "kanal" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8facc13760ba034b6c38767b16adba85e44cbcbea8124dc0c63c43865c60630" +checksum = "9e3953adf0cd667798b396c2fa13552d6d9b3269d7dd1154c4c416442d1ff574" dependencies = [ - "arrow 56.2.0", - "arrow-array 56.2.0", - "arrow-buffer 56.2.0", - "arrow-ipc 56.2.0", - "arrow-schema 56.2.0", - "async-trait", - "byteorder", - "bytes", - "chrono", - "deepsize", - "futures", - "lance-arrow", - "lance-core", - "lance-file", - "lance-io", - "log", - "object_store", - "prost 0.13.5", - "prost-build 0.13.5", - "prost-types 0.13.5", - "rand 0.9.2", - "rangemap", - "roaring 0.10.12", - "semver", - "serde", - "serde_json", - "snafu", - "tokio", - "tracing", - "url", - "uuid", + "futures-core", + "lock_api", ] [[package]] @@ -5363,9 +2961,6 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] [[package]] name = "lending-iterator" @@ -5392,12 +2987,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "levenshtein_automata" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" - [[package]] name = "lexical-core" version = "1.0.6" @@ -5455,17 +3044,11 @@ dependencies = [ "lexical-util", ] -[[package]] -name = "libbz2-rs-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" - [[package]] name = "libc" -version = "0.2.177" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libfuzzer-sys" @@ -5494,7 +3077,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -5513,22 +3096,11 @@ dependencies = [ "libc", ] -[[package]] -name = "libredox" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" -dependencies = [ - "bitflags", - "libc", - "redox_syscall", -] - [[package]] name = "libz-rs-sys" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" +checksum = "15413ef615ad868d4d65dce091cb233b229419c7c0c4bcaa746c0901c49ff39c" dependencies = [ "zlib-rs", ] @@ -5581,19 +3153,6 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" -[[package]] -name = "loom" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", -] - [[package]] name = "lru" version = "0.12.5" @@ -5610,41 +3169,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] -name = "lz4" -version = "1.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" -dependencies = [ - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "lz4_flex" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" -dependencies = [ - "twox-hash", -] - -[[package]] -name = "lzma-rust2" -version = "0.13.0" +name = "lz4_flex" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c60a23ffb90d527e23192f1246b14746e2f7f071cb84476dd879071696c18a4a" +checksum = "ab6473172471198271ff72e9379150e9dfd70d8e533e0752a27e515b48dd375e" dependencies = [ - "crc", - "sha2", + "twox-hash", ] [[package]] @@ -5663,28 +3193,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d" -[[package]] -name = "matchers" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matrixmultiply" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" -dependencies = [ - "autocfg", - "num_cpus", - "once_cell", - "rawpointer", - "thread-tree", -] - [[package]] name = "md-5" version = "0.10.6" @@ -5695,15 +3203,6 @@ dependencies = [ "digest", ] -[[package]] -name = "measure_time" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51c55d61e72fc3ab704396c5fa16f4c184db37978ae4e94ca8959693a235fc0e" -dependencies = [ - "log", -] - [[package]] name = "memchr" version = "2.7.6" @@ -5737,28 +3236,6 @@ dependencies = [ "libmimalloc-sys", ] -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.8.9" @@ -5771,9 +3248,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "log", @@ -5781,12 +3258,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "mock_instant" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce6dd36094cac388f119d2e9dc82dc730ef91c32a6222170d630e5414b956e6" - [[package]] name = "moka" version = "0.12.11" @@ -5832,31 +3303,10 @@ checksum = "b093064383341eb3271f42e381cb8f10a01459478446953953c75d24bd339fc0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "target-features", ] -[[package]] -name = "murmurhash32" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" - -[[package]] -name = "ndarray" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" -dependencies = [ - "matrixmultiply", - "num-complex", - "num-integer", - "num-traits", - "portable-atomic", - "portable-atomic-util", - "rawpointer", -] - [[package]] name = "never-say-never" version = "6.6.666" @@ -5875,94 +3325,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nom" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" -dependencies = [ - "memchr", -] - -[[package]] -name = "noodles-bgzf" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab0c2585bad37cfc51a55f29c85449400ac51aaade935049d5d9fc5f8add255" -dependencies = [ - "bytes", - "crossbeam-channel", - "flate2", - "futures", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "noodles-core" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ebfc6396fb51059c98a35bb81b96422ac41ea1bc60b6c8e9c6b2550212e9493" -dependencies = [ - "bstr", -] - -[[package]] -name = "noodles-csi" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d09e31153abd7996f22a50d70f43af6c2ebf96a44ee250326ed15d4e183744c9" -dependencies = [ - "bit-vec", - "bstr", - "indexmap", - "noodles-bgzf", - "noodles-core", -] - -[[package]] -name = "noodles-tabix" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd8ed06bbf341ce64649717ce0fa1723bf60547eb7d61bd271b79130016dfa4" -dependencies = [ - "bstr", - "indexmap", - "noodles-bgzf", - "noodles-core", - "noodles-csi", - "tokio", -] - -[[package]] -name = "noodles-vcf" -version = "0.82.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d46b26eb1873883e5e6b738c75d4e44c9e1edcc1c6454fc5c25b56202e510bc" -dependencies = [ - "futures", - "indexmap", - "memchr", - "noodles-bgzf", - "noodles-core", - "noodles-csi", - "noodles-tabix", - "percent-encoding", - "pin-project-lite", - "tokio", -] - [[package]] name = "nougat" version = "0.2.4" @@ -5984,36 +3346,13 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - [[package]] name = "nu-ansi-term" version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.60.2", -] - -[[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", + "windows-sys 0.61.2", ] [[package]] @@ -6026,22 +3365,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-bigint-dig" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" -dependencies = [ - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - [[package]] name = "num-complex" version = "0.4.6" @@ -6066,28 +3389,6 @@ 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" @@ -6098,16 +3399,6 @@ dependencies = [ "libm", ] -[[package]] -name = "num_cpus" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_enum" version = "0.7.5" @@ -6126,7 +3417,7 @@ checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -6138,25 +3429,6 @@ dependencies = [ "libc", ] -[[package]] -name = "objc2-core-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags", -] - -[[package]] -name = "objc2-io-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" -dependencies = [ - "libc", - "objc2-core-foundation", -] - [[package]] name = "object_store" version = "0.12.4" @@ -6169,7 +3441,7 @@ dependencies = [ "chrono", "form_urlencoded", "futures", - "http 1.3.1", + "http", "http-body-util", "httparse", "humantime", @@ -6178,7 +3450,7 @@ dependencies = [ "md-5", "parking_lot", "percent-encoding", - "quick-xml 0.38.4", + "quick-xml", "rand 0.9.2", "reqwest", "ring", @@ -6195,21 +3467,6 @@ dependencies = [ "web-time", ] -[[package]] -name = "object_store_opendal" -version = "0.54.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b88fc0e0c4890c1d99e2b8c519c5db40f7d9b69a0f562ff1ad4967a4c8bbc6" -dependencies = [ - "async-trait", - "bytes", - "futures", - "object_store", - "opendal", - "pin-project", - "tokio", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -6223,126 +3480,19 @@ dependencies = [ name = "once_cell_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" - -[[package]] -name = "oneshot" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ce411919553d3f9fa53a0880544cda985a112117a0444d5ff1e870a893d6ea" - -[[package]] -name = "opendal" -version = "0.54.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42afda58fa2cf50914402d132cc1caacff116a85d10c72ab2082bb7c50021754" -dependencies = [ - "anyhow", - "backon", - "base64", - "bytes", - "chrono", - "crc32c", - "futures", - "getrandom 0.2.16", - "http 1.3.1", - "http-body 1.0.1", - "log", - "md-5", - "percent-encoding", - "quick-xml 0.38.4", - "reqsign", - "reqwest", - "serde", - "serde_json", - "sha2", - "tokio", - "uuid", -] - -[[package]] -name = "openssl-probe" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" - -[[package]] -name = "opentelemetry" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" -dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "pin-project-lite", - "thiserror 2.0.17", - "tracing", -] - -[[package]] -name = "opentelemetry-http" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" -dependencies = [ - "async-trait", - "bytes", - "http 1.3.1", - "opentelemetry", - "reqwest", -] - -[[package]] -name = "opentelemetry-otlp" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2366db2dca4d2ad033cad11e6ee42844fd727007af5ad04a1730f4cb8163bf" -dependencies = [ - "http 1.3.1", - "opentelemetry", - "opentelemetry-http", - "opentelemetry-proto", - "opentelemetry_sdk", - "prost 0.14.1", - "reqwest", - "thiserror 2.0.17", - "tracing", -] - -[[package]] -name = "opentelemetry-proto" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" -dependencies = [ - "opentelemetry", - "opentelemetry_sdk", - "prost 0.14.1", - "tonic", - "tonic-prost", -] +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] -name = "opentelemetry_sdk" -version = "0.31.0" +name = "oneshot" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd" -dependencies = [ - "futures-channel", - "futures-executor", - "futures-util", - "opentelemetry", - "percent-encoding", - "rand 0.9.2", - "thiserror 2.0.17", -] +checksum = "b4ce411919553d3f9fa53a0880544cda985a112117a0444d5ff1e870a893d6ea" [[package]] -name = "option-ext" -version = "0.2.0" +name = "openssl-probe" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "ordered-float" @@ -6362,31 +3512,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "ordered-multimap" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" -dependencies = [ - "dlv-list", - "hashbrown 0.14.5", -] - -[[package]] -name = "outref" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" - -[[package]] -name = "ownedbytes" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fbd56f7631767e61784dc43f8580f403f4475bd4aaa4da003e6295e1bab4a7e" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "papergrid" version = "0.17.0" @@ -6423,7 +3548,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -6452,23 +3577,23 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link 0.2.1", + "windows-link", ] [[package]] name = "parquet" -version = "57.0.0" +version = "57.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a0f31027ef1af7549f7cec603a9a21dce706d3f8d7c2060a68f43c1773be95a" +checksum = "be3e4f6d320dd92bfa7d612e265d7d08bba0a240bab86af3425e1d255a511d89" dependencies = [ "ahash", - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-cast 57.0.0", - "arrow-data 57.0.0", - "arrow-ipc 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-ipc", + "arrow-schema", + "arrow-select", "base64", "brotli", "bytes", @@ -6481,7 +3606,6 @@ dependencies = [ "num-bigint", "num-integer", "num-traits", - "object_store", "paste", "seq-macro", "simdutf8", @@ -6498,28 +3622,6 @@ 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 = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest", - "hmac", -] - [[package]] name = "pco" version = "0.4.7" @@ -6529,26 +3631,7 @@ dependencies = [ "better_io", "dtype_dispatch", "half", - "rand_xoshiro 0.6.0", -] - -[[package]] -name = "pem" -version = "3.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" -dependencies = [ - "base64", - "serde_core", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", + "rand_xoshiro", ] [[package]] @@ -6557,12 +3640,6 @@ version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" -[[package]] -name = "permutation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df202b0b0f5b8e389955afd5f27b007b00fb948162953f1db9c70d2c7e3157d7" - [[package]] name = "petgraph" version = "0.7.1" @@ -6603,26 +3680,6 @@ dependencies = [ "siphasher", ] -[[package]] -name = "pin-project" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "pin-project-lite" version = "0.2.16" @@ -6646,44 +3703,6 @@ dependencies = [ "futures-io", ] -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - -[[package]] -name = "pkcs5" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" -dependencies = [ - "aes", - "cbc", - "der", - "pbkdf2", - "scrypt", - "sha2", - "spki", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "pkcs5", - "rand_core 0.6.4", - "spki", -] - [[package]] name = "pkg-config" version = "0.3.32" @@ -6740,12 +3759,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -[[package]] -name = "ppmd-rust" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d558c559f0450f16f2a27a1f017ef38468c1090c9ce63c8e51366232d53717b4" - [[package]] name = "ppv-lite86" version = "0.2.21" @@ -6762,7 +3775,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -6794,26 +3807,6 @@ 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 0.12.6", -] - -[[package]] -name = "prost" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" -dependencies = [ - "bytes", - "prost-derive 0.13.5", -] - [[package]] name = "prost" version = "0.14.1" @@ -6821,27 +3814,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", - "prost-derive 0.14.1", -] - -[[package]] -name = "prost-build" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" -dependencies = [ - "heck", - "itertools 0.14.0", - "log", - "multimap", - "once_cell", - "petgraph 0.7.1", - "prettyplease", - "prost 0.13.5", - "prost-types 0.13.5", - "regex", - "syn 2.0.110", - "tempfile", + "prost-derive", ] [[package]] @@ -6857,39 +3830,13 @@ dependencies = [ "once_cell", "petgraph 0.7.1", "prettyplease", - "prost 0.14.1", - "prost-types 0.14.1", + "prost", + "prost-types", "regex", - "syn 2.0.110", + "syn 2.0.111", "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.110", -] - -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "prost-derive" version = "0.14.1" @@ -6900,16 +3847,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "prost-types" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" -dependencies = [ - "prost 0.13.5", + "syn 2.0.111", ] [[package]] @@ -6918,7 +3856,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ - "prost 0.14.1", + "prost", ] [[package]] @@ -6987,7 +3925,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -7000,17 +3938,7 @@ dependencies = [ "proc-macro2", "pyo3-build-config", "quote", - "syn 2.0.110", -] - -[[package]] -name = "quick-xml" -version = "0.37.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" -dependencies = [ - "memchr", - "serde", + "syn 2.0.111", ] [[package]] @@ -7075,7 +4003,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -7158,16 +4086,6 @@ dependencies = [ "getrandom 0.3.4", ] -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - [[package]] name = "rand_distr" version = "0.5.1" @@ -7187,34 +4105,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "rand_xoshiro" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" -dependencies = [ - "rand_core 0.9.3", -] - -[[package]] -name = "random_word" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e47a395bdb55442b883c89062d6bcff25dc90fa5f8369af81e0ac6d49d78cf81" -dependencies = [ - "ahash", - "brotli", - "paste", - "rand 0.9.2", - "unicase", -] - -[[package]] -name = "rangemap" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbbbbea733ec66275512d0b9694f34102e7d5406fdbe2ad8d21b28dce92887c" - [[package]] name = "ratatui" version = "0.29.0" @@ -7236,32 +4126,6 @@ dependencies = [ "unicode-width 0.2.0", ] -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rayon" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "redox_syscall" version = "0.5.18" @@ -7271,17 +4135,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.16", - "libredox", - "thiserror 2.0.17", -] - [[package]] name = "regex" version = "1.12.2" @@ -7323,62 +4176,25 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" -[[package]] -name = "reqsign" -version = "0.16.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43451dbf3590a7590684c25fb8d12ecdcc90ed3ac123433e500447c7d77ed701" -dependencies = [ - "anyhow", - "async-trait", - "base64", - "chrono", - "form_urlencoded", - "getrandom 0.2.16", - "hex", - "hmac", - "home", - "http 1.3.1", - "jsonwebtoken", - "log", - "once_cell", - "percent-encoding", - "quick-xml 0.37.5", - "rand 0.8.5", - "reqwest", - "rsa", - "rust-ini", - "serde", - "serde_json", - "sha1", - "sha2", - "tokio", -] - [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "b6eff9328d40131d43bd911d42d79eb6a47312002a4daefc9e37f17e74a7701a" dependencies = [ - "async-compression", "base64", "bytes", - "encoding_rs", - "futures-channel", "futures-core", "futures-util", "h2", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "hyper", "hyper-rustls", "hyper-util", "js-sys", "log", - "mime", - "mime_guess", "percent-encoding", "pin-project-lite", "quinn", @@ -7400,7 +4216,6 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", ] [[package]] @@ -7411,20 +4226,10 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.16", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "roaring" -version = "0.10.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e8d2cfa184d94d0726d650a9f4a1be7f9b76ac9fdb954219878dc00c1c1e7b" -dependencies = [ - "bytemuck", - "byteorder", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", ] [[package]] @@ -7437,27 +4242,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "rsa" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "sha2", - "signature", - "spki", - "subtle", - "zeroize", -] - [[package]] name = "rstest" version = "0.26.1" @@ -7483,7 +4267,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.110", + "syn 2.0.111", "unicode-ident", ] @@ -7495,27 +4279,7 @@ checksum = "b3a8fb4672e840a587a66fc577a5491375df51ddb88f2a2c2a792598c326fe14" dependencies = [ "quote", "rand 0.8.5", - "syn 2.0.110", -] - -[[package]] -name = "rust-ini" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" -dependencies = [ - "cfg-if", - "ordered-multimap", -] - -[[package]] -name = "rust-stemmers" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" -dependencies = [ - "serde", - "serde_derive", + "syn 2.0.111", ] [[package]] @@ -7549,7 +4313,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7562,7 +4326,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7571,7 +4335,6 @@ version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ - "aws-lc-rs", "once_cell", "ring", "rustls-pki-types", @@ -7603,9 +4366,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" dependencies = [ "web-time", "zeroize", @@ -7617,7 +4380,6 @@ version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ - "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -7635,15 +4397,6 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - [[package]] name = "same-file" version = "1.0.6" @@ -7662,12 +4415,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - [[package]] name = "scopeguard" version = "1.2.0" @@ -7680,17 +4427,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2" -[[package]] -name = "scrypt" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" -dependencies = [ - "pbkdf2", - "salsa20", - "sha2", -] - [[package]] name = "security-framework" version = "3.5.1" @@ -7698,7 +4434,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ "bitflags", - "core-foundation 0.10.1", + "core-foundation", "core-foundation-sys", "libc", "security-framework-sys", @@ -7763,7 +4499,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -7779,17 +4515,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "serde_repr" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "serde_spanned" version = "1.0.3" @@ -7820,28 +4545,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - [[package]] name = "sharded-slab" version = "0.1.7" @@ -7851,15 +4554,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shellexpand" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b1fdf65dd6331831494dd616b30351c38e96e45921a27745cf98490458b90bb" -dependencies = [ - "dirs", -] - [[package]] name = "shlex" version = "1.3.0" @@ -7896,21 +4590,11 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] - [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simdutf8" @@ -7938,18 +4622,6 @@ dependencies = [ "similar", ] -[[package]] -name = "simple_asn1" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" -dependencies = [ - "num-bigint", - "num-traits", - "thiserror 2.0.17", - "time", -] - [[package]] name = "simplelog" version = "0.12.2" @@ -7972,9 +4644,6 @@ name = "sketches-ddsketch" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" -dependencies = [ - "serde", -] [[package]] name = "slab" @@ -7984,9 +4653,9 @@ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "slotmap" -version = "1.0.7" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" dependencies = [ "version_check", ] @@ -8014,27 +4683,6 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "snafu" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e84b3f4eacbf3a1ce05eac6763b4d629d60cbc94d632e4092c54ade71f1e1a2" -dependencies = [ - "snafu-derive", -] - -[[package]] -name = "snafu-derive" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "snap" version = "1.1.1" @@ -8051,32 +4699,6 @@ dependencies = [ "windows-sys 0.60.2", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "sqlparser" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4b661c54b1e4b603b37873a18c59920e4c51ea8ea2cf527d925424dbd4437c" -dependencies = [ - "log", - "sqlparser_derive", -] - [[package]] name = "sqlparser" version = "0.59.0" @@ -8095,7 +4717,7 @@ checksum = "da5fc6819faabb412da764b99d3b713bb55083c11e7e0c00144d386cd6a1939c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -8120,18 +4742,6 @@ dependencies = [ "num-traits", ] -[[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" @@ -8166,7 +4776,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -8178,7 +4788,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -8200,9 +4810,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.110" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -8226,42 +4836,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "sysinfo" -version = "0.37.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" -dependencies = [ - "libc", - "memchr", - "ntapi", - "objc2-core-foundation", - "objc2-io-kit", - "windows", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags", - "core-foundation 0.9.4", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", + "syn 2.0.111", ] [[package]] @@ -8280,169 +4855,23 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41ba83ebaf2954d31d05d67340fd46cebe99da2b7133b0dd68d70c65473a437b" dependencies = [ - "arrayvec", - "grid", - "serde", - "slotmap", -] - -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - -[[package]] -name = "take_mut" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" - -[[package]] -name = "tantivy" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a966cb0e76e311f09cf18507c9af192f15d34886ee43d7ba7c7e3803660c43" -dependencies = [ - "aho-corasick", - "arc-swap", - "base64", - "bitpacking", - "bon", - "byteorder", - "census", - "crc32fast", - "crossbeam-channel", - "downcast-rs", - "fastdivide", - "fnv", - "fs4", - "htmlescape", - "hyperloglogplus", - "itertools 0.14.0", - "levenshtein_automata", - "log", - "lru", - "lz4_flex", - "measure_time", - "memmap2", - "once_cell", - "oneshot", - "rayon", - "regex", - "rust-stemmers", - "rustc-hash", - "serde", - "serde_json", - "sketches-ddsketch", - "smallvec", - "tantivy-bitpacker", - "tantivy-columnar", - "tantivy-common", - "tantivy-fst", - "tantivy-query-grammar", - "tantivy-stacker", - "tantivy-tokenizer-api", - "tempfile", - "thiserror 2.0.17", - "time", - "uuid", - "winapi", -] - -[[package]] -name = "tantivy-bitpacker" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adc286a39e089ae9938935cd488d7d34f14502544a36607effd2239ff0e2494" -dependencies = [ - "bitpacking", -] - -[[package]] -name = "tantivy-columnar" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6300428e0c104c4f7db6f95b466a6f5c1b9aece094ec57cdd365337908dc7344" -dependencies = [ - "downcast-rs", - "fastdivide", - "itertools 0.14.0", - "serde", - "tantivy-bitpacker", - "tantivy-common", - "tantivy-sstable", - "tantivy-stacker", -] - -[[package]] -name = "tantivy-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b6ea6090ce03dc72c27d0619e77185d26cc3b20775966c346c6d4f7e99d7f" -dependencies = [ - "async-trait", - "byteorder", - "ownedbytes", - "serde", - "time", -] - -[[package]] -name = "tantivy-fst" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18" -dependencies = [ - "byteorder", - "regex-syntax", - "utf8-ranges", -] - -[[package]] -name = "tantivy-query-grammar" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e810cdeeebca57fc3f7bfec5f85fdbea9031b2ac9b990eb5ff49b371d52bbe6a" -dependencies = [ - "nom 7.1.3", - "serde", - "serde_json", -] - -[[package]] -name = "tantivy-sstable" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709f22c08a4c90e1b36711c1c6cad5ae21b20b093e535b69b18783dd2cb99416" -dependencies = [ - "futures-util", - "itertools 0.14.0", - "tantivy-bitpacker", - "tantivy-common", - "tantivy-fst", - "zstd", + "arrayvec", + "grid", + "serde", + "slotmap", ] [[package]] -name = "tantivy-stacker" -version = "0.5.0" +name = "tagptr" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bcdebb267671311d1e8891fd9d1301803fdb8ad21ba22e0a30d0cab49ba59c1" -dependencies = [ - "murmurhash32", - "rand_distr 0.4.3", - "tantivy-common", -] +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" [[package]] -name = "tantivy-tokenizer-api" -version = "0.5.0" +name = "take_mut" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa942fcee81e213e09715bbce8734ae2180070b97b33839a795ba1de201547d" -dependencies = [ - "serde", -] +checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" [[package]] name = "tap" @@ -8450,17 +4879,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "tar" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" -dependencies = [ - "filetime", - "libc", - "xattr", -] - [[package]] name = "target-features" version = "0.1.6" @@ -8483,7 +4901,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -8546,7 +4964,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -8557,26 +4975,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "thread-id" -version = "4.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "thread-tree" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbd370cb847953a25954d9f63e14824a36113f8c72eecf6eccef5dc4b45d630" -dependencies = [ - "crossbeam-channel", + "syn 2.0.111", ] [[package]] @@ -8691,7 +5090,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -8754,9 +5153,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.23.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832" dependencies = [ "indexmap", "toml_datetime", @@ -8779,38 +5178,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" -[[package]] -name = "tonic" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" -dependencies = [ - "async-trait", - "base64", - "bytes", - "http 1.3.1", - "http-body 1.0.1", - "http-body-util", - "percent-encoding", - "pin-project", - "sync_wrapper", - "tokio-stream", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tonic-prost" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" -dependencies = [ - "bytes", - "prost 0.14.1", - "tonic", -] - [[package]] name = "tower" version = "0.5.2" @@ -8828,15 +5195,15 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags", "bytes", "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "iri-string", "pin-project-lite", "tower", @@ -8856,20 +5223,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" -[[package]] -name = "tpchgen" -version = "2.0.1" -source = "git+https://github.com/clflushopt/tpchgen-rs.git?rev=c38f69b0dc84c4b7edfad349d1a9cd1a134b8018#c38f69b0dc84c4b7edfad349d1a9cd1a134b8018" - -[[package]] -name = "tpchgen-arrow" -version = "2.0.1" -source = "git+https://github.com/clflushopt/tpchgen-rs.git?rev=c38f69b0dc84c4b7edfad349d1a9cd1a134b8018#c38f69b0dc84c4b7edfad349d1a9cd1a134b8018" -dependencies = [ - "arrow 57.0.0", - "tpchgen", -] - [[package]] name = "tracing" version = "0.1.43" @@ -8889,7 +5242,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -8913,36 +5266,16 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-perfetto" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf599f51530a7211f5aa92c84abdfc1137362d471f0473a4b1be8d625167fb0d" -dependencies = [ - "anyhow", - "bytes", - "chrono", - "prost 0.12.6", - "rand 0.8.5", - "thread-id", - "tracing", - "tracing-subscriber", -] - [[package]] name = "tracing-subscriber" version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ - "matchers", "nu-ansi-term", - "once_cell", - "regex-automata", "sharded-slab", "smallvec", "thread_local", - "tracing", "tracing-core", "tracing-log", ] @@ -8958,15 +5291,6 @@ name = "twox-hash" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" -dependencies = [ - "rand 0.9.2", -] - -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" @@ -8987,12 +5311,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "unicase" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" - [[package]] name = "unicode-ident" version = "1.0.22" @@ -9064,18 +5382,6 @@ dependencies = [ "serde", ] -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "utf8-ranges" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -9090,13 +5396,12 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ "getrandom 0.3.4", "js-sys", - "serde", "wasm-bindgen", ] @@ -9117,7 +5422,7 @@ name = "vortex" version = "0.1.0" dependencies = [ "anyhow", - "arrow-array 57.0.0", + "arrow-array", "codspeed-divan-compat", "fastlanes", "itertools 0.14.0", @@ -9167,7 +5472,7 @@ dependencies = [ "codspeed-divan-compat", "itertools 0.14.0", "num-traits", - "prost 0.14.1", + "prost", "rand 0.9.2", "rstest", "rustc-hash", @@ -9189,15 +5494,15 @@ version = "0.1.0" dependencies = [ "arbitrary", "arcref", - "arrow-arith 57.0.0", - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-cast 57.0.0", - "arrow-data 57.0.0", - "arrow-ord 57.0.0", - "arrow-schema 57.0.0", - "arrow-select 57.0.0", - "arrow-string 57.0.0", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-ord", + "arrow-schema", + "arrow-select", + "arrow-string", "async-trait", "bitvec", "cfg-if", @@ -9219,7 +5524,7 @@ dependencies = [ "parking_lot", "paste", "pin-project-lite", - "prost 0.14.1", + "prost", "rand 0.9.2", "rstest", "rstest_reuse", @@ -9280,7 +5585,7 @@ dependencies = [ name = "vortex-buffer" version = "0.1.0" dependencies = [ - "arrow-buffer 57.0.0", + "arrow-buffer", "bitvec", "bytes", "codspeed-divan-compat", @@ -9314,9 +5619,9 @@ dependencies = [ name = "vortex-compute" version = "0.1.0" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-buffer", + "arrow-schema", "codspeed-divan-compat", "log", "multiversion", @@ -9334,8 +5639,8 @@ name = "vortex-cxx" version = "0.1.0" dependencies = [ "anyhow", - "arrow-array 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-schema", "async-fs", "cxx", "cxx-build", @@ -9350,22 +5655,22 @@ name = "vortex-datafusion" version = "0.1.0" dependencies = [ "anyhow", - "arrow-schema 57.0.0", + "arrow-schema", "async-trait", "chrono", - "datafusion 51.0.0", - "datafusion-catalog 51.0.0", - "datafusion-common 51.0.0", - "datafusion-common-runtime 51.0.0", - "datafusion-datasource 51.0.0", - "datafusion-execution 51.0.0", - "datafusion-expr 51.0.0", - "datafusion-functions 51.0.0", - "datafusion-physical-expr 51.0.0", - "datafusion-physical-expr-adapter 51.0.0", - "datafusion-physical-expr-common 51.0.0", - "datafusion-physical-plan 51.0.0", - "datafusion-pruning 51.0.0", + "datafusion", + "datafusion-catalog", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-functions", + "datafusion-physical-expr", + "datafusion-physical-expr-adapter", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-pruning", "futures", "insta", "itertools 0.14.0", @@ -9377,6 +5682,7 @@ dependencies = [ "tokio", "tokio-stream", "tracing", + "url", "vortex", "vortex-utils", "walkdir", @@ -9387,7 +5693,7 @@ name = "vortex-datetime-parts" version = "0.1.0" dependencies = [ "num-traits", - "prost 0.14.1", + "prost", "rstest", "vortex-array", "vortex-buffer", @@ -9403,7 +5709,7 @@ version = "0.1.0" dependencies = [ "itertools 0.14.0", "num-traits", - "prost 0.14.1", + "prost", "rstest", "vortex-array", "vortex-buffer", @@ -9418,8 +5724,8 @@ name = "vortex-dtype" version = "0.1.0" dependencies = [ "arbitrary", - "arrow-buffer 57.0.0", - "arrow-schema 57.0.0", + "arrow-buffer", + "arrow-schema", "flatbuffers", "half", "insta", @@ -9429,7 +5735,7 @@ dependencies = [ "num_enum", "paste", "primitive-types", - "prost 0.14.1", + "prost", "rstest", "serde", "serde_json", @@ -9442,49 +5748,15 @@ dependencies = [ "vortex-utils", ] -[[package]] -name = "vortex-duckdb" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-compat", - "async-fs", - "bindgen", - "bitvec", - "cbindgen", - "cc", - "futures", - "glob", - "itertools 0.14.0", - "jiff", - "log", - "num-traits", - "object_store", - "once_cell", - "parking_lot", - "paste", - "reqwest", - "rstest", - "tempfile", - "url", - "vortex", - "vortex-runend", - "vortex-sequence", - "vortex-utils", - "vortex-vector", - "walkdir", - "zip", -] - [[package]] name = "vortex-error" version = "0.1.0" dependencies = [ - "arrow-schema 57.0.0", + "arrow-schema", "flatbuffers", "jiff", "object_store", - "prost 0.14.1", + "prost", "pyo3", "serde_json", "tokio", @@ -9496,7 +5768,7 @@ name = "vortex-fastlanes" version = "0.1.0" dependencies = [ "arrayref", - "arrow-buffer 57.0.0", + "arrow-buffer", "codspeed-divan-compat", "fastlanes", "itertools 0.14.0", @@ -9504,7 +5776,7 @@ dependencies = [ "log", "mimalloc", "num-traits", - "prost 0.14.1", + "prost", "rand 0.9.2", "rstest", "static_assertions", @@ -9536,7 +5808,7 @@ dependencies = [ "object_store", "parking_lot", "paste", - "prost 0.14.1", + "prost", "simplelog", "tempfile", "url", @@ -9601,7 +5873,7 @@ dependencies = [ "codspeed-divan-compat", "fsst-rs", "itertools 0.14.0", - "prost 0.14.1", + "prost", "rand 0.9.2", "rstest", "vortex-array", @@ -9691,15 +5963,15 @@ dependencies = [ name = "vortex-jni" version = "0.1.0" dependencies = [ - "arrow-array 57.0.0", - "arrow-ipc 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-ipc", + "arrow-schema", "futures", "jni", "log", "object_store", "parking_lot", - "prost 0.14.1", + "prost", "simplelog", "thiserror 2.0.17", "tokio", @@ -9712,7 +5984,7 @@ name = "vortex-layout" version = "0.1.0" dependencies = [ "arcref", - "arrow-buffer 57.0.0", + "arrow-buffer", "async-stream", "async-trait", "flatbuffers", @@ -9727,7 +5999,7 @@ dependencies = [ "paste", "pco", "pin-project-lite", - "prost 0.14.1", + "prost", "rstest", "rustc-hash", "termtree", @@ -9780,7 +6052,7 @@ dependencies = [ "itertools 0.14.0", "mimalloc", "pco", - "prost 0.14.1", + "prost", "rand 0.9.2", "rstest", "vortex-array", @@ -9797,17 +6069,17 @@ dependencies = [ name = "vortex-proto" version = "0.1.0" dependencies = [ - "prost 0.14.1", - "prost-types 0.14.1", + "prost", + "prost-types", ] [[package]] name = "vortex-python" version = "0.1.0" dependencies = [ - "arrow-array 57.0.0", - "arrow-data 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-data", + "arrow-schema", "bytes", "itertools 0.14.0", "log", @@ -9826,12 +6098,12 @@ dependencies = [ name = "vortex-runend" version = "0.1.0" dependencies = [ - "arrow-array 57.0.0", - "arrow-buffer 57.0.0", + "arrow-array", + "arrow-buffer", "codspeed-divan-compat", "itertools 0.14.0", "num-traits", - "prost 0.14.1", + "prost", "rand 0.9.2", "rstest", "vortex-array", @@ -9847,12 +6119,12 @@ name = "vortex-scalar" version = "0.1.0" dependencies = [ "arbitrary", - "arrow-array 57.0.0", + "arrow-array", "bytes", "itertools 0.14.0", "num-traits", "paste", - "prost 0.14.1", + "prost", "rstest", "vortex-buffer", "vortex-dtype", @@ -9867,14 +6139,14 @@ dependencies = [ name = "vortex-scan" version = "0.1.0" dependencies = [ - "arrow-array 57.0.0", - "arrow-schema 57.0.0", + "arrow-array", + "arrow-schema", "bit-vec", "futures", "itertools 0.14.0", "log", "parking_lot", - "roaring 0.11.2", + "roaring", "sketches-ddsketch", "tokio", "vortex-array", @@ -9894,7 +6166,7 @@ version = "0.1.0" dependencies = [ "itertools 0.14.0", "num-traits", - "prost 0.14.1", + "prost", "rstest", "tokio", "vortex-array", @@ -9925,7 +6197,7 @@ version = "0.1.0" dependencies = [ "itertools 0.14.0", "num-traits", - "prost 0.14.1", + "prost", "rstest", "vortex-array", "vortex-buffer", @@ -9999,7 +6271,7 @@ version = "0.1.0" dependencies = [ "codspeed-divan-compat", "itertools 0.14.0", - "prost 0.14.1", + "prost", "rstest", "vortex-array", "vortex-buffer", @@ -10012,12 +6284,6 @@ dependencies = [ "zstd", ] -[[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" @@ -10054,9 +6320,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -10067,9 +6333,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.55" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ "cfg-if", "js-sys", @@ -10080,9 +6346,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -10090,22 +6356,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -10125,9 +6391,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -10143,15 +6409,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki-roots" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "winapi" version = "0.3.9" @@ -10174,7 +6431,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -10183,50 +6440,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections", - "windows-core", - "windows-future", - "windows-link 0.1.3", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core", -] - [[package]] name = "windows-core" -version = "0.61.2" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core", - "windows-link 0.1.3", - "windows-threading", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] @@ -10237,7 +6461,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -10248,67 +6472,22 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core", - "windows-link 0.1.3", -] - -[[package]] -name = "windows-registry" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" -dependencies = [ - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - [[package]] name = "windows-result" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -10317,7 +6496,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -10362,7 +6541,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -10402,7 +6581,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -10413,15 +6592,6 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -10562,9 +6732,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -10603,22 +6773,6 @@ dependencies = [ "tap", ] -[[package]] -name = "xattr" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" -dependencies = [ - "libc", - "rustix 1.1.2", -] - -[[package]] -name = "xmlparser" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" - [[package]] name = "xshell" version = "0.2.7" @@ -10640,16 +6794,10 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", - "prost-build 0.14.1", + "prost-build", "xshell", ] -[[package]] -name = "xxhash-rust" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" - [[package]] name = "yansi" version = "1.0.1" @@ -10675,28 +6823,28 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.28" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.28" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -10716,7 +6864,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "synstructure", ] @@ -10725,20 +6873,6 @@ name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", -] [[package]] name = "zerotrie" @@ -10770,7 +6904,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -10782,50 +6916,11 @@ dependencies = [ "num-traits", ] -[[package]] -name = "zip" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2a05c7c36fde6c09b08576c9f7fb4cda705990f73b58fe011abf7dfb24168b" -dependencies = [ - "aes", - "arbitrary", - "bzip2", - "constant_time_eq", - "crc32fast", - "deflate64", - "flate2", - "getrandom 0.3.4", - "hmac", - "indexmap", - "lzma-rust2", - "memchr", - "pbkdf2", - "ppmd-rust", - "sha1", - "time", - "zeroize", - "zopfli", - "zstd", -] - [[package]] name = "zlib-rs" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" - -[[package]] -name = "zopfli" -version = "0.8.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" -dependencies = [ - "bumpalo", - "crc32fast", - "log", - "simd-adler32", -] +checksum = "51f936044d677be1a1168fae1d03b583a285a5dd9d8cbf7b24c23aa1fc775235" [[package]] name = "zstd" diff --git a/Cargo.toml b/Cargo.toml index 8fb170d1106..876b3b0f6d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] members = [ - "bench-vortex", +# "bench-vortex", "encodings/*", "fuzz", "vortex", @@ -11,7 +11,7 @@ members = [ "vortex-cxx", "vortex-datafusion", "vortex-dtype", - "vortex-duckdb", +# "vortex-duckdb", "vortex-error", "vortex-ffi", "vortex-file", @@ -339,3 +339,18 @@ lto = false [profile.bench_assert] debug-assertions = true inherits = "bench" + +[patch.crates-io] +datafusion = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-catalog = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-common = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-common-runtime = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-datasource = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-execution = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-expr = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-functions = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-physical-expr = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-physical-expr-adapter = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-physical-expr-common = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-physical-plan = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } +datafusion-pruning = { git = "https://github.com/apache/datafusion", rev = "86011519b5a" } diff --git a/vortex-datafusion/Cargo.toml b/vortex-datafusion/Cargo.toml index c929b1befc1..9a5c610140a 100644 --- a/vortex-datafusion/Cargo.toml +++ b/vortex-datafusion/Cargo.toml @@ -47,6 +47,7 @@ insta = { workspace = true } rstest = { workspace = true } tempfile = { workspace = true } tokio = { workspace = true, features = ["test-util", "rt-multi-thread", "fs"] } +url = { workspace = true } walkdir = { workspace = true } [lints] diff --git a/vortex-datafusion/src/convert/exprs.rs b/vortex-datafusion/src/convert/exprs.rs index cdd194482c8..dc6ac567afe 100644 --- a/vortex-datafusion/src/convert/exprs.rs +++ b/vortex-datafusion/src/convert/exprs.rs @@ -245,7 +245,7 @@ pub(crate) fn can_be_pushed_down(df_expr: &PhysicalExprRef, schema: &Schema) -> can_be_pushed_down(in_list.expr(), schema) && in_list.list().iter().all(|e| can_be_pushed_down(e, schema)) } else if let Some(scalar_fn) = expr.downcast_ref::() { - can_scalar_fn_be_pushed_down(scalar_fn, schema) + can_scalar_fn_be_pushed_down(scalar_fn) } else { tracing::debug!(%df_expr, "DataFusion expression can't be pushed down"); false @@ -293,50 +293,8 @@ fn supported_data_types(dt: &DataType) -> bool { } /// Checks if a GetField scalar function can be pushed down. -fn can_scalar_fn_be_pushed_down(scalar_fn: &ScalarFunctionExpr, schema: &Schema) -> bool { - let Some(get_field_fn) = ScalarFunctionExpr::try_downcast_func::(scalar_fn) - else { - // Only get_field pushdown is supported. - return false; - }; - - let args = get_field_fn.args(); - if args.len() != 2 { - tracing::debug!( - "Expected 2 arguments for GetField, not pushing down {} arguments", - args.len() - ); - return false; - } - let source_expr = &args[0]; - let field_name_expr = &args[1]; - let Some(field_name) = field_name_expr - .as_any() - .downcast_ref::() - .and_then(|lit| lit.value().try_as_str().flatten()) - else { - return false; - }; - - let Ok(source_dt) = source_expr.data_type(schema) else { - tracing::debug!( - field_name = field_name, - schema = ?schema, - source_expr = ?source_expr, - "Failed to get source type for GetField, not pushing down" - ); - return false; - }; - let DataType::Struct(fields) = source_dt else { - tracing::debug!( - field_name = field_name, - schema = ?schema, - source_expr = ?source_expr, - "Failed to get source type as struct for GetField, not pushing down" - ); - return false; - }; - fields.find(field_name).is_some() +fn can_scalar_fn_be_pushed_down(scalar_fn: &ScalarFunctionExpr) -> bool { + ScalarFunctionExpr::try_downcast_func::(scalar_fn).is_some() } #[cfg(test)] diff --git a/vortex-datafusion/src/persistent/format.rs b/vortex-datafusion/src/persistent/format.rs index f8a64c0320c..55b00509ca0 100644 --- a/vortex-datafusion/src/persistent/format.rs +++ b/vortex-datafusion/src/persistent/format.rs @@ -10,16 +10,16 @@ use arrow_schema::Schema; use arrow_schema::SchemaRef; use async_trait::async_trait; use datafusion_catalog::Session; -use datafusion_common::ColumnStatistics; -use datafusion_common::DataFusionError; -use datafusion_common::GetExt; -use datafusion_common::Result as DFResult; -use datafusion_common::Statistics; use datafusion_common::config::ConfigField; use datafusion_common::config_namespace; use datafusion_common::not_impl_err; use datafusion_common::parsers::CompressionTypeVariant; use datafusion_common::stats::Precision; +use datafusion_common::DataFusionError; +use datafusion_common::GetExt; +use datafusion_common::Result as DFResult; +use datafusion_common::Statistics; +use datafusion_common::{internal_datafusion_err, ColumnStatistics}; use datafusion_common_runtime::SpawnedTask; use datafusion_datasource::file::FileSource; use datafusion_datasource::file_compression_type::FileCompressionType; @@ -30,36 +30,37 @@ use datafusion_datasource::file_scan_config::FileScanConfigBuilder; use datafusion_datasource::file_sink_config::FileSinkConfig; use datafusion_datasource::sink::DataSinkExec; use datafusion_datasource::source::DataSourceExec; +use datafusion_datasource::TableSchema; use datafusion_expr::dml::InsertOp; use datafusion_physical_expr::LexRequirement; use datafusion_physical_plan::ExecutionPlan; +use futures::stream; use futures::FutureExt; use futures::StreamExt as _; use futures::TryStreamExt as _; -use futures::stream; use itertools::Itertools; use object_store::ObjectMeta; use object_store::ObjectStore; -use vortex::VortexSessionDefault; use vortex::array::stats::StatsSet; +use vortex::dtype::arrow::FromArrowType; use vortex::dtype::DType; use vortex::dtype::Nullability; use vortex::dtype::PType; -use vortex::dtype::arrow::FromArrowType; +use vortex::error::vortex_err; use vortex::error::VortexExpect; use vortex::error::VortexResult; -use vortex::error::vortex_err; use vortex::expr::stats; use vortex::expr::stats::Stat; use vortex::file::VORTEX_FILE_EXTENSION; use vortex::scalar::Scalar; use vortex::session::VortexSession; +use vortex::VortexSessionDefault; use super::cache::VortexFileCache; use super::sink::VortexSink; use super::source::VortexSource; -use crate::PrecisionExt as _; use crate::convert::TryToDataFusion; +use crate::PrecisionExt as _; /// Vortex implementation of a DataFusion [`FileFormat`]. pub struct VortexFormat { @@ -349,10 +350,16 @@ impl FileFormat for VortexFormat { .transpose() }); + let uncompressed_size = stats_set.get_as::( + Stat::UncompressedSizeInBytes, + &DType::Primitive(PType::U64, Nullability::Nullable), + ); + ColumnStatistics { null_count: null_count.to_df(), max_value: max.to_df(), min_value: min.to_df(), + byte_size: uncompressed_size.to_df(), sum_value: Precision::Absent, distinct_count: stats_set .get_as::( @@ -386,12 +393,20 @@ impl FileFormat for VortexFormat { _state: &dyn Session, file_scan_config: FileScanConfig, ) -> DFResult> { - let source = VortexSource::new(self.session.clone(), self.file_cache.clone()); - let source = Arc::new(source); + let mut source = file_scan_config + .file_source() + .as_any() + .downcast_ref::() + .cloned() + .ok_or_else(|| internal_datafusion_err!("Expected VortexSource"))?; + + // Make sure session and file caches are attached to the source + source.session = self.session.clone(); + source.file_cache = self.file_cache.clone(); Ok(DataSourceExec::from_data_source( FileScanConfigBuilder::from(file_scan_config) - .with_source(source) + .with_source(Arc::new(source)) .build(), )) } @@ -413,8 +428,9 @@ impl FileFormat for VortexFormat { Ok(Arc::new(DataSinkExec::new(input, sink, order_requirements)) as _) } - fn file_source(&self) -> Arc { + fn file_source(&self, table_schema: TableSchema) -> Arc { Arc::new(VortexSource::new( + table_schema, self.session.clone(), self.file_cache.clone(), )) diff --git a/vortex-datafusion/src/persistent/opener.rs b/vortex-datafusion/src/persistent/opener.rs index 84c4e84128b..7312b3f10f1 100644 --- a/vortex-datafusion/src/persistent/opener.rs +++ b/vortex-datafusion/src/persistent/opener.rs @@ -1,6 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-FileCopyrightText: Copyright the Vortex contributors +use std::collections::HashMap; use std::ops::Range; use std::sync::Arc; use std::sync::Weak; @@ -9,9 +10,9 @@ use arrow_schema::ArrowError; use arrow_schema::DataType; use arrow_schema::Field; use arrow_schema::SchemaRef; -use datafusion_common::DataFusionError; use datafusion_common::Result as DFResult; use datafusion_common::arrow::array::RecordBatch; +use datafusion_common::{DataFusionError, ScalarValue}; use datafusion_datasource::FileRange; use datafusion_datasource::PartitionedFile; use datafusion_datasource::TableSchema; @@ -21,7 +22,7 @@ use datafusion_datasource::schema_adapter::SchemaAdapterFactory; use datafusion_physical_expr::PhysicalExprRef; use datafusion_physical_expr::simplifier::PhysicalExprSimplifier; use datafusion_physical_expr::split_conjunction; -use datafusion_physical_expr_adapter::PhysicalExprAdapterFactory; +use datafusion_physical_expr_adapter::{PhysicalExprAdapterFactory, replace_columns_with_literals}; use datafusion_physical_expr_common::physical_expr::is_dynamic_physical_expr; use datafusion_physical_plan::metrics::Count; use datafusion_pruning::FilePruner; @@ -181,6 +182,18 @@ impl FileOpener for VortexOpener { .schema_adapter_factory .create(projected_schema, table_schema.table_schema().clone()); + // Update partition column access in the filter to use literals instead + let partition_values: HashMap<&str, &ScalarValue> = self + .table_schema + .table_partition_cols() + .iter() + .zip(file.partition_values.iter()) + .map(|(field, value)| (field.name().as_str(), value)) + .collect(); + filter = filter + .map(|expr| replace_columns_with_literals(expr, &partition_values)) + .transpose()?; + Ok(async move { // Create FilePruner when we have a predicate and either dynamic expressions // or file statistics available. The pruner can eliminate files without @@ -188,23 +201,19 @@ impl FileOpener for VortexOpener { // - Partition column values (e.g., date=2024-01-01) // - File-level statistics (min/max values per column) let mut file_pruner = file_pruning_predicate - .map(|predicate| { + .filter(|p| { // Only create pruner if we have dynamic expressions or file statistics // to work with. Static predicates without stats won't benefit from pruning. - Ok::<_, DataFusionError>( - (is_dynamic_physical_expr(&predicate) | file.has_statistics()).then_some( - FilePruner::new( - predicate.clone(), - table_schema.file_schema(), - table_schema.table_partition_cols().clone(), - file.clone(), - Count::default(), - )?, - ), - ) + is_dynamic_physical_expr(p) || file.has_statistics() }) - .transpose()? - .flatten(); + .and_then(|predicate| { + FilePruner::try_new( + predicate.clone(), + table_schema.file_schema(), + &file, + Count::default(), + ) + }); // Check if this file should be pruned based on statistics/partition values. // Returns empty stream if file can be skipped entirely. @@ -231,12 +240,7 @@ impl FileOpener for VortexOpener { compute_logical_file_schema(&physical_file_schema, table_schema.file_schema()); if let Some(expr_adapter_factory) = expr_adapter_factory { - let partition_values = table_schema - .table_partition_cols() - .iter() - .cloned() - .zip(file.partition_values) - .collect::>(); + // Replace column access for partition columns with literals // The adapter rewrites the expression to the local file schema, allowing // for schema evolution and divergence between the table's schema and individual files. @@ -244,7 +248,6 @@ impl FileOpener for VortexOpener { .map(|filter| { let expr = expr_adapter_factory .create(logical_file_schema.clone(), physical_file_schema.clone()) - .with_partition_values(partition_values) .rewrite(filter)?; // Expression might now reference columns that don't exist in the file, so we can give it diff --git a/vortex-datafusion/src/persistent/source.rs b/vortex-datafusion/src/persistent/source.rs index fe09c5313ab..9ac13352716 100644 --- a/vortex-datafusion/src/persistent/source.rs +++ b/vortex-datafusion/src/persistent/source.rs @@ -17,6 +17,7 @@ use datafusion_datasource::schema_adapter::DefaultSchemaAdapterFactory; use datafusion_datasource::schema_adapter::SchemaAdapterFactory; use datafusion_physical_expr::PhysicalExprRef; use datafusion_physical_expr::conjunction; +use datafusion_physical_expr::projection::ProjectionExprs; use datafusion_physical_expr_adapter::DefaultPhysicalExprAdapterFactory; use datafusion_physical_expr_adapter::PhysicalExprAdapterFactory; use datafusion_physical_expr_common::physical_expr::fmt_sql; @@ -54,8 +55,8 @@ pub struct VortexSource { /// These are expressions that Vortex can efficiently evaluate during scanning. pub(crate) vortex_predicate: Option, pub(crate) batch_size: Option, - pub(crate) projected_statistics: Option, - pub(crate) table_schema: Option, + pub(crate) projection: ProjectionExprs, + pub(crate) table_schema: TableSchema, pub(crate) schema_adapter_factory: Option>, pub(crate) expr_adapter_factory: Option>, _unused_df_metrics: ExecutionPlanMetricsSet, @@ -66,15 +67,22 @@ pub struct VortexSource { } impl VortexSource { - pub(crate) fn new(session: VortexSession, file_cache: VortexFileCache) -> Self { + pub(crate) fn new( + table_schema: TableSchema, + session: VortexSession, + file_cache: VortexFileCache, + ) -> Self { + // Projection over the full table schema (file columns + partition columns) + let full_schema = table_schema.table_schema(); + let indices: Vec = (0..full_schema.fields().len()).collect(); Self { + projection: ProjectionExprs::from_indices(&indices, full_schema), + table_schema, session, file_cache, full_predicate: None, vortex_predicate: None, batch_size: None, - projected_statistics: None, - table_schema: None, schema_adapter_factory: None, expr_adapter_factory: None, _unused_df_metrics: Default::default(), @@ -102,7 +110,7 @@ impl FileSource for VortexSource { object_store: Arc, base_config: &FileScanConfig, partition: usize, - ) -> Arc { + ) -> DFResult> { let partition_metrics = self .session .metrics() @@ -137,9 +145,9 @@ impl FileSource for VortexSource { ), }; - let projection = base_config.file_column_projection_indices().map(Arc::from); - - let table_schema = base_config.table_schema.clone(); + let projection = self + .projection() + .map(|exprs| Arc::from(exprs.column_indices())); let opener = VortexOpener { session: self.session.clone(), @@ -149,7 +157,7 @@ impl FileSource for VortexSource { file_pruning_predicate: self.full_predicate.clone(), expr_adapter_factory, schema_adapter_factory, - table_schema, + table_schema: self.table_schema.clone(), file_cache: self.file_cache.clone(), batch_size, limit: base_config.limit, @@ -158,32 +166,20 @@ impl FileSource for VortexSource { has_output_ordering: !base_config.output_ordering.is_empty(), }; - Arc::new(opener) + Ok(Arc::new(opener)) } fn as_any(&self) -> &dyn Any { self } - fn with_batch_size(&self, batch_size: usize) -> Arc { - let mut source = self.clone(); - source.batch_size = Some(batch_size); - Arc::new(source) + fn table_schema(&self) -> &TableSchema { + &self.table_schema } - fn with_schema(&self, schema: TableSchema) -> Arc { - let mut source = self.clone(); - source.table_schema = Some(schema); - Arc::new(source) - } - - fn with_projection(&self, _config: &FileScanConfig) -> Arc { - Arc::new(self.clone()) - } - - fn with_statistics(&self, statistics: Statistics) -> Arc { + fn with_batch_size(&self, batch_size: usize) -> Arc { let mut source = self.clone(); - source.projected_statistics = Some(statistics); + source.batch_size = Some(batch_size); Arc::new(source) } @@ -191,21 +187,12 @@ impl FileSource for VortexSource { self.vortex_predicate.clone() } - fn metrics(&self) -> &ExecutionPlanMetricsSet { - &self._unused_df_metrics + fn projection(&self) -> Option<&ProjectionExprs> { + Some(&self.projection) } - fn statistics(&self) -> DFResult { - let statistics = self - .projected_statistics - .clone() - .vortex_expect("projected_statistics must be set"); - - if self.vortex_predicate.is_some() { - Ok(statistics.to_inexact()) - } else { - Ok(statistics) - } + fn metrics(&self) -> &ExecutionPlanMetricsSet { + &self._unused_df_metrics } fn file_type(&self) -> &str { @@ -240,12 +227,6 @@ impl FileSource for VortexSource { )); } - let Some(table_schema) = self.table_schema.as_ref() else { - return Ok(FilterPushdownPropagation::with_parent_pushdown_result( - vec![PushedDown::No; filters.len()], - )); - }; - let mut source = self.clone(); // Combine new filters with existing predicate for file pruning. @@ -260,7 +241,7 @@ impl FileSource for VortexSource { let supported_filters = filters .into_iter() .map(|expr| { - if can_be_pushed_down(&expr, table_schema.file_schema()) { + if can_be_pushed_down(&expr, self.table_schema.file_schema()) { PushedDownPredicate::supported(expr) } else { PushedDownPredicate::unsupported(expr) @@ -301,6 +282,16 @@ impl FileSource for VortexSource { .with_updated_node(Arc::new(source) as _)) } + fn try_pushdown_projection( + &self, + projection: &ProjectionExprs, + ) -> DFResult>> { + let mut source = self.clone(); + source.projection = self.projection.try_merge(projection)?; + + Ok(Some(Arc::new(source))) + } + fn with_schema_adapter_factory( &self, factory: Arc, diff --git a/vortex-datafusion/tests/schema_evolution.rs b/vortex-datafusion/tests/schema_evolution.rs new file mode 100644 index 00000000000..8056fa9ac58 --- /dev/null +++ b/vortex-datafusion/tests/schema_evolution.rs @@ -0,0 +1,417 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: Copyright the Vortex contributors + +#![allow( + clippy::unwrap_in_result, + clippy::unwrap_used, + clippy::tests_outside_test_module +)] + +//! Test that checks we can evolve schemas in a compatible way across files. + +use std::sync::Arc; +use std::sync::LazyLock; + +use arrow_schema::DataType; +use arrow_schema::Field; +use arrow_schema::Schema; +use arrow_schema::SchemaRef; +use datafusion::arrow::array::RecordBatch; +use datafusion::arrow::array::StringViewArray; +use datafusion::arrow::array::{Array, Int32Array}; +use datafusion::arrow::array::{ArrayRef as ArrowArrayRef, StructArray}; +use datafusion::arrow::compute::concat_batches; +use datafusion::datasource::listing::ListingOptions; +use datafusion::datasource::listing::ListingTable; +use datafusion::datasource::listing::ListingTableConfig; +use datafusion::execution::SessionStateBuilder; +use datafusion::execution::context::SessionContext; +use datafusion_common::{create_array, record_batch}; +use datafusion_datasource::ListingTableUrl; +use datafusion_expr::col; +use datafusion_expr::lit; +use datafusion_functions::expr_fn::get_field; +use object_store::ObjectStore; +use object_store::memory::InMemory; +use object_store::path::Path; +use url::Url; +use vortex::array::ArrayRef; +use vortex::VortexSessionDefault; +use vortex::array::arrow::FromArrowArray; +use vortex::file::WriteOptionsSessionExt; +use vortex::io::ObjectStoreWriter; +use vortex::io::VortexWrite; +use vortex::session::VortexSession; +use vortex_datafusion::VortexFormat; +use vortex_datafusion::VortexFormatFactory; + +static SESSION: LazyLock = LazyLock::new(VortexSession::default); + +fn register_vortex_format_factory( + factory: VortexFormatFactory, + session_state_builder: &mut SessionStateBuilder, +) { + if let Some(table_factories) = session_state_builder.table_factories() { + table_factories.insert( + datafusion::common::GetExt::get_ext(&factory).to_uppercase(), // Has to be uppercase + Arc::new(datafusion::datasource::provider::DefaultTableFactory::new()), + ); + } + + if let Some(file_formats) = session_state_builder.file_formats() { + file_formats.push(Arc::new(factory)); + } +} + +fn make_session_ctx() -> (SessionContext, Arc) { + let factory: VortexFormatFactory = VortexFormatFactory::new(); + let mut session_state_builder = SessionStateBuilder::new().with_default_features(); + register_vortex_format_factory(factory, &mut session_state_builder); + let ctx = SessionContext::new_with_state(session_state_builder.build()); + let store = Arc::new(InMemory::new()); + ctx.register_object_store(&Url::parse("s3://in-memory/").unwrap(), store.clone()); + + (ctx, store) +} + +async fn write_file(store: &Arc, path: &str, records: &RecordBatch) { + let array = ArrayRef::from_arrow(records, false); + let path = Path::from_url_path(path).unwrap(); + let mut write = ObjectStoreWriter::new(store.clone(), &path).await.unwrap(); + SESSION + .write_options() + .write(&mut write, array.to_array_stream()) + .await + .unwrap(); + write.shutdown().await.unwrap(); +} + +#[tokio::test] +async fn test_filter_with_schema_evolution() { + let (ctx, store) = make_session_ctx(); + + // file1 only contains field "a" + write_file( + &store, + "files/file1.vortex", + &record_batch!(("a", Utf8, vec![Some("one"), Some("two"), Some("three")])).unwrap(), + ) + .await; + + // file2 only contains field "b" + write_file( + &store, + "files/file2.vortex", + &record_batch!(("b", Utf8, vec![Some("four"), Some("five"), Some("six")])).unwrap(), + ) + .await; + + // Read the table back as Vortex + let table_url = ListingTableUrl::parse("s3://in-memory/files").unwrap(); + let list_opts = ListingOptions::new(Arc::new(VortexFormat::new(SESSION.clone()))) + .with_session_config_options(ctx.state().config()) + .with_file_extension("vortex"); + + let table = ListingTable::try_new( + ListingTableConfig::new(table_url) + .with_listing_options(list_opts) + .infer_schema(&ctx.state()) + .await + .unwrap(), + ) + .unwrap(); + + let table = Arc::new(table); + + let df = ctx.read_table(table).unwrap(); + + let table_schema = Arc::new(df.schema().as_arrow().clone()); + + // Table schema contains both fields + assert_eq!( + table_schema.as_ref(), + &Schema::new(vec![ + Field::new("a", DataType::Utf8View, true), + Field::new("b", DataType::Utf8View, true), + ]) + ); + + // Filter the result to only ones with a column, i.e. only file1 + let result = df + .filter(col("a").is_not_null()) + .unwrap() + .collect() + .await + .unwrap(); + let table = concat_batches(&table_schema, result.iter()).unwrap(); + + // We read back the full table, with nulls filled in for missing fields + assert_eq!( + table, + record_batch( + &table_schema, + vec![ + // a + Arc::new(StringViewArray::from(vec![ + Some("one"), + Some("two"), + Some("three"), + ])) as ArrowArrayRef, + // b + Arc::new(StringViewArray::from(vec![ + Option::<&str>::None, + None, + None + ])) as ArrowArrayRef, + ] + ) + ); +} + +#[tokio::test] +async fn test_filter_schema_evolution_order() { + let (ctx, store) = make_session_ctx(); + + // file1 only contains field "a" + write_file( + &store, + "files/file1.vortex", + &record_batch!(("a", Int32, vec![Some(1), Some(3), Some(5)])).unwrap(), + ) + .await; + + // file2 containing fields "b" and "a", where "a" needs to be upcast at scan time. + write_file( + &store, + "files/file2.vortex", + &record_batch!( + ("b", Utf8, vec![Some("two"), Some("four"), Some("six")]), + ("a", Int16, vec![Some(2), Some(4), Some(6)]) + ) + .unwrap(), + ) + .await; + + // Read the table back as Vortex + let table_url = ListingTableUrl::parse("s3://in-memory/files").unwrap(); + let list_opts = ListingOptions::new(Arc::new(VortexFormat::new(SESSION.clone()))) + .with_session_config_options(ctx.state().config()) + .with_file_extension("vortex"); + + // We force the table schema, because file1/file2 have different types for the "a" column + let read_schema = Arc::new(Schema::new(vec![ + Field::new("a", DataType::Int32, true), + Field::new("b", DataType::Utf8View, true), + ])); + + let table = ListingTable::try_new( + ListingTableConfig::new(table_url) + .with_listing_options(list_opts) + .with_schema(read_schema.clone()), + ) + .unwrap(); + + let table = Arc::new(table); + + let df = ctx.read_table(table.clone()).unwrap(); + + let table_schema = Arc::new(df.schema().as_arrow().clone()); + + // Table schema contains both fields + assert_eq!( + table_schema.as_ref(), + &Schema::new(vec![ + Field::new("a", DataType::Int32, true), + Field::new("b", DataType::Utf8View, true), + ]) + ); + + // Filter referencing the b column, which only appears in file2 + let result = df + .filter(col("b").eq(lit("two"))) + .unwrap() + .collect() + .await + .unwrap(); + let result = concat_batches(&table_schema, result.iter()).unwrap(); + + assert_eq!( + result, + record_batch( + &table_schema, + vec![ + // a + Arc::new(Int32Array::from(vec![Some(2)])) as ArrowArrayRef, + // b + Arc::new(StringViewArray::from(vec![Some("two"),])) as ArrowArrayRef, + ] + ) + ); + + // Filter on the "a" column, which has different types for each file + let result = ctx + .read_table(table) + .unwrap() + .filter(col("a").gt_eq(lit(3i16))) + .unwrap() + .collect() + .await + .unwrap(); + let table = concat_batches(&table_schema, result.iter()).unwrap(); + + // file1, then file2 + assert_eq!( + table, + record_batch( + &table_schema, + vec![ + // a field: present in both files + Arc::new(Int32Array::from(vec![Some(3), Some(5), Some(4), Some(6)])) + as ArrowArrayRef, + // b field: only present in file2, file1 fills with nulls + Arc::new(StringViewArray::from(vec![ + None, + None, + Some("four"), + Some("six") + ])) as ArrowArrayRef, + ] + ) + ); +} + +#[tokio::test] +async fn test_filter_schema_evolution_struct_fields() { + // Test for correct schema evolution behavior in the presence of nested struct fields. + // We use a hypothetical schema of some observability data with "wide records", struct columns + // with nullable payloads that may or may not be present for every file. + + let (ctx, store) = make_session_ctx(); + + fn make_metrics( + hostname: &str, + uptime: Vec, + instance: Option>>, + ) -> RecordBatch { + let values_array: ArrowArrayRef = create_array!(Int64, uptime); + let payload_array = if let Some(tags) = instance { + let tags_array: ArrowArrayRef = create_array!(Utf8, tags); + Arc::new(StructArray::new( + vec![ + Field::new("uptime", DataType::Int64, true), + Field::new("instance", DataType::Utf8, true), + ] + .into(), + vec![values_array, tags_array], + None, + )) + } else { + Arc::new(StructArray::new( + vec![Field::new("uptime", DataType::Int64, true)].into(), + vec![values_array], + None, + )) + }; + + let len = payload_array.len(); + let hostname_array = create_array!(Utf8, vec![Some(hostname); len]); + + let payload_type = payload_array.data_type().clone(); + let hostname_type = hostname_array.data_type().clone(); + + RecordBatch::from(StructArray::new( + vec![ + Field::new("hostname", hostname_type, true), + Field::new("payload", payload_type, true), + ] + .into(), + vec![hostname_array, payload_array], + None, + )) + } + + let host01 = make_metrics("host01.local", vec![1, 2, 3, 4], None); + let host02 = make_metrics( + "host02.local", + vec![10, 20, 30, 40], + // host02 has new logging code which adds the new "instance" nested field in its payload + Some(vec![Some("c6i"), Some("c6i"), Some("m5"), Some("r5")]), + ); + + // Write metrics files to storage + write_file(&store, "files/host01.vortex", &host01).await; + write_file(&store, "files/host02.vortex", &host02).await; + + // Read the table back as Vortex + let table_url = ListingTableUrl::parse("s3://in-memory/files").unwrap(); + let list_opts = ListingOptions::new(Arc::new(VortexFormat::new(SESSION.clone()))) + .with_session_config_options(ctx.state().config()) + .with_file_extension("vortex"); + + // We force the table schema to be the one inclusive of the new instance field. + let read_schema = host02.schema(); + + let table = ListingTable::try_new( + ListingTableConfig::new(table_url) + .with_listing_options(list_opts) + .with_schema(read_schema.clone()), + ) + .unwrap(); + + let table = Arc::new(table); + + let df = ctx.read_table(table.clone()).unwrap(); + + let table_schema = Arc::new(df.schema().as_arrow().clone()); + + // Table schema contains both fields + assert_eq!(table_schema.as_ref(), read_schema.as_ref(),); + + // Scan all the records, NULLs are filled in for nested optional fields. + let full_scan = df.collect().await.unwrap(); + let full_scan = concat_batches(&table_schema, full_scan.iter()).unwrap(); + + let expected = concat_batches( + &table_schema, + &[ + // host01 with extra nulls for the payload.instance field + make_metrics("host01.local", vec![1, 2, 3, 4], Some(vec![None; 4])), + host02, + ], + ) + .unwrap(); + assert_eq!(full_scan, expected); + + // run a filter that touches both the payload.uptime AND the payload.instance nested fields + let df = ctx.read_table(table.clone()).unwrap(); + let filtered_scan = df + .filter( + // payload.instance = 'c6i' OR payload.uptime < 10 + // We need to perform filtering over nested columns which don't exist in every + // file type. + get_field(col("payload"), "instance") + .eq(lit("c6i")) + .or(get_field(col("payload"), "uptime").lt(lit(10))), + ) + .unwrap() + .collect() + .await + .unwrap(); + let filtered_scan = concat_batches(&table_schema, filtered_scan.iter()).unwrap(); + let expected = concat_batches( + &table_schema, + &[ + make_metrics("host01", vec![1, 2, 3, 4], Some(vec![None; 4])), + make_metrics("host02", vec![10, 20], Some(vec![Some("c6i"), Some("c6i")])), + ], + ) + .unwrap(); + assert_eq!(filtered_scan, expected); +} + +fn record_batch( + schema: &SchemaRef, + fields: impl IntoIterator, +) -> RecordBatch { + RecordBatch::try_new(schema.clone(), fields.into_iter().collect()).unwrap() +} From 9064f597a5e558658b84611bcb7c1091025988a1 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Fri, 12 Dec 2025 09:57:44 -0500 Subject: [PATCH 2/3] carry stuff over from the other branch Signed-off-by: Andrew Duffy --- vortex-datafusion/src/persistent/opener.rs | 131 +++++---------------- 1 file changed, 30 insertions(+), 101 deletions(-) diff --git a/vortex-datafusion/src/persistent/opener.rs b/vortex-datafusion/src/persistent/opener.rs index 7312b3f10f1..5fc9cd79e8e 100644 --- a/vortex-datafusion/src/persistent/opener.rs +++ b/vortex-datafusion/src/persistent/opener.rs @@ -53,7 +53,8 @@ use crate::convert::exprs::make_vortex_predicate; pub(crate) struct VortexOpener { pub session: VortexSession, pub object_store: Arc, - /// Projection by index of the file's columns + /// Optional table schema projection. The indices are w.r.t. the `table_schema`, which is + /// all fields in the final scan result not including the partition columns. pub projection: Option>, /// Filter expression optimized for pushdown into Vortex scan operations. /// This may be a subset of file_pruning_predicate containing only expressions @@ -64,97 +65,26 @@ pub(crate) struct VortexOpener { pub file_pruning_predicate: Option, pub expr_adapter_factory: Option>, pub schema_adapter_factory: Arc, + /// This is the table's schema without partition columns. It may contain fields which do + /// not exist in the file, and are supplied by the `schema_adapter_factory`. pub table_schema: TableSchema, + /// Caching Vortex file opener pub file_cache: VortexFileCache, + /// A hint for the desired row count of record batches returned from the scan. pub batch_size: usize, + /// If provided, the scan will not return more than this many rows. pub limit: Option, + /// A metrics object for tracking performance of the scan. pub metrics: VortexMetrics, + /// A shared cache of file readers. + /// + /// To save on the overhead of reparsing FlatBuffers and rebuilding the layout tree, we cache + /// a file reader the first time we read a file. pub layout_readers: Arc>>, /// Whether the query has output ordering specified pub has_output_ordering: bool, } -/// Merges the data types of two fields, preferring the logical type from the -/// table field. -fn merge_field_types(physical_field: &Field, table_field: &Field) -> DataType { - match (physical_field.data_type(), table_field.data_type()) { - (DataType::Struct(phys_fields), DataType::Struct(table_fields)) => { - let merged_fields = merge_fields(phys_fields, table_fields); - DataType::Struct(merged_fields.into()) - } - (DataType::List(phys_field), DataType::List(table_field)) => { - DataType::List(Arc::new(Field::new( - phys_field.name(), - merge_field_types(phys_field, table_field), - phys_field.is_nullable(), - ))) - } - (DataType::LargeList(phys_field), DataType::LargeList(table_field)) => { - DataType::LargeList(Arc::new(Field::new( - phys_field.name(), - merge_field_types(phys_field, table_field), - phys_field.is_nullable(), - ))) - } - _ => table_field.data_type().clone(), - } -} - -/// Merges two field collections, using logical types from table_fields where available. -/// Falls back to physical field types when no matching table field is found. -fn merge_fields( - physical_fields: &arrow_schema::Fields, - table_fields: &arrow_schema::Fields, -) -> Vec { - physical_fields - .iter() - .map(|phys_field| { - table_fields - .iter() - .find(|f| f.name() == phys_field.name()) - .map(|table_field| { - Field::new( - phys_field.name(), - merge_field_types(phys_field, table_field), - phys_field.is_nullable(), - ) - }) - .unwrap_or_else(|| (**phys_field).clone()) - }) - .collect() -} - -/// Computes a logical file schema from the physical file schema and the table -/// schema. -/// -/// For each field in the physical file schema, looks up the corresponding field -/// in the table schema and uses its logical type. -fn compute_logical_file_schema( - physical_file_schema: &SchemaRef, - table_schema: &SchemaRef, -) -> SchemaRef { - let logical_fields: Vec = physical_file_schema - .fields() - .iter() - .map(|physical_field| { - table_schema - .fields() - .find(physical_field.name()) - .map(|(_, table_field)| { - Field::new( - physical_field.name(), - merge_field_types(physical_field, table_field), - physical_field.is_nullable(), - ) - .with_metadata(physical_field.metadata().clone()) - }) - .unwrap_or_else(|| (**physical_field).clone()) - }) - .collect(); - - Arc::new(arrow_schema::Schema::new(logical_fields)) -} - impl FileOpener for VortexOpener { fn open(&self, file: PartitionedFile) -> DFResult { let session = self.session.clone(); @@ -176,7 +106,8 @@ impl FileOpener for VortexOpener { Some(indices) => Arc::new(table_schema.file_schema().project(indices)?), }; - let mut predicate_file_schema = table_schema.file_schema().clone(); + let _file_name = file.object_meta.location.to_string(); + let _schema = projected_schema.to_string(); let schema_adapter = self .schema_adapter_factory @@ -190,10 +121,15 @@ impl FileOpener for VortexOpener { .zip(file.partition_values.iter()) .map(|(field, value)| (field.name().as_str(), value)) .collect(); + + let _filter_str_before = filter.as_ref().map(|f| format!("{f}")); + filter = filter .map(|expr| replace_columns_with_literals(expr, &partition_values)) .transpose()?; + let _filter_str_after = filter.as_ref().map(|f| format!("{f}")); + Ok(async move { // Create FilePruner when we have a predicate and either dynamic expressions // or file statistics available. The pruner can eliminate files without @@ -234,11 +170,6 @@ impl FileOpener for VortexOpener { DataFusionError::Execution(format!("Failed to convert file schema to arrow: {e}")) })?); - // Compute the logical file schema by merging physical file types with logical table types. - // This schema has the same field names as logical_schema, but with physical types from the file. - let logical_file_schema = - compute_logical_file_schema(&physical_file_schema, table_schema.file_schema()); - if let Some(expr_adapter_factory) = expr_adapter_factory { // Replace column access for partition columns with literals @@ -247,7 +178,10 @@ impl FileOpener for VortexOpener { filter = filter .map(|filter| { let expr = expr_adapter_factory - .create(logical_file_schema.clone(), physical_file_schema.clone()) + .create( + table_schema.file_schema().clone(), + physical_file_schema.clone(), + ) .rewrite(filter)?; // Expression might now reference columns that don't exist in the file, so we can give it @@ -255,25 +189,20 @@ impl FileOpener for VortexOpener { PhysicalExprSimplifier::new(&physical_file_schema).simplify(expr) }) .transpose()?; - - predicate_file_schema = physical_file_schema; } // Use the pre-created schema adapter to map logical_file_schema to projected_schema. // Since logical_file_schema has the same field names as logical_schema (which the adapter // was created with), this works correctly and gives us the projection indices. let (schema_mapping, adapted_projections) = - schema_adapter.map_schema(&logical_file_schema)?; + schema_adapter.map_schema(&physical_file_schema)?; // Build the Vortex projection expression using field names from logical_file_schema - let fields = adapted_projections - .iter() - .map(|&idx| { - let field = logical_file_schema.field(idx); - FieldName::from(field.name().as_str()) - }) - .collect::>(); - let projection_expr = select(fields, root()); + let field_names: Vec = adapted_projections + .into_iter() + .map(|index| FieldName::from(physical_file_schema.field(index).name().as_str())) + .collect(); + let projection_expr = select(field_names, root()); // We share our layout readers with others partitions in the scan, so we can only need to read each layout in each file once. let layout_reader = match layout_reader.entry(file.object_meta.location.clone()) { @@ -317,7 +246,7 @@ impl FileOpener for VortexOpener { .and_then(|f| { let exprs = split_conjunction(&f) .into_iter() - .filter(|expr| can_be_pushed_down(expr, &predicate_file_schema)) + .filter(|expr| can_be_pushed_down(expr, &physical_file_schema)) .collect::>(); make_vortex_predicate(&exprs).transpose() From 253f1c5eaff0aea9a32a42160508269707bc13c3 Mon Sep 17 00:00:00 2001 From: Andrew Duffy Date: Fri, 12 Dec 2025 12:16:12 -0500 Subject: [PATCH 3/3] many fixes Signed-off-by: Andrew Duffy --- .../src/arrays/struct_/compute/cast.rs | 37 ++++++++--- vortex-datafusion/src/convert/exprs.rs | 26 +++++--- vortex-datafusion/src/persistent/format.rs | 23 +++---- vortex-datafusion/src/persistent/opener.rs | 61 ++++++++++++++----- vortex-datafusion/src/persistent/source.rs | 1 - vortex-datafusion/tests/schema_evolution.rs | 19 ++++-- 6 files changed, 118 insertions(+), 49 deletions(-) diff --git a/vortex-array/src/arrays/struct_/compute/cast.rs b/vortex-array/src/arrays/struct_/compute/cast.rs index 0b36668d902..57fddd6cd9a 100644 --- a/vortex-array/src/arrays/struct_/compute/cast.rs +++ b/vortex-array/src/arrays/struct_/compute/cast.rs @@ -5,10 +5,12 @@ use itertools::Itertools; use vortex_dtype::DType; use vortex_error::VortexExpect; use vortex_error::VortexResult; -use vortex_error::vortex_bail; +use vortex_error::vortex_ensure; +use vortex_scalar::Scalar; use crate::ArrayRef; use crate::IntoArray; +use crate::arrays::ConstantArray; use crate::arrays::StructArray; use crate::arrays::StructVTable; use crate::compute::CastKernel; @@ -28,8 +30,30 @@ impl CastKernel for StructVTable { .as_struct_fields_opt() .vortex_expect("struct array must have struct dtype"); - if target_sdtype.names() != source_sdtype.names() { - vortex_bail!("cannot cast {} to {}", array.dtype(), dtype); + // Re-order, handle fields by value instead. + let mut cast_fields = vec![]; + for (target_name, target_type) in + target_sdtype.names().iter().zip_eq(target_sdtype.fields()) + { + match source_sdtype.find(target_name) { + None => { + // No source field with this name => evolve the schema compatibly. + // If the field is nullable, we add a new ConstantArray field with the type. + vortex_ensure!( + target_type.is_nullable(), + "CAST for struct only supports added nullable fields" + ); + + cast_fields.push( + ConstantArray::new(Scalar::null(target_type), array.len).into_array(), + ); + } + Some(src_field_idx) => { + // Field exists in source field. Cast it to the target type. + let cast_field = cast(array.fields()[src_field_idx].as_ref(), &target_type)?; + cast_fields.push(cast_field); + } + } } let validity = array @@ -39,12 +63,7 @@ impl CastKernel for StructVTable { StructArray::try_new( target_sdtype.names().clone(), - array - .fields() - .iter() - .zip_eq(target_sdtype.fields()) - .map(|(field, dtype)| cast(field, &dtype)) - .collect::, _>>()?, + cast_fields, array.len(), validity, ) diff --git a/vortex-datafusion/src/convert/exprs.rs b/vortex-datafusion/src/convert/exprs.rs index dc6ac567afe..c6270a23d49 100644 --- a/vortex-datafusion/src/convert/exprs.rs +++ b/vortex-datafusion/src/convert/exprs.rs @@ -9,7 +9,6 @@ use datafusion_expr::Operator as DFOperator; use datafusion_functions::core::getfield::GetFieldFunc; use datafusion_physical_expr::PhysicalExpr; use datafusion_physical_expr::ScalarFunctionExpr; -use datafusion_physical_expr_common::physical_expr::PhysicalExprRef; use datafusion_physical_expr_common::physical_expr::is_dynamic_physical_expr; use datafusion_physical_plan::expressions as df_expr; use itertools::Itertools; @@ -40,7 +39,7 @@ use crate::convert::TryFromDataFusion; /// Tries to convert the expressions into a vortex conjunction. Will return Ok(None) iff the input conjunction is empty. pub(crate) fn make_vortex_predicate( - predicate: &[&Arc], + predicate: &[Arc], ) -> VortexResult> { let exprs = predicate .iter() @@ -89,6 +88,14 @@ impl TryFromDataFusion for Expression { return Ok(cast(child, cast_dtype)); } + if let Some(cast_col_expr) = df.as_any().downcast_ref::() { + let target = cast_col_expr.target_field(); + + let target_dtype = DType::from_arrow((target.data_type(), target.is_nullable().into())); + let child = Expression::try_from_df(cast_col_expr.expr().as_ref())?; + return Ok(cast(child, target_dtype)); + } + if let Some(is_null_expr) = df.as_any().downcast_ref::() { let arg = Expression::try_from_df(is_null_expr.arg().as_ref())?; return Ok(is_null(arg)); @@ -216,7 +223,7 @@ impl TryFromDataFusion for Operator { } } -pub(crate) fn can_be_pushed_down(df_expr: &PhysicalExprRef, schema: &Schema) -> bool { +pub(crate) fn can_be_pushed_down(df_expr: &Arc, schema: &Schema) -> bool { // We currently do not support pushdown of dynamic expressions in DF. // See issue: https://github.com/vortex-data/vortex/issues/4034 if is_dynamic_physical_expr(df_expr) { @@ -235,8 +242,10 @@ pub(crate) fn can_be_pushed_down(df_expr: &PhysicalExprRef, schema: &Schema) -> can_be_pushed_down(like.expr(), schema) && can_be_pushed_down(like.pattern(), schema) } else if let Some(lit) = expr.downcast_ref::() { supported_data_types(&lit.value().data_type()) - } else if let Some(cast) = expr.downcast_ref::() { - supported_data_types(cast.cast_type()) && can_be_pushed_down(cast.expr(), schema) + } else if expr.downcast_ref::().is_some() + || expr.downcast_ref::().is_some() + { + true } else if let Some(is_null) = expr.downcast_ref::() { can_be_pushed_down(is_null.arg(), schema) } else if let Some(is_not_null) = expr.downcast_ref::() { @@ -349,7 +358,7 @@ mod tests { #[test] fn test_make_vortex_predicate_single() { let col_expr = Arc::new(df_expr::Column::new("test", 0)) as Arc; - let result = make_vortex_predicate(&[&col_expr]).unwrap(); + let result = make_vortex_predicate(&[col_expr]).unwrap(); assert!(result.is_some()); } @@ -357,7 +366,7 @@ mod tests { fn test_make_vortex_predicate_multiple() { let col1 = Arc::new(df_expr::Column::new("col1", 0)) as Arc; let col2 = Arc::new(df_expr::Column::new("col2", 1)) as Arc; - let result = make_vortex_predicate(&[&col1, &col2]).unwrap(); + let result = make_vortex_predicate(&[col1, col2]).unwrap(); assert!(result.is_some()); // Result should be an AND expression combining the two columns } @@ -490,7 +499,8 @@ mod tests { DataType::List(Arc::new(Field::new("item", DataType::Int32, true))), false )] - #[case::struct_type(DataType::Struct(vec![Field::new("field", DataType::Int32, true)].into()), false)] + #[case::struct_type(DataType::Struct(vec![Field::new("field", DataType::Int32, true)].into() + ), false)] // Dictionary types - should be supported if value type is supported #[case::dict_utf8( DataType::Dictionary(Box::new(DataType::UInt32), Box::new(DataType::Utf8)), diff --git a/vortex-datafusion/src/persistent/format.rs b/vortex-datafusion/src/persistent/format.rs index 55b00509ca0..26efca99f37 100644 --- a/vortex-datafusion/src/persistent/format.rs +++ b/vortex-datafusion/src/persistent/format.rs @@ -10,17 +10,19 @@ use arrow_schema::Schema; use arrow_schema::SchemaRef; use async_trait::async_trait; use datafusion_catalog::Session; +use datafusion_common::ColumnStatistics; +use datafusion_common::DataFusionError; +use datafusion_common::GetExt; +use datafusion_common::Result as DFResult; +use datafusion_common::Statistics; use datafusion_common::config::ConfigField; use datafusion_common::config_namespace; +use datafusion_common::internal_datafusion_err; use datafusion_common::not_impl_err; use datafusion_common::parsers::CompressionTypeVariant; use datafusion_common::stats::Precision; -use datafusion_common::DataFusionError; -use datafusion_common::GetExt; -use datafusion_common::Result as DFResult; -use datafusion_common::Statistics; -use datafusion_common::{internal_datafusion_err, ColumnStatistics}; use datafusion_common_runtime::SpawnedTask; +use datafusion_datasource::TableSchema; use datafusion_datasource::file::FileSource; use datafusion_datasource::file_compression_type::FileCompressionType; use datafusion_datasource::file_format::FileFormat; @@ -30,37 +32,36 @@ use datafusion_datasource::file_scan_config::FileScanConfigBuilder; use datafusion_datasource::file_sink_config::FileSinkConfig; use datafusion_datasource::sink::DataSinkExec; use datafusion_datasource::source::DataSourceExec; -use datafusion_datasource::TableSchema; use datafusion_expr::dml::InsertOp; use datafusion_physical_expr::LexRequirement; use datafusion_physical_plan::ExecutionPlan; -use futures::stream; use futures::FutureExt; use futures::StreamExt as _; use futures::TryStreamExt as _; +use futures::stream; use itertools::Itertools; use object_store::ObjectMeta; use object_store::ObjectStore; +use vortex::VortexSessionDefault; use vortex::array::stats::StatsSet; -use vortex::dtype::arrow::FromArrowType; use vortex::dtype::DType; use vortex::dtype::Nullability; use vortex::dtype::PType; -use vortex::error::vortex_err; +use vortex::dtype::arrow::FromArrowType; use vortex::error::VortexExpect; use vortex::error::VortexResult; +use vortex::error::vortex_err; use vortex::expr::stats; use vortex::expr::stats::Stat; use vortex::file::VORTEX_FILE_EXTENSION; use vortex::scalar::Scalar; use vortex::session::VortexSession; -use vortex::VortexSessionDefault; use super::cache::VortexFileCache; use super::sink::VortexSink; use super::source::VortexSource; -use crate::convert::TryToDataFusion; use crate::PrecisionExt as _; +use crate::convert::TryToDataFusion; /// Vortex implementation of a DataFusion [`FileFormat`]. pub struct VortexFormat { diff --git a/vortex-datafusion/src/persistent/opener.rs b/vortex-datafusion/src/persistent/opener.rs index 5fc9cd79e8e..f909ccba453 100644 --- a/vortex-datafusion/src/persistent/opener.rs +++ b/vortex-datafusion/src/persistent/opener.rs @@ -7,12 +7,10 @@ use std::sync::Arc; use std::sync::Weak; use arrow_schema::ArrowError; -use arrow_schema::DataType; -use arrow_schema::Field; -use arrow_schema::SchemaRef; +use datafusion_common::DataFusionError; use datafusion_common::Result as DFResult; +use datafusion_common::ScalarValue; use datafusion_common::arrow::array::RecordBatch; -use datafusion_common::{DataFusionError, ScalarValue}; use datafusion_datasource::FileRange; use datafusion_datasource::PartitionedFile; use datafusion_datasource::TableSchema; @@ -22,7 +20,8 @@ use datafusion_datasource::schema_adapter::SchemaAdapterFactory; use datafusion_physical_expr::PhysicalExprRef; use datafusion_physical_expr::simplifier::PhysicalExprSimplifier; use datafusion_physical_expr::split_conjunction; -use datafusion_physical_expr_adapter::{PhysicalExprAdapterFactory, replace_columns_with_literals}; +use datafusion_physical_expr_adapter::PhysicalExprAdapterFactory; +use datafusion_physical_expr_adapter::replace_columns_with_literals; use datafusion_physical_expr_common::physical_expr::is_dynamic_physical_expr; use datafusion_physical_plan::metrics::Count; use datafusion_pruning::FilePruner; @@ -36,6 +35,8 @@ use tracing::Instrument; use vortex::array::ArrayRef; use vortex::dtype::FieldName; use vortex::error::VortexError; +use vortex::error::VortexResult; +use vortex::error::vortex_err; use vortex::expr::root; use vortex::expr::select; use vortex::layout::LayoutReader; @@ -172,6 +173,7 @@ impl FileOpener for VortexOpener { if let Some(expr_adapter_factory) = expr_adapter_factory { // Replace column access for partition columns with literals + println!("filter before simplify: {filter:?}"); // The adapter rewrites the expression to the local file schema, allowing // for schema evolution and divergence between the table's schema and individual files. @@ -179,11 +181,16 @@ impl FileOpener for VortexOpener { .map(|filter| { let expr = expr_adapter_factory .create( - table_schema.file_schema().clone(), - physical_file_schema.clone(), + Arc::clone(table_schema.file_schema()), + Arc::clone(&physical_file_schema), ) .rewrite(filter)?; + println!( + "expr adapter: from {:?} => to {physical_file_schema:?}", + table_schema.file_schema() + ); + // Expression might now reference columns that don't exist in the file, so we can give it // another simplification pass. PhysicalExprSimplifier::new(&physical_file_schema).simplify(expr) @@ -191,6 +198,8 @@ impl FileOpener for VortexOpener { .transpose()?; } + println!("filter after simplify: {filter:?}"); + // Use the pre-created schema adapter to map logical_file_schema to projected_schema. // Since logical_file_schema has the same field names as logical_schema (which the adapter // was created with), this works correctly and gives us the projection indices. @@ -244,16 +253,38 @@ impl FileOpener for VortexOpener { let filter = filter .and_then(|f| { - let exprs = split_conjunction(&f) - .into_iter() - .filter(|expr| can_be_pushed_down(expr, &physical_file_schema)) - .collect::>(); + // Verify that all filters we've accepted from DataFusion get pushed down. + // This will only fail if the user has not configured a suitable + // PhysicalExprAdapterFactory on the file source to handle rewriting the + // expression to handle missing/reordered columns in the Vortex file. + + let (pushed, unpushed): (Vec, Vec) = + split_conjunction(&f) + .into_iter() + .cloned() + .partition(|expr| can_be_pushed_down(expr, &physical_file_schema)); + + if !unpushed.is_empty() { + return Some(VortexResult::Err(vortex_err!( + r#"VortexSource accepted but failed to push {} filters. + This should never happen if you have a properly configured + PhysicalExprAdapterFactory configured on the source. + + Failed filters: + + {unpushed:#?} + "#, + unpushed.len() + ))); + } - make_vortex_predicate(&exprs).transpose() + make_vortex_predicate(&pushed).transpose() }) .transpose() .map_err(|e| DataFusionError::External(e.into()))?; + println!("pushing Vortex filter: {filter:?}"); + if let Some(limit) = limit && filter.is_none() { @@ -339,6 +370,7 @@ fn byte_range_to_row_range(byte_range: Range, row_count: u64, total_size: u mod tests { use std::sync::LazyLock; + use arrow_schema::Field; use arrow_schema::Fields; use datafusion::arrow::array::RecordBatch; use datafusion::arrow::array::StringArray; @@ -431,8 +463,9 @@ mod tests { #[rstest] #[case(Some(Arc::new(DefaultPhysicalExprAdapterFactory) as _), (1, 3), (0, 0))] - // If we don't have a physical expr adapter, we just drop filters on partition values - #[case(None, (1, 3), (1, 3))] + // If no adapter is provided, we will fail at runtime due to not being able to merge + // schemas. + #[case(None, (1, 3), (0, 0))] #[tokio::test] async fn test_adapter_optimization_partition_column( #[case] expr_adapter_factory: Option>, diff --git a/vortex-datafusion/src/persistent/source.rs b/vortex-datafusion/src/persistent/source.rs index 9ac13352716..e7ab631283f 100644 --- a/vortex-datafusion/src/persistent/source.rs +++ b/vortex-datafusion/src/persistent/source.rs @@ -7,7 +7,6 @@ use std::sync::Arc; use std::sync::Weak; use datafusion_common::Result as DFResult; -use datafusion_common::Statistics; use datafusion_common::config::ConfigOptions; use datafusion_datasource::TableSchema; use datafusion_datasource::file::FileSource; diff --git a/vortex-datafusion/tests/schema_evolution.rs b/vortex-datafusion/tests/schema_evolution.rs index 8056fa9ac58..90d83eef978 100644 --- a/vortex-datafusion/tests/schema_evolution.rs +++ b/vortex-datafusion/tests/schema_evolution.rs @@ -16,17 +16,20 @@ use arrow_schema::DataType; use arrow_schema::Field; use arrow_schema::Schema; use arrow_schema::SchemaRef; +use datafusion::arrow::array::Array; +use datafusion::arrow::array::ArrayRef as ArrowArrayRef; +use datafusion::arrow::array::Int32Array; use datafusion::arrow::array::RecordBatch; use datafusion::arrow::array::StringViewArray; -use datafusion::arrow::array::{Array, Int32Array}; -use datafusion::arrow::array::{ArrayRef as ArrowArrayRef, StructArray}; +use datafusion::arrow::array::StructArray; use datafusion::arrow::compute::concat_batches; use datafusion::datasource::listing::ListingOptions; use datafusion::datasource::listing::ListingTable; use datafusion::datasource::listing::ListingTableConfig; use datafusion::execution::SessionStateBuilder; use datafusion::execution::context::SessionContext; -use datafusion_common::{create_array, record_batch}; +use datafusion_common::create_array; +use datafusion_common::record_batch; use datafusion_datasource::ListingTableUrl; use datafusion_expr::col; use datafusion_expr::lit; @@ -35,8 +38,8 @@ use object_store::ObjectStore; use object_store::memory::InMemory; use object_store::path::Path; use url::Url; -use vortex::array::ArrayRef; use vortex::VortexSessionDefault; +use vortex::array::ArrayRef; use vortex::array::arrow::FromArrowArray; use vortex::file::WriteOptionsSessionExt; use vortex::io::ObjectStoreWriter; @@ -401,8 +404,12 @@ async fn test_filter_schema_evolution_struct_fields() { let expected = concat_batches( &table_schema, &[ - make_metrics("host01", vec![1, 2, 3, 4], Some(vec![None; 4])), - make_metrics("host02", vec![10, 20], Some(vec![Some("c6i"), Some("c6i")])), + make_metrics("host01.local", vec![1, 2, 3, 4], Some(vec![None; 4])), + make_metrics( + "host02.local", + vec![10, 20], + Some(vec![Some("c6i"), Some("c6i")]), + ), ], ) .unwrap();