diff --git a/backend/Cargo.lock b/backend/Cargo.lock index cfcc4addfb..79bbe0f2e3 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.1" @@ -113,13 +104,28 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" +[[package]] +name = "alloc-no-stdlib" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2fb6cfd47bf496ff64095c20eaba0c201404ee38714d4142fcfa1dc334fcc7a" + [[package]] name = "alloc-stdlib" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" dependencies = [ - "alloc-no-stdlib", + "alloc-no-stdlib 2.0.4", +] + +[[package]] +name = "alloc-stdlib" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5c1865780388bfa186411ab5f247819487fc4864c6e9c3106611fa347586e1" +dependencies = [ + "alloc-no-stdlib 3.0.0", ] [[package]] @@ -247,7 +253,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73cd58deff2140a0a8eae87e417bd01db68a33e148aa93d1e8cd837e55e312b6" dependencies = [ - "object 0.39.1", + "object", ] [[package]] @@ -266,7 +272,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "134c52ddac6d63c576bef8168db10c83c49c26444ecbc68060fef078925a901c" dependencies = [ "base64ct", - "blake2 0.11.0", + "blake2", "cpufeatures 0.3.1", "password-hash", ] @@ -294,9 +300,9 @@ checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" [[package]] name = "arrow" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f15b4c6b148206ff3a2b35002e08929c2462467b62b9c02036d9c34f9ef994" +checksum = "234ce58e76c04e8162c2e4bc3fe53fa7c2418ef5fba7bb2838b8531b7d4fbf14" dependencies = [ "arrow-arith", "arrow-array", @@ -315,23 +321,23 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30feb679425110209ae35c3fbf82404a39a4c0436bb3ec36164d8bffed2a4ce4" +checksum = "2303ebedb1071f4f72d71171e383859a9a285c94d99e4892685a96fca9890720" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", - "num", + "num-traits", ] [[package]] name = "arrow-array" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70732f04d285d49054a48b72c54f791bb3424abae92d27aafdf776c98af161c8" +checksum = "51dff6e4b9f158864a0aeb6a131ad53858ecbae7a2fc8989307b9b3c6b2f122e" dependencies = [ "ahash 0.8.12", "arrow-buffer", @@ -340,47 +346,62 @@ dependencies = [ "chrono", "chrono-tz", "half", - "hashbrown 0.15.5", - "num", + "hashbrown 0.17.1", + "num-complex", + "num-integer", + "num-traits", ] [[package]] name = "arrow-buffer" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169b1d5d6cb390dd92ce582b06b23815c7953e9dfaaea75556e89d890d19993d" +checksum = "c7235b863533e9db3ab86905b4521251de11226275b436ff3cb2d0010558d1c5" dependencies = [ "bytes", "half", - "num", + "num-bigint 0.5.1", + "num-traits", ] [[package]] name = "arrow-cast" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4f12eccc3e1c05a766cafb31f6a60a46c2f8efec9b74c6e0648766d30686af8" +checksum = "d52cf840f0c34aeeb7e8b05aba72d66878e6c001827f423331f0b260209e7b7e" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", + "arrow-ord", "arrow-schema", "arrow-select", - "atoi", - "base64 0.22.1", + "atoi 3.1.0", + "base64 0.23.1", "chrono", "comfy-table", "half", "lexical-core", - "num", + "num-traits", "ryu", ] [[package]] -name = "arrow-csv" -version = "55.2.0" +name = "arrow-cmp" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "012c9fef3f4a11573b2c74aec53712ff9fdae4a95f4ce452d1bbf088ee00f06b" +checksum = "73a0e9adb28d95739fabcdae637261a2c14e618caf58ba1b88857120f9ee2687" +dependencies = [ + "arrow-array", + "arrow-buffer", + "arrow-schema", +] + +[[package]] +name = "arrow-csv" +version = "60.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ad83176cc677f996096d694a3cccd7310069faeee4b3df9e2dabf92fdcf8b4b" dependencies = [ "arrow-array", "arrow-cast", @@ -393,60 +414,67 @@ dependencies = [ [[package]] name = "arrow-data" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de1ce212d803199684b658fc4ba55fb2d7e87b213de5af415308d2fee3619c2" +checksum = "5aa06d5e22786c4966ffc4d2f171d0cb65d95f6bdea108a14e8c335e9faa437f" dependencies = [ "arrow-buffer", "arrow-schema", "half", - "num", + "num-integer", + "num-traits", ] [[package]] name = "arrow-ipc" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9ea5967e8b2af39aff5d9de2197df16e305f47f404781d3230b2dc672da5d92" +checksum = "86c523472d22e31f984df7a44fc36e6323d3c9b05ffe53d267ee4c3aa7c128d2" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", + "arrow-select", "flatbuffers", - "lz4_flex 0.11.6", + "lz4_flex", + "zstd 0.14.0", ] [[package]] name = "arrow-json" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5709d974c4ea5be96d900c01576c7c0b99705f4a3eec343648cb1ca863988a9c" +checksum = "342fc6600a93a48038d853431803c941436b7b51f756763e76cad9784b7e3718" dependencies = [ "arrow-array", "arrow-buffer", "arrow-cast", - "arrow-data", + "arrow-ord", "arrow-schema", + "arrow-select", "chrono", "half", "indexmap 2.14.2", + "itoa", "lexical-core", "memchr", - "num", - "serde", + "num-traits", + "ryu", + "serde_core", "serde_json", "simdutf8", ] [[package]] name = "arrow-ord" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6506e3a059e3be23023f587f79c82ef0bcf6d293587e3272d20f2d30b969b5a7" +checksum = "5a7ac2c6a9cdc782fa9548d3763461eaec8c93347e297fddbaa44807e70a3698" dependencies = [ "arrow-array", "arrow-buffer", + "arrow-cmp", "arrow-data", "arrow-schema", "arrow-select", @@ -454,9 +482,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52bf7393166beaf79b4bed9bfdf19e97472af32ce5b6b48169d321518a08cae2" +checksum = "758b87e9648d80001e0916c083334ed93074c677a81a96144d5c84bd2d8eab2a" dependencies = [ "arrow-array", "arrow-buffer", @@ -467,29 +495,34 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7686986a3bf2254c9fb130c623cdcb2f8e1f15763e7c71c310f0834da3d292" +checksum = "f85a9a58cd03560526b0066487574aacb9008e413504fa0ee23d61141e96c338" +dependencies = [ + "serde_core", + "serde_json", +] [[package]] name = "arrow-select" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2b45757d6a2373faa3352d02ff5b54b098f5e21dccebc45a21806bc34501e5" +checksum = "ba3482b7d03bf4a3bf0b195f08a7f2b071595ccd54897e35b975ac63d3104977" dependencies = [ "ahash 0.8.12", "arrow-array", "arrow-buffer", + "arrow-cmp", "arrow-data", "arrow-schema", - "num", + "num-traits", ] [[package]] name = "arrow-string" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0377d532850babb4d927a06294314b316e23311503ed580ec6ce6a0158f49d40" +checksum = "f300b4400b1e7cd58f7cbbd5dd2a0072cc59e73bfaee2a152b3ac660e46d9dd1" dependencies = [ "arrow-array", "arrow-buffer", @@ -497,7 +530,7 @@ dependencies = [ "arrow-schema", "arrow-select", "memchr", - "num", + "num-traits", "regex", "regex-syntax 0.8.11", ] @@ -639,21 +672,15 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.19" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06575e6a9673580f52661c92107baabffbf41e2141373441cbcdc47cb733003c" +checksum = "a3789ca2cd1c4e8ce71fe9bd6312566014e20ff3016fc87bc71c59ff93b5fa61" dependencies = [ - "brotli 7.0.0", - "bzip2", - "flate2", - "futures-core", + "compression-codecs", + "compression-core", "futures-io", - "memchr", "pin-project-lite", "tokio", - "xz2", - "zstd", - "zstd-safe", ] [[package]] @@ -914,6 +941,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "atoi" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a8bbe9949e43a1edaa043038c68703b04774156afdfb62ba2cef5bf93d67be" +dependencies = [ + "num-traits", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -1625,21 +1661,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "backtrace" -version = "0.3.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide 0.8.9", - "object 0.37.3", - "rustc-demangle", - "windows-link 0.2.1", -] - [[package]] name = "base16ct" version = "0.2.0" @@ -1709,7 +1730,7 @@ checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" dependencies = [ "autocfg", "libm", - "num-bigint", + "num-bigint 0.4.8", "num-integer", "num-traits", ] @@ -1820,15 +1841,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "blake2" version = "0.11.0" @@ -2018,36 +2030,26 @@ dependencies = [ "syn 2.0.119", ] -[[package]] -name = "brotli" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor 4.0.3", -] - [[package]] name = "brotli" version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", + "alloc-no-stdlib 2.0.4", + "alloc-stdlib 0.2.4", "brotli-decompressor 5.0.3", ] [[package]] -name = "brotli-decompressor" -version = "4.0.3" +name = "brotli" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" +checksum = "f8b851b75c23ca7873623d612fe49bd1989aeb03d08fb9432187eb253d3d4c6b" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", + "alloc-no-stdlib 3.0.0", + "alloc-stdlib 0.3.0", + "brotli-decompressor 6.0.1", ] [[package]] @@ -2056,8 +2058,18 @@ version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", + "alloc-no-stdlib 2.0.4", + "alloc-stdlib 0.2.4", +] + +[[package]] +name = "brotli-decompressor" +version = "6.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941cd9bd4ddab83cb46fa5a2d428f1c857b24ac78cb876cf7beb710840934bd7" +dependencies = [ + "alloc-no-stdlib 3.0.0", + "alloc-stdlib 0.3.0", ] [[package]] @@ -2195,21 +2207,11 @@ checksum = "2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659" [[package]] name = "bzip2" -version = "0.5.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47" +checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" dependencies = [ - "bzip2-sys", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.13+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" -dependencies = [ - "cc", - "pkg-config", + "libbz2-rs-sys", ] [[package]] @@ -2489,7 +2491,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b77c319abfd5219629c45c34c89ba945ed3c5e49fcde9d16b6c3885f118a730" dependencies = [ - "const-oid", + "const-oid 0.9.6", "der", "spki", "x509-cert", @@ -2513,9 +2515,9 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.2.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" +checksum = "b96a46ad395a5e00676eddaca4a45ed78b29c08be5a878d35e4b071c625637dd" dependencies = [ "unicode-segmentation", "unicode-width 0.2.2", @@ -2534,6 +2536,28 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "compression-codecs" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f018b36ac50598f7bfb0aa6094281e253e6b3cbc507a69652d2fb963a326d8d" +dependencies = [ + "brotli 8.0.4", + "bzip2", + "compression-core", + "flate2", + "liblzma", + "memchr", + "zstd 0.14.0", + "zstd-safe 8.0.0", +] + +[[package]] +name = "compression-core" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e8ccc4ea9f6acc32d102c0f6d471d11d913ad15f20c04de743374861fa1d414" + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -2568,6 +2592,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + [[package]] name = "const-random" version = "0.1.18" @@ -2736,6 +2766,16 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" +[[package]] +name = "crc-fast" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e75b2483e97a5a7da73ac68a05b629f9c53cff58d8ed1c77866079e18b00dba5" +dependencies = [ + "digest 0.10.7", + "spin 0.10.1", +] + [[package]] name = "crc32fast" version = "1.5.2" @@ -3138,15 +3178,12 @@ checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" [[package]] name = "datafusion" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe060b978f74ab446be722adb8a274e052e005bf6dfd171caadc3abaad10080" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", - "arrow-ipc", "arrow-schema", "async-trait", - "bytes", "bzip2", "chrono", "datafusion-catalog", @@ -3154,6 +3191,7 @@ dependencies = [ "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", + "datafusion-datasource-arrow", "datafusion-datasource-csv", "datafusion-datasource-json", "datafusion-datasource-parquet", @@ -3165,9 +3203,9 @@ dependencies = [ "datafusion-functions-nested", "datafusion-functions-table", "datafusion-functions-window", - "datafusion-macros", "datafusion-optimizer", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-optimizer", "datafusion-physical-plan", @@ -3175,27 +3213,25 @@ dependencies = [ "datafusion-sql", "flate2", "futures", - "itertools 0.14.0", + "indexmap 2.14.2", + "itertools 0.15.0", + "liblzma", "log", "object_store", "parking_lot", "parquet", - "rand 0.8.5", - "regex", - "sqlparser 0.55.0", + "sqlparser 0.63.0", "tempfile", "tokio", "url", "uuid", - "xz2", - "zstd", + "zstd 0.14.0", ] [[package]] name = "datafusion-catalog" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61fe34f401bd03724a1f96d12108144f8cd495a3cdda2bf5e091822fb80b7e66" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "async-trait", @@ -3208,9 +3244,8 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-plan", "datafusion-session", - "datafusion-sql", "futures", - "itertools 0.14.0", + "itertools 0.15.0", "log", "object_store", "parking_lot", @@ -3219,9 +3254,8 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4411b8e3bce5e0fc7521e44f201def2e2d5d1b5f176fb56e8cdc9942c890f00" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "async-trait", @@ -3231,44 +3265,46 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-plan", - "datafusion-session", "futures", + "itertools 0.15.0", "log", "object_store", - "tokio", + "percent-encoding", ] [[package]] name = "datafusion-common" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0734015d81c8375eb5d4869b7f7ecccc2ee8d6cb81948ef737cd0e7b743bd69c" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "ahash 0.8.12", "arrow", "arrow-ipc", - "base64 0.22.1", + "arrow-schema", + "chrono", + "foldhash 0.2.0", "half", - "hashbrown 0.14.5", + "hashbrown 0.17.1", "indexmap 2.14.2", + "itertools 0.15.0", "libc", "log", + "num-traits", "object_store", "parquet", - "paste", "recursive", - "sqlparser 0.55.0", + "sqlparser 0.63.0", "tokio", + "uuid", "web-time", ] [[package]] name = "datafusion-common-runtime" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5167bb1d2ccbb87c6bc36c295274d7a0519b14afcfdaf401d53cbcaa4ef4968b" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "futures", "log", @@ -3277,9 +3313,8 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e602dcdf2f50c2abf297cc2203c73531e6f48b29516af7695d338cf2a778b1" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "async-compression", @@ -3292,41 +3327,62 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", "flate2", "futures", "glob", - "itertools 0.14.0", + "itertools 0.15.0", + "liblzma", "log", "object_store", - "parquet", - "rand 0.8.5", - "tempfile", + "parking_lot", + "pin-project-lite", + "rand 0.9.5", "tokio", "tokio-util", "url", - "xz2", - "zstd", + "zstd 0.14.0", ] [[package]] +name = "datafusion-datasource-arrow" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" +dependencies = [ + "arrow", + "arrow-ipc", + "async-trait", + "bytes", + "datafusion-common", + "datafusion-common-runtime", + "datafusion-datasource", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "datafusion-session", + "futures", + "itertools 0.15.0", + "object_store", + "tokio", +] + +[[package]] name = "datafusion-datasource-csv" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bb2253952dc32296ed5b84077cb2e0257fea4be6373e1c376426e17ead4ef6" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "async-trait", "bytes", - "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", "datafusion-execution", "datafusion-expr", - "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", @@ -3338,92 +3394,95 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8c7f47a5d2fe03bfa521ec9bafdb8a5c82de8377f60967c3663f00c8790352" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "async-trait", "bytes", - "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", "datafusion-execution", "datafusion-expr", - "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", "futures", "object_store", - "serde_json", "tokio", + "tokio-stream", ] [[package]] name = "datafusion-datasource-parquet" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d15868ea39ed2dc266728b554f6304acd473de2142281ecfa1294bb7415923" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", + "arrow-schema", "async-trait", "bytes", - "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-datasource", "datafusion-execution", "datafusion-expr", - "datafusion-functions-aggregate", + "datafusion-functions", + "datafusion-functions-aggregate-common", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", - "datafusion-physical-optimizer", "datafusion-physical-plan", + "datafusion-pruning", "datafusion-session", "futures", - "itertools 0.14.0", + "itertools 0.15.0", "log", "object_store", "parking_lot", "parquet", - "rand 0.8.5", "tokio", ] [[package]] name = "datafusion-doc" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91f8c2c5788ef32f48ff56c68e5b545527b744822a284373ac79bba1ba47292" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" [[package]] name = "datafusion-execution" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06f004d100f49a3658c9da6fb0c3a9b760062d96cd4ad82ccc3b7b69a9fb2f84" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", + "arrow-buffer", + "async-trait", + "bytes", "dashmap", "datafusion-common", "datafusion-expr", + "datafusion-physical-expr-common", "futures", "log", "object_store", "parking_lot", - "rand 0.8.5", + "pin-project-lite", + "rand 0.9.5", "tempfile", + "tokio", + "tokio-util", "url", ] [[package]] name = "datafusion-expr" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a4e4ce3802609be38eeb607ee72f6fe86c3091460de9dbfae9e18db423b3964" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", + "arrow-schema", + "async-trait", "chrono", "datafusion-common", "datafusion-doc", @@ -3432,62 +3491,61 @@ dependencies = [ "datafusion-functions-window-common", "datafusion-physical-expr-common", "indexmap 2.14.2", - "paste", + "itertools 0.15.0", "recursive", "serde_json", - "sqlparser 0.55.0", + "sqlparser 0.63.0", ] [[package]] name = "datafusion-expr-common" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422ac9cf3b22bbbae8cdf8ceb33039107fde1b5492693168f13bd566b1bcc839" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "datafusion-common", "indexmap 2.14.2", - "itertools 0.14.0", - "paste", + "itertools 0.15.0", ] [[package]] name = "datafusion-functions" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ddf0a0a2db5d2918349c978d42d80926c6aa2459cd8a3c533a84ec4bb63479e" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "arrow-buffer", - "base64 0.22.1", - "blake2 0.10.6", + "base64 0.23.1", + "blake2", "blake3", "chrono", + "chrono-tz", "datafusion-common", "datafusion-doc", "datafusion-execution", "datafusion-expr", "datafusion-expr-common", "datafusion-macros", + "datafusion-physical-expr-common", "hex", - "itertools 0.14.0", + "itertools 0.15.0", "log", - "md-5 0.10.6", - "rand 0.8.5", + "md-5 0.11.0", + "memchr", + "num-traits", + "rand 0.9.5", "regex", - "sha2 0.10.9", - "unicode-segmentation", + "sha2 0.11.0", "uuid", ] [[package]] name = "datafusion-functions-aggregate" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "408a05dafdc70d05a38a29005b8b15e21b0238734dab1e98483fcb58038c5aba" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "ahash 0.8.12", "arrow", + "arrow-select", "datafusion-common", "datafusion-doc", "datafusion-execution", @@ -3497,17 +3555,17 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-expr-common", "half", + "hashbrown 0.17.1", + "itertools 0.15.0", "log", - "paste", + "num-traits", ] [[package]] name = "datafusion-functions-aggregate-common" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756d21da2dd6c9bef97af1504970ff56cbf35d03fbd4ffd62827f02f4d2279d4" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "ahash 0.8.12", "arrow", "datafusion-common", "datafusion-expr-common", @@ -3516,9 +3574,8 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d8d50f6334b378930d992d801a10ac5b3e93b846b39e4a05085742572844537" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "arrow-ord", @@ -3526,37 +3583,40 @@ dependencies = [ "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", + "hashbrown 0.17.1", + "itertools 0.15.0", + "itoa", "log", - "paste", + "memchr", ] [[package]] name = "datafusion-functions-table" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9a97220736c8fff1446e936be90d57216c06f28969f9ffd3b72ac93c958c8a" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "async-trait", "datafusion-catalog", "datafusion-common", "datafusion-expr", + "datafusion-physical-expr", "datafusion-physical-plan", "parking_lot", - "paste", ] [[package]] name = "datafusion-functions-window" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cefc2d77646e1aadd1d6a9c40088937aedec04e68c5f0465939912e1291f8193" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ + "arrow", "datafusion-common", "datafusion-doc", "datafusion-expr", @@ -3565,14 +3625,12 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-expr-common", "log", - "paste", ] [[package]] name = "datafusion-functions-window-common" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4aff082c42fa6da99ce0698c85addd5252928c908eb087ca3cfa64ff16b313" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -3580,28 +3638,27 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6f88d7ee27daf8b108ba910f9015176b36fbc72902b1ca5c2a5f1d1717e1a1" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "datafusion-expr", + "datafusion-doc", "quote", - "syn 2.0.119", + "syn 3.0.6", ] [[package]] name = "datafusion-optimizer" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084d9f979c4b155346d3c34b18f4256e6904ded508e9554d90fed416415c3515" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "chrono", "datafusion-common", "datafusion-expr", + "datafusion-expr-common", "datafusion-physical-expr", "indexmap 2.14.2", - "itertools 0.14.0", + "itertools 0.15.0", "log", "recursive", "regex", @@ -3610,45 +3667,62 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c536062b0076f4e30084065d805f389f9fe38af0ca75bcbac86bc5e9fbab65" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "ahash 0.8.12", "arrow", + "arrow-schema", "datafusion-common", "datafusion-expr", "datafusion-expr-common", "datafusion-functions-aggregate-common", "datafusion-physical-expr-common", "half", - "hashbrown 0.14.5", + "hashbrown 0.17.1", "indexmap 2.14.2", - "itertools 0.14.0", - "log", - "paste", + "itertools 0.15.0", + "parking_lot", "petgraph", + "recursive", + "regex", + "tokio", +] + +[[package]] +name = "datafusion-physical-expr-adapter" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-expr", + "datafusion-functions", + "datafusion-physical-expr", + "datafusion-physical-expr-common", + "itertools 0.15.0", ] [[package]] name = "datafusion-physical-expr-common" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a92b53b3193fac1916a1c5b8e3f4347c526f6822e56b71faa5fb372327a863" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "ahash 0.8.12", "arrow", + "chrono", "datafusion-common", "datafusion-expr-common", - "hashbrown 0.14.5", - "itertools 0.14.0", + "hashbrown 0.17.1", + "indexmap 2.14.2", + "itertools 0.15.0", + "parking_lot", + "pin-project", + "regex", ] [[package]] name = "datafusion-physical-optimizer" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa0a5ac94c7cf3da97bedabd69d6bbca12aef84b9b37e6e9e8c25286511b5e2" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "datafusion-common", @@ -3658,80 +3732,94 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", - "itertools 0.14.0", - "log", + "datafusion-pruning", + "datafusion-session", + "itertools 0.15.0", "recursive", ] [[package]] name = "datafusion-physical-plan" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "690c615db468c2e5fe5085b232d8b1c088299a6c63d87fd960a354a71f7acb55" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "ahash 0.8.12", "arrow", + "arrow-data", + "arrow-ipc", "arrow-ord", "arrow-schema", "async-trait", - "chrono", + "bytes", "datafusion-common", "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", + "datafusion-expr-common", + "datafusion-functions", + "datafusion-functions-aggregate-common", "datafusion-functions-window-common", "datafusion-physical-expr", "datafusion-physical-expr-common", "futures", "half", - "hashbrown 0.14.5", + "hashbrown 0.17.1", "indexmap 2.14.2", - "itertools 0.14.0", + "itertools 0.15.0", "log", + "num-traits", "parking_lot", "pin-project-lite", + "serde_json", "tokio", ] +[[package]] +name = "datafusion-pruning" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-datasource", + "datafusion-expr-common", + "datafusion-physical-expr", + "datafusion-physical-expr-common", + "datafusion-physical-plan", + "log", +] + [[package]] name = "datafusion-session" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad229a134c7406c057ece00c8743c0c34b97f4e72f78b475fe17b66c5e14fa4f" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ - "arrow", + "arrow-schema", "async-trait", - "dashmap", "datafusion-common", - "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", - "datafusion-physical-expr", "datafusion-physical-plan", - "datafusion-sql", "futures", - "itertools 0.14.0", - "log", - "object_store", "parking_lot", - "tokio", ] [[package]] name = "datafusion-sql" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f6ab28b72b664c21a27b22a2ff815fd390ed224c26e89a93b5a8154a4e8607" +version = "55.1.0" +source = "git+https://github.com/apache/datafusion?rev=2cac713274496ba8ee08e58655e80f0d464f6d48#2cac713274496ba8ee08e58655e80f0d464f6d48" dependencies = [ "arrow", "bigdecimal", + "chrono", "datafusion-common", "datafusion-expr", + "datafusion-functions-nested", "indexmap 2.14.2", "log", "recursive", "regex", - "sqlparser 0.55.0", + "sqlparser 0.63.0", + "stacker", ] [[package]] @@ -3894,7 +3982,7 @@ dependencies = [ "aws-lc-rs", "base64 0.22.1", "cbc", - "const-oid", + "const-oid 0.9.6", "ctr", "curve25519-dalek", "deno_core", @@ -4306,7 +4394,7 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid", + "const-oid 0.9.6", "der_derive", "flagset", "pem-rfc7468", @@ -4322,7 +4410,7 @@ dependencies = [ "asn1-rs 0.6.2", "displaydoc", "nom", - "num-bigint", + "num-bigint 0.4.8", "num-traits", "rusticata-macros", ] @@ -4336,7 +4424,7 @@ dependencies = [ "asn1-rs 0.7.2", "displaydoc", "nom", - "num-bigint", + "num-bigint 0.4.8", "num-traits", "rusticata-macros", ] @@ -4501,7 +4589,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", + "const-oid 0.9.6", "crypto-common 0.1.7", "subtle", ] @@ -4513,6 +4601,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ "block-buffer 0.12.1", + "const-oid 0.10.2", "crypto-common 0.2.2", "ctutils", ] @@ -4664,7 +4753,7 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf592ae6a864437e98ef9c6ae7936b822077e9d038a3a48ee081ab92313afad4" dependencies = [ - "num-bigint", + "num-bigint 0.4.8", "rustc-hash 2.1.3", "swc_atoms", "swc_common", @@ -5607,12 +5696,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.32.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" - [[package]] name = "git-version" version = "0.3.9" @@ -5892,6 +5975,8 @@ version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" dependencies = [ + "allocator-api2", + "equivalent", "foldhash 0.2.0", ] @@ -6661,12 +6746,6 @@ dependencies = [ "cfg-if", ] -[[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.24" @@ -6687,17 +6766,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "io-uring" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3bd0ecfbb87805f538bb7b32e5239ca0763890c623e349860ecba69469f2bb" -dependencies = [ - "bitflags 2.13.2", - "cfg-if", - "libc", -] - [[package]] name = "ipconfig" version = "0.3.4" @@ -6786,6 +6854,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.18" @@ -7250,6 +7327,12 @@ dependencies = [ "lexical-util", ] +[[package]] +name = "libbz2-rs-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b357333733e8260735ba5894eb928c02ecc69c78715f01a8019e7fa7f2db4c" + [[package]] name = "libc" version = "0.2.189" @@ -7297,6 +7380,26 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "liblzma" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fe0a34ca854fd4f20c07f696fc8675aec78f87d88d29f5e10257a7490a1b2e1" +dependencies = [ + "liblzma-sys", +] + +[[package]] +name = "liblzma-sys" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c7e3581f367a78d7b7e7ae948d023310556f0cfc13156c2e4e00e25616492b9" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "libm" version = "0.2.16" @@ -7463,30 +7566,13 @@ dependencies = [ "nu-ansi-term", ] -[[package]] -name = "lz4_flex" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373f5eceeeab7925e0c1098212f2fbc4d416adec9d35051a6ab251e824c1854a" -dependencies = [ - "twox-hash", -] - [[package]] name = "lz4_flex" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecbdfe44b1bd960b68170b417450a628c43f7cf56bb3c5317e61cb230ee7f226" - -[[package]] -name = "lzma-sys" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" dependencies = [ - "cc", - "libc", - "pkg-config", + "twox-hash", ] [[package]] @@ -7709,6 +7795,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "md-5" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +dependencies = [ + "cfg-if", + "digest 0.11.3", +] + [[package]] name = "md5" version = "0.6.1" @@ -7913,7 +8009,7 @@ dependencies = [ "darling 0.23.0", "heck", "manyhow", - "num-bigint", + "num-bigint 0.4.8", "proc-macro-crate", "proc-macro2", "quote", @@ -7968,7 +8064,7 @@ dependencies = [ "flate2", "getrandom 0.3.4", "mysql-common-derive", - "num-bigint", + "num-bigint 0.4.8", "num-traits", "regex", "rust_decimal", @@ -8243,20 +8339,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.8" @@ -8269,6 +8351,16 @@ dependencies = [ "serde", ] +[[package]] +name = "num-bigint" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93e7820bc0a80a0238e650327316f929ba18d5be054b647490a3a6a339f3e7c0" +dependencies = [ + "num-integer", + "num-traits", +] + [[package]] name = "num-bigint-dig" version = "0.8.6" @@ -8330,17 +8422,6 @@ dependencies = [ "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" @@ -8409,15 +8490,6 @@ dependencies = [ "url", ] -[[package]] -name = "object" -version = "0.37.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" -dependencies = [ - "memchr", -] - [[package]] name = "object" version = "0.39.1" @@ -8429,29 +8501,34 @@ dependencies = [ [[package]] name = "object_store" -version = "0.12.0" -source = "git+https://github.com/apache/arrow-rs-object-store?rev=36752c975d4f29e20b57c91f81a10872dcd48ae7#36752c975d4f29e20b57c91f81a10872dcd48ae7" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1796bc93603f78c5760a69f2d58badc9618d22adade0a95385bb2adbae4eb94" dependencies = [ "async-trait", - "base64 0.22.1", + "aws-lc-rs", + "base64 0.23.1", "bytes", "chrono", + "crc-fast", "form_urlencoded", - "futures", + "futures-channel", + "futures-core", + "futures-util", "http 1.5.0", "http-body-util", "httparse", "humantime", "hyper 1.11.1", - "itertools 0.14.0", - "md-5 0.10.6", + "itertools 0.15.0", + "md-5 0.11.0", + "nix 0.31.3", "parking_lot", "percent-encoding", "quick-xml", - "rand 0.9.5", - "reqwest 0.12.28", - "ring 0.17.14", - "rustls-pemfile 2.2.0", + "rand 0.10.3", + "reqwest 0.13.5", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", @@ -8462,6 +8539,7 @@ dependencies = [ "walkdir", "wasm-bindgen-futures", "web-time", + "windows-sys 0.61.2", ] [[package]] @@ -9005,38 +9083,36 @@ dependencies = [ [[package]] name = "parquet" -version = "55.2.0" +version = "60.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17da4150748086bd43352bc77372efa9b6e3dbd06a04831d2a98c041c225cfa" +checksum = "8af83d2940bc0510f9aef86d865f56fdc6095f87ab115ac885a80b7c5226d3ba" dependencies = [ "ahash 0.8.12", "arrow-array", "arrow-buffer", - "arrow-cast", "arrow-data", "arrow-ipc", "arrow-schema", "arrow-select", - "base64 0.22.1", - "brotli 8.0.4", + "base64 0.23.1", + "brotli 9.0.0", "bytes", "chrono", "flate2", "futures", "half", - "hashbrown 0.15.5", - "lz4_flex 0.11.6", - "num", - "num-bigint", + "hashbrown 0.17.1", + "lz4_flex", + "num-bigint 0.5.1", + "num-integer", + "num-traits", "object_store", - "paste", "seq-macro", "simdutf8", "snap", - "thrift", "tokio", "twox-hash", - "zstd", + "zstd 0.14.0", ] [[package]] @@ -9164,12 +9240,14 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.7.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", + "hashbrown 0.15.5", "indexmap 2.14.2", + "serde", ] [[package]] @@ -9366,7 +9444,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "695b3df3d3cc1015f12d70235e35b6b79befc5fa7a9b95b951eab1dd07c9efc2" dependencies = [ "cms", - "const-oid", + "const-oid 0.9.6", "der", "digest 0.10.7", "spki", @@ -9828,9 +9906,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.37.5" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" dependencies = [ "memchr", "serde", @@ -10348,7 +10426,6 @@ dependencies = [ "pin-project-lite", "quinn", "rustls 0.23.35", - "rustls-native-certs 0.8.4", "rustls-pki-types", "serde", "serde_json", @@ -10634,7 +10711,7 @@ version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" dependencies = [ - "const-oid", + "const-oid 0.9.6", "digest 0.10.7", "num-bigint-dig", "num-integer", @@ -10721,12 +10798,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "rustc-demangle" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74b56ffa8bb2830709a538c2cbcae9aa062db0d2a42563bfb09bdaae44020eb" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -11095,8 +11166,8 @@ dependencies = [ [[package]] name = "samael" -version = "0.0.20" -source = "git+https://github.com/njaremko/samael?rev=f879f1942ec1b34b6d3027ce7e4724ad95d15dfa#f879f1942ec1b34b6d3027ce7e4724ad95d15dfa" +version = "0.0.22" +source = "git+https://github.com/njaremko/samael?rev=2d27dfe4930c4632b202f32886a85b2d1f9226c2#2d27dfe4930c4632b202f32886a85b2d1f9226c2" dependencies = [ "base64 0.22.1", "bindgen 0.72.1", @@ -11520,7 +11591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3495190857461e87a2716141043218aad5281f219f54a03b7ebbe605b3b931df" dependencies = [ "deno_error 0.6.1", - "num-bigint", + "num-bigint 0.4.8", "serde", "smallvec", "thiserror 2.0.21", @@ -11658,6 +11729,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "digest 0.11.3", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -11758,7 +11840,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d" dependencies = [ - "num-bigint", + "num-bigint 0.4.8", "num-traits", "thiserror 2.0.21", "time", @@ -11903,6 +11985,12 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spin" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3" + [[package]] name = "spki" version = "0.7.3" @@ -11935,17 +12023,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "sqlparser" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4521174166bac1ff04fe16ef4524c70144cd29682a45978978ca3d7f4e0be11" -dependencies = [ - "log", - "recursive", - "sqlparser_derive", -] - [[package]] name = "sqlparser" version = "0.59.0" @@ -11954,7 +12031,18 @@ checksum = "4591acadbcf52f0af60eafbb2c003232b2b4cd8de5f0e9437cb8b1b59046cc0f" dependencies = [ "log", "recursive", - "sqlparser_derive", + "sqlparser_derive 0.3.0", +] + +[[package]] +name = "sqlparser" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3679862809bd1f92e563cf6fd820e28f39135303668001c10331d5027183e8b4" +dependencies = [ + "log", + "recursive", + "sqlparser_derive 0.6.0", ] [[package]] @@ -11968,6 +12056,17 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "sqlparser_derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2905ae8e8148d8f7f5748ea95d1e949fa4fc1d7f5161547b758ad118b2e4b0aa" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + [[package]] name = "sqlx" version = "0.8.6" @@ -12059,7 +12158,7 @@ name = "sqlx-mysql" version = "0.8.6" source = "git+https://github.com/windmill-labs/sqlx?rev=6bdaee94fa62a01561125646da3f99eb341f2457#6bdaee94fa62a01561125646da3f99eb341f2457" dependencies = [ - "atoi", + "atoi 2.0.0", "base64 0.22.1", "bigdecimal", "bitflags 2.13.2", @@ -12103,7 +12202,7 @@ name = "sqlx-postgres" version = "0.8.6" source = "git+https://github.com/windmill-labs/sqlx?rev=6bdaee94fa62a01561125646da3f99eb341f2457#6bdaee94fa62a01561125646da3f99eb341f2457" dependencies = [ - "atoi", + "atoi 2.0.0", "base64 0.22.1", "bigdecimal", "bitflags 2.13.2", @@ -12123,7 +12222,7 @@ dependencies = [ "log", "md-5 0.10.6", "memchr", - "num-bigint", + "num-bigint 0.4.8", "once_cell", "rand 0.8.5", "serde", @@ -12143,7 +12242,7 @@ name = "sqlx-sqlite" version = "0.8.6" source = "git+https://github.com/windmill-labs/sqlx?rev=6bdaee94fa62a01561125646da3f99eb341f2457#6bdaee94fa62a01561125646da3f99eb341f2457" dependencies = [ - "atoi", + "atoi 2.0.0", "chrono", "flume", "futures-channel", @@ -12334,7 +12433,7 @@ dependencies = [ "either", "from_variant", "new_debug_unreachable", - "num-bigint", + "num-bigint 0.4.8", "once_cell", "rustc-hash 2.1.3", "serde", @@ -12382,7 +12481,7 @@ checksum = "65c25af97d53cf8aab66a6c68f3418663313fc969ad267fc2a4d19402c329be1" dependencies = [ "bitflags 2.13.2", "is-macro", - "num-bigint", + "num-bigint 0.4.8", "once_cell", "phf 0.11.3", "rustc-hash 2.1.3", @@ -12403,7 +12502,7 @@ dependencies = [ "ascii", "compact_str", "memchr", - "num-bigint", + "num-bigint 0.4.8", "once_cell", "regex", "rustc-hash 2.1.3", @@ -12438,7 +12537,7 @@ dependencies = [ "arrayvec", "bitflags 2.13.2", "either", - "num-bigint", + "num-bigint 0.4.8", "phf 0.11.3", "rustc-hash 2.1.3", "seq-macro", @@ -12474,7 +12573,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e9011783c975ba592ffc09cd208ced92b1dfabb2e5e0ef453559e2e25286127" dependencies = [ "either", - "num-bigint", + "num-bigint 0.4.8", "serde", "swc_atoms", "swc_common", @@ -12616,7 +12715,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75a579aa8f9e212af521588df720ccead079c09fe5c8f61007cf724324aed3a0" dependencies = [ "new_debug_unreachable", - "num-bigint", + "num-bigint 0.4.8", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -12870,7 +12969,7 @@ dependencies = [ "levenshtein_automata", "log", "lru 0.18.5", - "lz4_flex 0.14.0", + "lz4_flex", "measure_time", "memmap2", "once_cell", @@ -12966,7 +13065,7 @@ dependencies = [ "tantivy-bitpacker", "tantivy-common", "tantivy-fst", - "zstd", + "zstd 0.13.3", ] [[package]] @@ -13124,17 +13223,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "thrift" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" -dependencies = [ - "byteorder", - "integer-encoding", - "ordered-float 2.10.1", -] - [[package]] name = "tiberius" version = "0.12.3" @@ -13313,23 +13401,20 @@ dependencies = [ [[package]] name = "tokio" -version = "1.46.1" +version = "1.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "slab", - "socket2 0.5.10", + "socket2 0.6.5", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -13358,13 +13443,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.6", ] [[package]] @@ -13478,6 +13563,7 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", + "tokio-util", ] [[package]] @@ -13690,7 +13776,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "zstd", + "zstd 0.13.3", ] [[package]] @@ -15906,7 +15992,6 @@ dependencies = [ "lazy_static", "object_store", "quick_cache", - "reqwest 0.12.28", "reqwest 0.13.5", "serde", "serde_json", @@ -17425,7 +17510,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" dependencies = [ - "const-oid", + "const-oid 0.9.6", "der", "spki", ] @@ -17481,15 +17566,6 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" -[[package]] -name = "xz2" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" -dependencies = [ - "lzma-sys", -] - [[package]] name = "yaml-rust" version = "0.4.5" @@ -17663,7 +17739,16 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ - "zstd-safe", + "zstd-safe 7.3.0", +] + +[[package]] +name = "zstd" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf06bd8162af0734b344780deb55b42a2429ae430870d13fcc12f238e880fe6e" +dependencies = [ + "zstd-safe 8.0.0", ] [[package]] @@ -17675,6 +17760,15 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "zstd-safe" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae42c0555055784c70058d19ba8e275528e8a99a706684868ace5da4e716a4ab" +dependencies = [ + "zstd-sys", +] + [[package]] name = "zstd-sys" version = "2.1.0+zstd.1.5.7" diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 8fa694ec36..18798d9472 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -246,7 +246,6 @@ sqlx-macros-core = { git = "https://github.com/windmill-labs/sqlx", rev = "6bdae sqlx-postgres = { git = "https://github.com/windmill-labs/sqlx", rev = "6bdaee94fa62a01561125646da3f99eb341f2457" } sqlx-mysql = { git = "https://github.com/windmill-labs/sqlx", rev = "6bdaee94fa62a01561125646da3f99eb341f2457" } sqlx-sqlite = { git = "https://github.com/windmill-labs/sqlx", rev = "6bdaee94fa62a01561125646da3f99eb341f2457" } -object_store = { git = "https://github.com/apache/arrow-rs-object-store", rev = "36752c975d4f29e20b57c91f81a10872dcd48ae7" } # Use tiberius main branch for libgssapi 0.8.1 fix (https://github.com/prisma/tiberius/issues/343) tiberius = { git = "https://github.com/prisma/tiberius", rev = "59db57960a14b422fb3a1309aa4aa47880896ff8" } # Pin tokio-postgres / postgres-types / postgres-protocol to the @@ -462,7 +461,7 @@ headers = "^0" hyper = { version = "^1", features = ["full"] } hyper-tls = "^0.6" hyper-util = { version = "^0.1", features = ["client-legacy", "http1", "tokio"] } -tokio = { version = "=1.46.1", features = ["full", "tracing", "time"] } +tokio = { version = "=1.53.1", features = ["full", "tracing", "time"] } tokio-stream = { version = "0.1.17" } tower = "^0" tower-http = { version = "^0.6", features = ["trace", "cors", "catch-panic"] } @@ -507,12 +506,10 @@ php-parser-rs = { git = "https://github.com/php-rust-tools/parser", rev = "ec4cb cron = "^0" mail-send = { version = "0.4.0", features = ["builder"], default-features=false } urlencoding = "^2" -quick-xml = { version = "^0.37", features = ["serialize"] } +quick-xml = { version = "^0.41", features = ["serialize"] } url = { version = "^2" , features = ["serde"]} async-oauth2 = "0.5.1" reqwest = { version = "^0.13", features = ["json", "stream", "gzip", "multipart", "query", "form"] } -# The reqwest object_store builds its HTTP clients with, for a custom `HttpConnector`. -reqwest_object_store = { package = "reqwest", version = "0.12", default-features = false, features = ["rustls-tls-native-roots"] } eventsource-stream = "0.2.3" time = "^0" serde_urlencoded = "^0" @@ -636,7 +633,7 @@ native-tls = ">=0.2, <0.2.17" # samael will break compilation on MacOS. Use this fork instead to make it work # samael = { git="https://github.com/njaremko/samael", rev="464d015e3ae393e4b5dd00b4d6baa1b617de0dd6", features = ["xmlsec"] } libxml = { version = "=0.3.3" } -samael = { git="https://github.com/njaremko/samael", rev="f879f1942ec1b34b6d3027ce7e4724ad95d15dfa", features = ["xmlsec"] } +samael = { git="https://github.com/njaremko/samael", rev="2d27dfe4930c4632b202f32886a85b2d1f9226c2", features = ["xmlsec"] } gcp_auth = "0.9.0" rust_decimal = { version = "^1", features = ["db-postgres", "serde-float"]} # aws_lc_rs, not rust_crypto: the RustCrypto backend refuses RSA keys above 4096 bits, and @@ -672,14 +669,17 @@ process-wrap = { version = "8.2.1", features = ["tokio1"] } systemstat = "0.2.4" -datafusion = "47.0.0" +# No datafusion release yet depends on `object_store` 0.14, and only `object_store` >= 0.14.1 +# carries `quick-xml` >= 0.41 (RUSTSEC-2026-0194, RUSTSEC-2026-0195). Drop the git pin for +# `datafusion = "56"` once it is published. +datafusion = { git = "https://github.com/apache/datafusion", rev = "2cac713274496ba8ee08e58655e80f0d464f6d48" } # The row API only: a dbt engine's parquet index is six string columns, so this # needs no arrow and no writer. `parquet` is already in the tree with `arrow` for # every shipped edition (`oss_core`), and cargo unifies the features there; this # set is what a build WITHOUT object storage compiles. ZSTD is what the engine # writes today, snap what parquet writers most often default to. -parquet = { version = "55.2.0", default-features = false, features = ["snap", "zstd"] } -object_store = { git = "https://github.com/apache/arrow-rs-object-store", rev = "36752c975d4f29e20b57c91f81a10872dcd48ae7", features = ["aws", "azure", "gcp"] } +parquet = { version = "60.0.0", default-features = false, features = ["snap", "zstd"] } +object_store = { version = "0.14.2", features = ["aws", "azure", "gcp"] } openidconnect = { version = "4.0.0-rc.1" } aws-config = "^1" aws-sdk-bedrock = "1.129.0" diff --git a/backend/src/main.rs b/backend/src/main.rs index 257ad77d1d..b50ab101c6 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -5,6 +5,11 @@ * Please see the included NOTICE for copyright information and * LICENSE-AGPL for a copy of the license. */ + +// `sqlparser`'s AST (reached through datafusion) nests deeply enough that inferring +// `Send`/`Sync` for the futures spawned in `main` exceeds the default 128-step limit. +#![recursion_limit = "256"] + use anyhow::Context; use monitor::{ flush_pending_log_files_to_object_store, load_base_url, load_otel, diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index 751d19fecc..48a03a1759 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -1471,6 +1471,8 @@ async fn send_log_file_to_object_store( ) -> bool { #[cfg(feature = "parquet")] if let Some(s3_client) = windmill_object_store::get_object_store().await { + use windmill_object_store::object_store_reexports::ObjectStoreExt; + let path = std::path::Path::new(&*TMP_WINDMILL_LOGS_SERVICE) .join(hostname) .join(file_name); diff --git a/backend/windmill-api-npm-proxy/src/store.rs b/backend/windmill-api-npm-proxy/src/store.rs index 73ef25f7cf..5ec2d18bd6 100644 --- a/backend/windmill-api-npm-proxy/src/store.rs +++ b/backend/windmill-api-npm-proxy/src/store.rs @@ -284,6 +284,7 @@ pub(crate) async fn pull_from_object_store(_dir: &Path, _key: &str) -> Result Result<()> { use tokio::io::AsyncReadExt; - use windmill_object_store::object_store_reexports::WriteMultipart; + use windmill_object_store::object_store_reexports::{ObjectStoreExt, WriteMultipart}; let Some(os) = windmill_object_store::get_object_store().await else { return Ok(()); diff --git a/backend/windmill-api-settings/src/audit_logs_s3_backfill.rs b/backend/windmill-api-settings/src/audit_logs_s3_backfill.rs index 0c5c55f7ed..50614b23e6 100644 --- a/backend/windmill-api-settings/src/audit_logs_s3_backfill.rs +++ b/backend/windmill-api-settings/src/audit_logs_s3_backfill.rs @@ -42,7 +42,9 @@ use windmill_common::error::{self}; use windmill_common::tracing_init::LOGS_AUDIT; use windmill_common::{DB, INSTANCE_NAME}; -use windmill_object_store::object_store_reexports::{ObjectStore, Path as ObjectPath}; +use windmill_object_store::object_store_reexports::{ + ObjectStore, ObjectStoreExt, Path as ObjectPath, +}; pub const TASK_NAME: &str = "audit_logs_s3_backfill"; @@ -423,7 +425,9 @@ mod tests { use futures::stream::StreamExt; use std::sync::atomic::Ordering; use std::sync::Arc; - use windmill_object_store::object_store_reexports::{InMemory, ObjectStore, Path as OsPath}; + use windmill_object_store::object_store_reexports::{ + InMemory, ObjectStore, ObjectStoreExt, Path as OsPath, + }; /// A private, per-test object store. `run_backfill` takes the store as a parameter, /// so tests use a local one and never touch the process-global `OBJECT_STORE_SETTINGS` diff --git a/backend/windmill-api-settings/src/lib.rs b/backend/windmill-api-settings/src/lib.rs index ca93d3c682..b4afdbdf2d 100644 --- a/backend/windmill-api-settings/src/lib.rs +++ b/backend/windmill-api-settings/src/lib.rs @@ -302,6 +302,9 @@ pub async fn test_email( #[cfg(feature = "parquet")] use windmill_object_store::ObjectSettings; +#[cfg(feature = "parquet")] +use windmill_object_store::object_store_reexports::ObjectStoreExt; + #[cfg(feature = "parquet")] use windmill_object_store::{ build_object_store_from_settings, build_public_object_store_from_settings, diff --git a/backend/windmill-api-workspaces/src/ai_session_backups.rs b/backend/windmill-api-workspaces/src/ai_session_backups.rs index 8e7b75e1e2..097c86f5c0 100644 --- a/backend/windmill-api-workspaces/src/ai_session_backups.rs +++ b/backend/windmill-api-workspaces/src/ai_session_backups.rs @@ -32,7 +32,7 @@ use windmill_common::error::{Error, Result}; use windmill_common::utils::calculate_hash; use windmill_common::DB; use windmill_object_store::object_store_reexports::{ - ObjectStore, ObjectStoreError, Path as ObjectPath, + ObjectStore, ObjectStoreError, ObjectStoreExt, Path as ObjectPath, }; use windmill_object_store::{ object_store_error_to_error, object_store_location, ObjectStoreResource, diff --git a/backend/windmill-api-workspaces/src/workspaces.rs b/backend/windmill-api-workspaces/src/workspaces.rs index 185fe17b25..a973b57b8b 100644 --- a/backend/windmill-api-workspaces/src/workspaces.rs +++ b/backend/windmill-api-workspaces/src/workspaces.rs @@ -8011,6 +8011,8 @@ async fn clone_apps( // Clone bundles from S3 for versions not found in DB #[cfg(all(feature = "enterprise", feature = "parquet"))] { + use windmill_object_store::object_store_reexports::ObjectStoreExt; + let object_store = windmill_object_store::get_object_store().await; if let Some(os) = object_store { for (&old_version_id, &new_version_id) in &version_id_mapping { diff --git a/backend/windmill-api-workspaces/src/workspaces_extra.rs b/backend/windmill-api-workspaces/src/workspaces_extra.rs index 9039bda2ef..bff44210ff 100644 --- a/backend/windmill-api-workspaces/src/workspaces_extra.rs +++ b/backend/windmill-api-workspaces/src/workspaces_extra.rs @@ -2008,7 +2008,7 @@ async fn delete_fork_ducklake_data( // 1000-object chunks: S3 DeleteObjects caps a batch at 1000 keys. for chunk in locations.chunks(1000) { store - .delete_stream(futures::stream::iter(chunk.iter().cloned().map(Ok)).boxed()) + .delete_stream(futures::stream::iter(chunk.to_vec().into_iter().map(Ok)).boxed()) .try_collect::>() .await .map_err(windmill_object_store::object_store_error_to_error)?; diff --git a/backend/windmill-api/src/ai_sessions.rs b/backend/windmill-api/src/ai_sessions.rs index 65a8137c4e..89b8364ed5 100644 --- a/backend/windmill-api/src/ai_sessions.rs +++ b/backend/windmill-api/src/ai_sessions.rs @@ -37,7 +37,7 @@ use windmill_common::error::{Error, JsonResult, Result}; use windmill_common::utils::calculate_hash; use windmill_common::variables::{crypt_from_key_with_suffix, get_workspace_key}; use windmill_object_store::object_store_reexports::{ - ObjectStore, ObjectStoreError, Path as ObjectPath, PutPayload, + ObjectStore, ObjectStoreError, ObjectStoreExt, Path as ObjectPath, PutPayload, }; use windmill_object_store::{build_object_store_client, object_store_error_to_error}; diff --git a/backend/windmill-api/src/apps.rs b/backend/windmill-api/src/apps.rs index ef48927676..010d0ce8fa 100644 --- a/backend/windmill-api/src/apps.rs +++ b/backend/windmill-api/src/apps.rs @@ -80,7 +80,7 @@ use windmill_common::{ HUB_BASE_URL, }; #[cfg(feature = "parquet")] -use windmill_object_store::object_store_reexports::{Attribute, Attributes}; +use windmill_object_store::object_store_reexports::{Attribute, Attributes, ObjectStoreExt}; use windmill_store::resources::get_resource_value_interpolated_internal; use windmill_api_auth::{ diff --git a/backend/windmill-api/src/job_helpers_oss.rs b/backend/windmill-api/src/job_helpers_oss.rs index eb8986a986..602caa4a04 100644 --- a/backend/windmill-api/src/job_helpers_oss.rs +++ b/backend/windmill-api/src/job_helpers_oss.rs @@ -18,7 +18,7 @@ use windmill_common::db::UserDB; #[cfg(not(feature = "private"))] use windmill_common::error; #[cfg(all(feature = "parquet", not(feature = "private")))] -use windmill_object_store::object_store_reexports::{ObjectStore, PutMultipartOpts, PutResult}; +use windmill_object_store::object_store_reexports::{ObjectStore, PutMultipartOptions, PutResult}; #[cfg(not(feature = "private"))] use windmill_object_store::ObjectStoreResource; @@ -86,7 +86,7 @@ pub async fn upload_file_from_req( _s3_client: Arc, _file_key: &str, _req: axum::extract::Request, - _options: PutMultipartOpts, + _options: PutMultipartOptions, _max_size: Option, ) -> error::Result<(PutResult, usize)> { Err(error::Error::internal_err( @@ -99,7 +99,7 @@ pub async fn upload_file_internal( _s3_client: Arc, _file_key: &str, _stream: impl Stream> + Unpin, - _options: PutMultipartOpts, + _options: PutMultipartOptions, _max_size: Option, ) -> error::Result<(PutResult, usize)> { Err(error::Error::internal_err( diff --git a/backend/windmill-api/src/jobs.rs b/backend/windmill-api/src/jobs.rs index 27e34b6ef2..474dcdce5c 100644 --- a/backend/windmill-api/src/jobs.rs +++ b/backend/windmill-api/src/jobs.rs @@ -10217,6 +10217,8 @@ async fn get_log_file( #[cfg(all(feature = "enterprise", feature = "parquet"))] if let Some(os) = windmill_object_store::get_object_store().await { + use windmill_object_store::object_store_reexports::ObjectStoreExt; + let file = os .get(&windmill_object_store::object_store_reexports::Path::from( format!("logs/{file_p}"), diff --git a/backend/windmill-api/src/service_logs.rs b/backend/windmill-api/src/service_logs.rs index a54f275f46..be3e624397 100644 --- a/backend/windmill-api/src/service_logs.rs +++ b/backend/windmill-api/src/service_logs.rs @@ -164,7 +164,7 @@ async fn get_log_file( let s3_client = windmill_object_store::get_object_store().await; #[cfg(feature = "parquet")] if let Some(s3_client) = s3_client { - use windmill_object_store::object_store_reexports::ObjectStoreError; + use windmill_object_store::object_store_reexports::{ObjectStoreError, ObjectStoreExt}; // The raw file, for as long as it is there. It outlives its ingestion by // one indexer pass at most, so this covers the most recent minutes of a diff --git a/backend/windmill-api/src/triggers/http/handler.rs b/backend/windmill-api/src/triggers/http/handler.rs index 3d85904e50..95ccb00440 100644 --- a/backend/windmill-api/src/triggers/http/handler.rs +++ b/backend/windmill-api/src/triggers/http/handler.rs @@ -613,6 +613,8 @@ async fn route_job( #[cfg(feature = "parquet")] if let Some(sqlx::types::Json(config)) = trigger.static_asset_config { let build_static_response_f = async { + use windmill_object_store::object_store_reexports::ObjectStoreExt; + let (_, s3_resource_opt) = get_workspace_s3_resource( &authed, &db, diff --git a/backend/windmill-object-store/Cargo.toml b/backend/windmill-object-store/Cargo.toml index f80eb88881..90af4f7e7c 100644 --- a/backend/windmill-object-store/Cargo.toml +++ b/backend/windmill-object-store/Cargo.toml @@ -11,7 +11,6 @@ enterprise = [] parquet = [ "windmill-common/parquet", "dep:object_store", - "dep:reqwest_object_store", "dep:aws-sdk-sts", "dep:aws-smithy-types-convert", "dep:datafusion", @@ -49,7 +48,6 @@ globset.workspace = true axum.workspace = true object_store = { workspace = true, optional = true } -reqwest_object_store = { workspace = true, optional = true } aws-sdk-sts = { workspace = true, optional = true } aws-smithy-types-convert = { workspace = true, optional = true } datafusion = { workspace = true, optional = true } diff --git a/backend/windmill-object-store/src/lib.rs b/backend/windmill-object-store/src/lib.rs index a9551ad835..f8d436f8f1 100644 --- a/backend/windmill-object-store/src/lib.rs +++ b/backend/windmill-object-store/src/lib.rs @@ -38,6 +38,8 @@ use object_store::CredentialProvider; #[cfg(feature = "parquet")] use object_store::ObjectStore; #[cfg(feature = "parquet")] +use object_store::ObjectStoreExt; +#[cfg(feature = "parquet")] use object_store::{aws::AmazonS3Builder, ClientOptions}; #[cfg(feature = "parquet")] use reqwest::header::HeaderMap; @@ -68,8 +70,8 @@ pub mod object_store_reexports { pub use object_store::path::Path; pub use object_store::{ Attribute, Attributes, Error as ObjectStoreError, GetOptions, GetRange, GetResult, - ObjectMeta, ObjectStore, PutMode, PutMultipartOpts, PutOptions, PutPayload, PutResult, - Result as ObjectStoreResult, UpdateVersion, WriteMultipart, + ObjectMeta, ObjectStore, ObjectStoreExt, PutMode, PutMultipartOptions, PutOptions, + PutPayload, PutResult, Result as ObjectStoreResult, UpdateVersion, WriteMultipart, }; } @@ -96,7 +98,10 @@ pub fn object_store_error_to_error(err: object_store::Error) -> error::Error { NotModified { path, source } => { error::Error::ExecutionErr(format!("Not modified at {}: {}", path, source)) } - NotImplemented => error::Error::BadRequest("Operation not yet implemented.".to_string()), + NotImplemented { operation, implementer } => error::Error::BadRequest(format!( + "Operation '{}' is not implemented by {}.", + operation, implementer + )), PermissionDenied { path, source } => { error::Error::PermissionDenied(format!("Permission denied at {}: {}", path, source)) } @@ -610,11 +615,11 @@ impl object_store::client::HttpConnector for PublicOnlyConnector { .get_config_value(&object_store::ClientConfigKey::AllowHttp) .is_some_and(|v| v == "true"); let proxy_hosts: Arc<[String]> = system_proxy_hosts().into(); - let client = reqwest_object_store::Client::builder() + let client = reqwest::Client::builder() .dns_resolver(Arc::new(PublicOnlyResolver { proxy_hosts: proxy_hosts.clone(), })) - .redirect(reqwest_object_store::redirect::Policy::none()) + .redirect(reqwest::redirect::Policy::none()) .connect_timeout(std::time::Duration::from_secs(5)) .default_headers(HeaderMap::from_iter([( reqwest::header::ACCEPT_ENCODING, @@ -640,7 +645,7 @@ impl object_store::client::HttpConnector for PublicOnlyConnector { #[cfg(feature = "parquet")] #[derive(Debug)] struct PublicOnlyClient { - client: reqwest_object_store::Client, + client: reqwest::Client, proxy_hosts: Arc<[String]>, } @@ -714,11 +719,8 @@ fn system_proxy_hosts() -> Vec { } #[cfg(feature = "parquet")] -impl reqwest_object_store::dns::Resolve for PublicOnlyResolver { - fn resolve( - &self, - name: reqwest_object_store::dns::Name, - ) -> reqwest_object_store::dns::Resolving { +impl reqwest::dns::Resolve for PublicOnlyResolver { + fn resolve(&self, name: reqwest::dns::Name) -> reqwest::dns::Resolving { let is_proxy = self .proxy_hosts .iter() @@ -737,7 +739,7 @@ impl reqwest_object_store::dns::Resolve for PublicOnlyResolver { ) .into()); } - Ok(Box::new(addrs.into_iter()) as reqwest_object_store::dns::Addrs) + Ok(Box::new(addrs.into_iter()) as reqwest::dns::Addrs) }) } } @@ -1005,7 +1007,7 @@ impl ObjectStore for FilesystemStoreIgnoringAttributes { async fn put_multipart_opts( &self, location: &object_store::path::Path, - mut opts: object_store::PutMultipartOpts, + mut opts: object_store::PutMultipartOptions, ) -> object_store::Result> { opts.attributes = Default::default(); self.0.put_multipart_opts(location, opts).await @@ -1019,14 +1021,6 @@ impl ObjectStore for FilesystemStoreIgnoringAttributes { self.0.get_opts(location, options).await } - async fn get_range( - &self, - location: &object_store::path::Path, - range: std::ops::Range, - ) -> object_store::Result { - self.0.get_range(location, range).await - } - async fn get_ranges( &self, location: &object_store::path::Path, @@ -1035,15 +1029,14 @@ impl ObjectStore for FilesystemStoreIgnoringAttributes { self.0.get_ranges(location, ranges).await } - async fn head( + fn delete_stream( &self, - location: &object_store::path::Path, - ) -> object_store::Result { - self.0.head(location).await - } - - async fn delete(&self, location: &object_store::path::Path) -> object_store::Result<()> { - self.0.delete(location).await + locations: futures::stream::BoxStream< + 'static, + object_store::Result, + >, + ) -> futures::stream::BoxStream<'static, object_store::Result> { + self.0.delete_stream(locations) } fn list( @@ -1068,36 +1061,22 @@ impl ObjectStore for FilesystemStoreIgnoringAttributes { self.0.list_with_delimiter(prefix).await } - async fn copy( + async fn copy_opts( &self, from: &object_store::path::Path, to: &object_store::path::Path, + options: object_store::CopyOptions, ) -> object_store::Result<()> { - self.0.copy(from, to).await + self.0.copy_opts(from, to, options).await } - async fn rename( + async fn rename_opts( &self, from: &object_store::path::Path, to: &object_store::path::Path, + options: object_store::RenameOptions, ) -> object_store::Result<()> { - self.0.rename(from, to).await - } - - async fn copy_if_not_exists( - &self, - from: &object_store::path::Path, - to: &object_store::path::Path, - ) -> object_store::Result<()> { - self.0.copy_if_not_exists(from, to).await - } - - async fn rename_if_not_exists( - &self, - from: &object_store::path::Path, - to: &object_store::path::Path, - ) -> object_store::Result<()> { - self.0.rename_if_not_exists(from, to).await + self.0.rename_opts(from, to, options).await } } @@ -1840,7 +1819,7 @@ where const WRITE_BUF_CAPACITY: usize = 256 * 1024; const PROGRESS_INTERVAL_SECS: u64 = 10; - use datafusion::{execution::context::SessionContext, prelude::NdJsonReadOptions}; + use datafusion::{execution::context::SessionContext, prelude::JsonReadOptions}; use futures::StreamExt; use std::path::PathBuf; use std::time::{Duration, Instant}; @@ -1935,20 +1914,20 @@ where ctx.register_json( "my_table", path_str, - NdJsonReadOptions::default().schema(&inferred_schema), + JsonReadOptions::default().schema(&inferred_schema), ) .await .map_err(to_anyhow)?; let df = ctx.sql("SELECT * FROM my_table").await.map_err(to_anyhow)?; - let schema = df.schema().clone().into(); + let schema = df.schema().inner().clone(); let mut datafusion_stream = df.execute_stream().await.map_err(to_anyhow)?; let (tx, rx) = tokio::sync::mpsc::channel(MAX_MPSC_SIZE); let writer: Arc>> = Arc::new(Mutex::new(Some(match output_format { S3ModeFormat::Parquet => RecordBatchWriterEnum::Parquet( - ArrowWriter::try_new(ChannelWriter { sender: tx.clone() }, Arc::new(schema), None) + ArrowWriter::try_new(ChannelWriter { sender: tx.clone() }, schema, None) .map_err(to_anyhow)?, ), @@ -2503,7 +2482,10 @@ mod tests { assert!(matches!(mapped, Error::BadRequest(_))); // NotImplemented - let mapped = object_store_error_to_error(object_store::Error::NotImplemented); + let mapped = object_store_error_to_error(object_store::Error::NotImplemented { + operation: "put".to_string(), + implementer: "LocalFileSystem".to_string(), + }); assert!(matches!(mapped, Error::BadRequest(_))); // Unauthenticated diff --git a/backend/windmill-worker/src/dbt_state.rs b/backend/windmill-worker/src/dbt_state.rs index ecf3d0dbe3..0ea55b8971 100644 --- a/backend/windmill-worker/src/dbt_state.rs +++ b/backend/windmill-worker/src/dbt_state.rs @@ -542,7 +542,7 @@ async fn forget_objects(keys: &[Option; 2]) { /// for a project the reader may have no access to. #[cfg(all(feature = "enterprise", feature = "parquet"))] async fn put_object(key: &str, value: String) -> error::Result { - use windmill_object_store::object_store_reexports::Path as ObjectPath; + use windmill_object_store::object_store_reexports::{ObjectStoreExt, Path as ObjectPath}; let Some(store) = windmill_object_store::get_object_store().await else { return Ok(false); }; @@ -565,7 +565,7 @@ async fn get_object(key: &str) -> error::Result { #[cfg(all(feature = "enterprise", feature = "parquet"))] async fn delete_object(key: &str) { - use windmill_object_store::object_store_reexports::Path as ObjectPath; + use windmill_object_store::object_store_reexports::{ObjectStoreExt, Path as ObjectPath}; let Some(store) = windmill_object_store::get_object_store().await else { return; }; diff --git a/backend/windmill-worker/src/global_cache.rs b/backend/windmill-worker/src/global_cache.rs index 1c3bbf870f..5d31806510 100644 --- a/backend/windmill-worker/src/global_cache.rs +++ b/backend/windmill-worker/src/global_cache.rs @@ -2,7 +2,7 @@ use tokio::time::Instant; use windmill_common::error; #[cfg(all(feature = "enterprise", feature = "parquet"))] -use windmill_object_store::object_store_reexports::ObjectStore; +use windmill_object_store::object_store_reexports::{ObjectStore, ObjectStoreExt}; #[cfg(all(feature = "enterprise", feature = "parquet"))] use std::sync::Arc;