From b5e5f8e555065da0ba1d3f13b6b76fad59cb4017 Mon Sep 17 00:00:00 2001 From: Ruihang Xia Date: Thu, 30 Mar 2023 16:24:10 +0800 Subject: [PATCH] chore(deps): bump arrow and parquet to 36.0.0, and datafusion to the latest (#1282) * chore: update arrow, parquet to 36.0 and datafusion Signed-off-by: Ruihang Xia * update deps Signed-off-by: Ruihang Xia * Apply suggestions from code review Co-authored-by: LFC * update sqlness result Signed-off-by: Ruihang Xia --------- Signed-off-by: Ruihang Xia Co-authored-by: LFC --- Cargo.lock | 596 ++++++++++-------- Cargo.toml | 22 +- benchmarks/src/bin/nyc-taxi.rs | 2 +- src/catalog/src/table_source.rs | 5 +- src/common/substrait/src/df_expr.rs | 2 +- src/common/substrait/src/df_logical.rs | 29 +- src/datanode/src/sql/copy_table_to.rs | 4 +- src/datatypes/src/vectors/validity.rs | 8 +- src/promql/src/extension_plan/empty_metric.rs | 10 +- .../src/extension_plan/range_manipulate.rs | 5 +- src/promql/src/planner.rs | 13 +- src/promql/src/range_array.rs | 17 +- src/query/src/datafusion.rs | 5 +- src/query/src/datafusion/planner.rs | 2 +- src/query/src/optimizer.rs | 16 +- src/query/src/planner.rs | 2 +- src/storage/src/sst/parquet.rs | 4 +- .../standalone/common/order/order_by.result | 2 +- .../common/order/order_by_exceptions.result | 2 +- .../standalone/common/select/dummy.result | 6 +- tests/cases/standalone/order/limit.result | 26 +- 21 files changed, 441 insertions(+), 337 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5a0b02824e..7e99419ac3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,6 +121,46 @@ dependencies = [ "winapi", ] +[[package]] +name = "anstream" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-wincon", + "concolor-override", + "concolor-query", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2" + +[[package]] +name = "anstyle-parse" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-wincon" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa" +dependencies = [ + "anstyle", + "windows-sys 0.45.0", +] + [[package]] name = "anyhow" version = "1.0.70" @@ -190,9 +230,9 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "arrow" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f410d3907b6b3647b9e7bca4551274b2e3d716aa940afb67b7287257401da921" +checksum = "990dfa1a9328504aa135820da1c95066537b69ad94c04881b785f64328e0fa6b" dependencies = [ "ahash 0.8.3", "arrow-arith", @@ -208,15 +248,14 @@ dependencies = [ "arrow-schema", "arrow-select", "arrow-string", - "comfy-table", "pyo3", ] [[package]] name = "arrow-arith" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87391cf46473c9bc53dab68cb8872c3a81d4dfd1703f1c8aa397dba9880a043" +checksum = "f2b2e52de0ab54173f9b08232b7184c26af82ee7ab4ac77c83396633c90199fa" dependencies = [ "arrow-array", "arrow-buffer", @@ -229,15 +268,16 @@ dependencies = [ [[package]] name = "arrow-array" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d35d5475e65c57cffba06d0022e3006b677515f99b54af33a7cd54f6cdd4a5b5" +checksum = "e10849b60c17dbabb334be1f4ef7550701aa58082b71335ce1ed586601b2f423" dependencies = [ "ahash 0.8.3", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", + "chrono-tz 0.8.1", "half 2.2.1", "hashbrown 0.13.2", "num", @@ -245,9 +285,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b4ec72eda7c0207727df96cf200f539749d736b21f3e782ece113e18c1a0a7" +checksum = "b0746ae991b186be39933147117f8339eb1c4bbbea1c8ad37e7bf5851a1a06ba" dependencies = [ "half 2.2.1", "num", @@ -255,9 +295,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7285272c9897321dfdba59de29f5b05aeafd3cdedf104a941256d155f6d304" +checksum = "b88897802515d7b193e38b27ddd9d9e43923d410a9e46307582d756959ee9595" dependencies = [ "arrow-array", "arrow-buffer", @@ -265,15 +305,16 @@ dependencies = [ "arrow-schema", "arrow-select", "chrono", + "comfy-table", "lexical-core", "num", ] [[package]] name = "arrow-csv" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "981ee4e7f6a120da04e00d0b39182e1eeacccb59c8da74511de753c56b7fddf7" +checksum = "1c8220d9741fc37961262710ceebd8451a5b393de57c464f0267ffdda1775c0a" dependencies = [ "arrow-array", "arrow-buffer", @@ -290,9 +331,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27cc673ee6989ea6e4b4e8c7d461f7e06026a096c8f0b1a7288885ff71ae1e56" +checksum = "533f937efa1aaad9dc86f6a0e382c2fa736a4943e2090c946138079bdf060cef" dependencies = [ "arrow-buffer", "arrow-schema", @@ -302,9 +343,9 @@ dependencies = [ [[package]] name = "arrow-flight" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd16945f8f3be0f6170b8ced60d414e56239d91a16a3f8800bc1504bc58b2592" +checksum = "cd1362a6a02e31734c67eb2e9a30dca1689d306cfe2fc00bc6430512091480ce" dependencies = [ "arrow-array", "arrow-buffer", @@ -314,20 +355,17 @@ dependencies = [ "base64 0.21.0", "bytes", "futures", - "proc-macro2", "prost", - "prost-build", "prost-derive", "tokio", "tonic", - "tonic-build", ] [[package]] name = "arrow-ipc" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37b8b69d9e59116b6b538e8514e0ec63a30f08b617ce800d31cb44e3ef64c1a" +checksum = "18b75296ff01833f602552dff26a423fc213db8e5049b540ca4a00b1c957e41c" dependencies = [ "arrow-array", "arrow-buffer", @@ -339,9 +377,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80c3fa0bed7cfebf6d18e46b733f9cb8a1cb43ce8e6539055ca3e1e48a426266" +checksum = "e501d3de4d612c90677594896ca6c0fa075665a7ff980dc4189bb531c17e19f6" dependencies = [ "arrow-array", "arrow-buffer", @@ -358,23 +396,24 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d247dce7bed6a8d6a3c6debfa707a3a2f694383f0c692a39d736a593eae5ef94" +checksum = "33d2671eb3793f9410230ac3efb0e6d36307be8a2dac5fad58ac9abde8e9f01e" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "arrow-select", + "half 2.2.1", "num", ] [[package]] name = "arrow-row" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d609c0181f963cea5c70fddf9a388595b5be441f3aa1d1cdbf728ca834bbd3a" +checksum = "fc11fa039338cebbf4e29cf709c8ac1d6a65c7540063d4a25f991ab255ca85c8" dependencies = [ "ahash 0.8.3", "arrow-array", @@ -387,19 +426,19 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64951898473bfb8e22293e83a44f02874d2257514d49cd95f9aa4afcff183fbc" +checksum = "d04f17f7b86ded0b5baf98fe6123391c4343e031acc3ccc5fa604cc180bff220" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.0.2", "serde", ] [[package]] name = "arrow-select" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a513d89c2e1ac22b28380900036cf1f3992c6443efc5e079de631dcf83c6888" +checksum = "163e35de698098ff5f5f672ada9dc1f82533f10407c7a11e2cd09f3bcf31d18a" dependencies = [ "arrow-array", "arrow-buffer", @@ -410,9 +449,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5288979b2705dae1114c864d73150629add9153b9b8f1d7ee3963db94c372ba5" +checksum = "bfdfbed1b10209f0dc68e6aa4c43dc76079af65880965c7c3b73f641f23d4aba" dependencies = [ "arrow-array", "arrow-buffer", @@ -495,9 +534,9 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.3", + "rustix", "slab", - "socket2", + "socket2 0.4.9", "waker-fn", ] @@ -512,13 +551,13 @@ dependencies = [ [[package]] name = "async-recursion" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b015a331cc64ebd1774ba119538573603427eaace0a1950c423ab971f903796" +checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -540,18 +579,18 @@ checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "async-trait" -version = "0.1.66" +version = "0.1.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc" +checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -594,9 +633,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d8068b6ccb8b34db9de397c7043f91db8b4c66414952c6db944f238c4d3db3" +checksum = "349f8ccfd9221ee7d1f3d4b33e1f8319b3a81ed8f61f2ea40b37b859794b4491" dependencies = [ "async-trait", "axum-core", @@ -643,14 +682,14 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39bcef27b56d5cad8912d735d5ed1286f073f7bcb88cc31b38a15b514fcf8600" +checksum = "2bb524613be645939e280b7279f7b017f98cf7f5ef084ec374df373530e73277" dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -756,7 +795,7 @@ name = "benchmarks" version = "0.1.1" dependencies = [ "arrow", - "clap 4.1.11", + "clap 4.2.1", "client", "indicatif", "itertools", @@ -894,7 +933,7 @@ dependencies = [ "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", "proc-macro2", - "syn", + "syn 1.0.109", ] [[package]] @@ -905,7 +944,7 @@ checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -916,7 +955,7 @@ checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -987,7 +1026,7 @@ checksum = "e31225543cb46f81a7e224762764f4a6a0f097b1db0b175f69e8065efaa42de5" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1198,7 +1237,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29c39203181991a7dd4343b8005bd804e7a9a37afb8ac070e43771e8c820bbde" dependencies = [ "chrono", - "chrono-tz-build", + "chrono-tz-build 0.0.3", + "phf 0.11.1", +] + +[[package]] +name = "chrono-tz" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa48fa079165080f11d7753fd0bc175b7d391f276b965fe4b55bfad67856e463" +dependencies = [ + "chrono", + "chrono-tz-build 0.1.0", "phf 0.11.1", ] @@ -1213,6 +1263,17 @@ dependencies = [ "phf_codegen 0.11.1", ] +[[package]] +name = "chrono-tz-build" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9998fb9f7e9b2111641485bf8beb32f92945f97f92a3d061f744cfef335f751" +dependencies = [ + "parse-zoneinfo", + "phf 0.11.1", + "phf_codegen 0.11.1", +] + [[package]] name = "ciborium" version = "0.2.0" @@ -1242,9 +1303,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", @@ -1285,17 +1346,26 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.11" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42dfd32784433290c51d92c438bb72ea5063797fc3cc9a21a8c4346bebbb2098" +checksum = "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3" dependencies = [ - "bitflags 2.0.2", - "clap_derive 4.1.9", - "clap_lex 0.3.3", - "is-terminal", + "clap_builder", + "clap_derive 4.2.0", "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f" +dependencies = [ + "anstream", + "anstyle", + "bitflags 1.3.2", + "clap_lex 0.4.1", "strsim 0.10.0", - "termcolor", ] [[package]] @@ -1308,20 +1378,19 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "clap_derive" -version = "4.1.9" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fddf67631444a3a3e3e5ac51c36a5e01335302de677bd78759eaa90ab1f46644" +checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" dependencies = [ "heck 0.4.1", - "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -1335,12 +1404,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646" -dependencies = [ - "os_str_bytes", -] +checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" [[package]] name = "client" @@ -1388,9 +1454,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.49" +version = "0.1.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c" +checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" dependencies = [ "cc", ] @@ -1515,7 +1581,7 @@ name = "common-function" version = "0.1.1" dependencies = [ "arc-swap", - "chrono-tz", + "chrono-tz 0.6.3", "common-error", "common-function-macro", "common-query", @@ -1544,7 +1610,7 @@ dependencies = [ "quote", "snafu", "static_assertions", - "syn", + "syn 1.0.109", ] [[package]] @@ -1715,6 +1781,21 @@ dependencies = [ "snafu", ] +[[package]] +name = "concolor-override" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f" + +[[package]] +name = "concolor-query" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf" +dependencies = [ + "windows-sys 0.45.0", +] + [[package]] name = "concurrent-queue" version = "2.1.0" @@ -2034,9 +2115,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.92" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a140f260e6f3f79013b8bfc65e7ce630c9ab4388c6a89c71e07226f49487b72" +checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" dependencies = [ "cc", "cxxbridge-flags", @@ -2046,9 +2127,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.92" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da6383f459341ea689374bf0a42979739dc421874f112ff26f829b8040b8e613" +checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" dependencies = [ "cc", "codespan-reporting", @@ -2056,24 +2137,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn", + "syn 2.0.11", ] [[package]] name = "cxxbridge-flags" -version = "1.0.92" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90201c1a650e95ccff1c8c0bb5a343213bdd317c6e600a93075bca2eff54ec97" +checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" [[package]] name = "cxxbridge-macro" -version = "1.0.92" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b75aed41bb2e6367cae39e6326ef817a851db13c13e4f3263714ca3cfb8de56" +checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -2097,7 +2178,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn", + "syn 1.0.109", ] [[package]] @@ -2108,7 +2189,7 @@ checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2126,8 +2207,8 @@ dependencies = [ [[package]] name = "datafusion" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "ahash 0.8.3", "arrow", @@ -2173,10 +2254,11 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "arrow", + "arrow-array", "chrono", "num_cpus", "object_store", @@ -2186,8 +2268,8 @@ dependencies = [ [[package]] name = "datafusion-execution" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "dashmap", "datafusion-common", @@ -2203,8 +2285,8 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "ahash 0.8.3", "arrow", @@ -2214,8 +2296,8 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "arrow", "async-trait", @@ -2231,8 +2313,8 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "ahash 0.8.3", "arrow", @@ -2261,8 +2343,8 @@ dependencies = [ [[package]] name = "datafusion-row" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "arrow", "datafusion-common", @@ -2272,8 +2354,8 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "20.0.0" -source = "git+https://github.com/apache/arrow-datafusion.git?rev=146a949218ec970784974137277cde3b4e547d0a#146a949218ec970784974137277cde3b4e547d0a" +version = "21.0.0" +source = "git+https://github.com/apache/arrow-datafusion.git?rev=8e125d2ecf242b4f4b81f06839900dbb2037cc2a#8e125d2ecf242b4f4b81f06839900dbb2037cc2a" dependencies = [ "arrow-schema", "datafusion-common", @@ -2390,7 +2472,7 @@ checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2420,7 +2502,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2432,7 +2514,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2442,7 +2524,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" dependencies = [ "derive_builder_core 0.11.2", - "syn", + "syn 1.0.109", ] [[package]] @@ -2452,7 +2534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" dependencies = [ "derive_builder_core 0.12.0", - "syn", + "syn 1.0.109", ] [[package]] @@ -2528,7 +2610,7 @@ checksum = "53ecafc952c4528d9b51a458d1a8904b81783feff9fde08ab6ed2545ff396872" dependencies = [ "cfg-if 1.0.0", "libc", - "socket2", + "socket2 0.4.9", "winapi", ] @@ -2609,7 +2691,7 @@ checksum = "355f93763ef7b0ae1c43c4d8eccc9d5848d84ad1a1d8ce61c421d1ac85a19d05" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2621,18 +2703,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "errno" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", + "syn 1.0.109", ] [[package]] @@ -2677,9 +2748,9 @@ dependencies = [ [[package]] name = "etcd-client" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7a02ed1498d55034fcf41f80e81131d80bf90fff432dc7332cb29a7b53680f" +checksum = "4319dc0fb739a6e84cb8678b8cf50c9bcfa4712ae826b33ecf00cc0850550a58" dependencies = [ "http", "prost", @@ -2731,12 +2802,12 @@ dependencies = [ [[package]] name = "fd-lock" -version = "3.0.10" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ef1a30ae415c3a691a4f41afddc2dbcd6d70baf338368d85ebc1e8ed92cedb9" +checksum = "9799aefb4a2e4a01cc47610b1dd47c18ab13d991f27bbcaed9296f5a53d5cbad" dependencies = [ "cfg-if 1.0.0", - "rustix 0.36.11", + "rustix", "windows-sys 0.45.0", ] @@ -2748,7 +2819,7 @@ checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "windows-sys 0.45.0", ] @@ -2887,7 +2958,7 @@ checksum = "b83164912bb4c97cfe0772913c7af7387ee2e00cb6d4636fb65a35b3d0c8f173" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2899,7 +2970,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2923,7 +2994,7 @@ dependencies = [ "frunk_proc_macro_helpers", "proc-macro-hack", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3013,7 +3084,7 @@ checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3048,9 +3119,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -3097,7 +3168,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3330,7 +3401,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -3480,9 +3551,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" [[package]] name = "iri-string" @@ -3503,18 +3574,18 @@ dependencies = [ "pmutil", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "is-terminal" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8687c819457e979cc940d09cb16e42a1bf70aa6b60a549de6d3a62a0ee90c69e" +checksum = "256017f749ab3117e93acb91063009e1f1bb56d03965b14c2c8df4eb02c524d8" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes", - "rustix 0.36.11", + "rustix", "windows-sys 0.45.0", ] @@ -3736,12 +3807,6 @@ dependencies = [ "cc", ] -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - [[package]] name = "linux-raw-sys" version = "0.3.0" @@ -4110,7 +4175,7 @@ checksum = "731f8ecebd9f3a4aa847dfe75455e4757a45da40a7793d2f0b1f9b6ed18b23f3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -4271,7 +4336,7 @@ dependencies = [ "rustls-pemfile", "serde", "serde_json", - "socket2", + "socket2 0.4.9", "thiserror", "tokio", "tokio-rustls", @@ -4346,7 +4411,7 @@ checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -4484,7 +4549,7 @@ checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -4558,7 +4623,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -4839,7 +4904,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "petgraph", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec", "thread-id", "windows-sys 0.45.0", @@ -4847,9 +4912,9 @@ dependencies = [ [[package]] name = "parquet" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac135ecf63ebb5f53dda0921b0b76d6048b3ef631a5f4760b9e8f863ff00cfa" +checksum = "321a15f8332645759f29875b07f8233d16ed8ec1b3582223de81625a9f8506b7" dependencies = [ "ahash 0.8.3", "arrow-array", @@ -4986,7 +5051,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5138,7 +5203,7 @@ checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5226,7 +5291,7 @@ checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5253,11 +5318,11 @@ checksum = "26f6a7b87c2e435a3241addceeeff740ff8b7e76b74c13bf9acb17fa454ea00b" [[package]] name = "postgres-protocol" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "878c6cbf956e03af9aa8204b407b9cbf47c072164800aa918c516cd4b056c50c" +checksum = "78b7fa9f396f51dffd61546fd8573ee20592287996568e6175ceb0f8699ad75d" dependencies = [ - "base64 0.13.1", + "base64 0.21.0", "byteorder", "bytes", "fallible-iterator", @@ -5271,9 +5336,9 @@ dependencies = [ [[package]] name = "postgres-types" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73d946ec7d256b04dfadc4e6a3292324e6f417124750fc5c0950f981b703a0f1" +checksum = "f028f05971fe20f512bcc679e2c10227e57809a3af86a7606304435bc8896cd6" dependencies = [ "bytes", "chrono", @@ -5311,7 +5376,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ "proc-macro2", - "syn", + "syn 1.0.109", ] [[package]] @@ -5366,7 +5431,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "version_check", ] @@ -5389,9 +5454,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534" dependencies = [ "unicode-ident", ] @@ -5420,7 +5485,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5470,9 +5535,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24be1d23b4552a012093e1b93697b73d644ae9590e3253d878d0e77d411b614" +checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" dependencies = [ "bytes", "heck 0.4.1", @@ -5485,7 +5550,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn", + "syn 1.0.109", "tempfile", "which", ] @@ -5500,7 +5565,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5559,7 +5624,7 @@ checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5625,7 +5690,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5636,7 +5701,7 @@ checksum = "8e0e1128f85ce3fca66e435e08aa2089a2689c1c48ce97803e13f63124058462" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5727,9 +5792,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ "proc-macro2", ] @@ -5869,6 +5934,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -5876,7 +5950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom", - "redox_syscall", + "redox_syscall 0.2.16", "thiserror", ] @@ -5957,9 +6031,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.15" +version = "0.11.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba30cc2c0cd02af1222ed216ba659cdb2f879dfe3181852fe7c50b1d0005949" +checksum = "27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254" dependencies = [ "base64 0.21.0", "bytes", @@ -6015,7 +6089,7 @@ dependencies = [ "pmutil", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "syn-ext", ] @@ -6069,7 +6143,7 @@ checksum = "ff26ed6c7c4dfc2aa9480b86a60e3c7233543a270a680e10758a507c5a4ce476" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -6106,9 +6180,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "6.6.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb133b9a38b5543fad3807fb2028ea47c5f2b566f4f5e28a11902f1a358348b6" +checksum = "1b68543d5527e158213414a92832d2aab11a84d2571a5eb021ebe22c43aab066" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -6124,7 +6198,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn", + "syn 1.0.109", "walkdir", ] @@ -6211,29 +6285,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.11" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e" +checksum = "0e78cc525325c06b4a7ff02db283472f3c042b7ff0c391f96c6d5ac6f4f91b75" dependencies = [ "bitflags 1.3.2", - "errno 0.2.8", + "errno", "io-lifetimes", "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.37.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b24138615de35e32031d041a09032ef3487a616d901ca4db224e7d557efae2" -dependencies = [ - "bitflags 1.3.2", - "errno 0.3.0", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.0", + "linux-raw-sys", "windows-sys 0.45.0", ] @@ -6355,7 +6415,7 @@ source = "git+https://github.com/discord9/RustPython?rev=2e126345#2e12634569d016 dependencies = [ "rustpython-compiler", "rustpython-derive-impl", - "syn", + "syn 1.0.109", ] [[package]] @@ -6371,7 +6431,7 @@ dependencies = [ "quote", "rustpython-compiler-core", "rustpython-doc", - "syn", + "syn 1.0.109", "syn-ext", "textwrap 0.15.2", ] @@ -6467,7 +6527,7 @@ dependencies = [ "sha-1", "sha2", "sha3", - "socket2", + "socket2 0.4.9", "system-configuration", "termios", "unic-char-property", @@ -6711,7 +6771,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn", + "syn 1.0.109", ] [[package]] @@ -6850,9 +6910,9 @@ checksum = "e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc" [[package]] name = "serde" -version = "1.0.156" +version = "1.0.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "314b5b092c0ade17c00142951e50ced110ec27cea304b1037c6969246c2469a4" +checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" dependencies = [ "serde_derive", ] @@ -6869,13 +6929,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.156" +version = "1.0.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7e29c4601e36bcec74a223228dce795f4cd3616341a4af93520ca1a837c087d" +checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -6886,14 +6946,14 @@ checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "serde_json" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" +checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" dependencies = [ "itoa", "ryu", @@ -6911,13 +6971,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395627de918015623b32e7669714206363a7fc00382bf477e72c1f7533e8eafc" +checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -6928,7 +6988,7 @@ checksum = "797ba1d80299b264f3aac68ab5d12e5825a561749db4df7cd7c8083900c5d4e9" dependencies = [ "proc-macro2", "serde", - "syn", + "syn 1.0.109", ] [[package]] @@ -7225,7 +7285,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -7244,6 +7304,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc8d618c6641ae355025c449427f9e96b98abf99a772be3cef6708d15c77147a" +dependencies = [ + "libc", + "windows-sys 0.45.0", +] + [[package]] name = "sparsevec" version = "0.1.4" @@ -7343,7 +7413,7 @@ checksum = "55fe75cb4a364c7f7ae06c7dbbc8d84bddd85d6cdf9975963c3935bc1991761e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -7531,7 +7601,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -7553,7 +7623,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn", + "syn 1.0.109", ] [[package]] @@ -7624,13 +7694,24 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e3787bb71465627110e7d87ed4faaa36c1f61042ee67badb9e2ef173accc40" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "syn-ext" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b86cb2b68c5b3c078cac02588bc23f3c04bb828c5d3aedd17980876ec6a7be6" dependencies = [ - "syn", + "syn 1.0.109", ] [[package]] @@ -7738,15 +7819,15 @@ checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "tempfile" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" +checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall", - "rustix 0.36.11", - "windows-sys 0.42.0", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.45.0", ] [[package]] @@ -7837,22 +7918,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] @@ -7862,7 +7943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fdfe0627923f7411a43ec9ec9c39c3a9b4151be313e0922042581fb6c9b717f" dependencies = [ "libc", - "redox_syscall", + "redox_syscall 0.2.16", "winapi", ] @@ -8019,20 +8100,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.26.0" +version = "1.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" dependencies = [ "autocfg", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.4.9", "tokio-macros", "tracing", "windows-sys 0.45.0", @@ -8050,20 +8130,20 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.11", ] [[package]] name = "tokio-postgres" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a12c1b3e0704ae7dfc25562629798b29c72e6b1d0a681b6f29ab4ae5e7f7bf" +checksum = "6e89f6234aa8fd43779746012fcf53603cdb91fdd8399aa0de868c2d56b6dde1" dependencies = [ "async-trait", "byteorder", @@ -8078,7 +8158,7 @@ dependencies = [ "pin-project-lite", "postgres-protocol", "postgres-types", - "socket2", + "socket2 0.5.1", "tokio", "tokio-util", ] @@ -8217,7 +8297,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -8342,7 +8422,7 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -8490,7 +8570,7 @@ dependencies = [ "rustfmt-wrapper", "schemars", "serde_json", - "syn", + "syn 1.0.109", "thiserror", "unicode-ident", ] @@ -8507,7 +8587,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn", + "syn 1.0.109", "typify-impl", ] @@ -8783,7 +8863,7 @@ checksum = "c1b300a878652a387d2a0de915bdae8f1a548f0c6d45e072fe2688794b656cc9" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -8901,7 +8981,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "wasm-bindgen-shared", ] @@ -8935,7 +9015,7 @@ checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9241,9 +9321,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.5.7" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" [[package]] name = "zstd" diff --git a/Cargo.toml b/Cargo.toml index a046f6c07e..07ad3cee8e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,22 +51,22 @@ edition = "2021" license = "Apache-2.0" [workspace.dependencies] -arrow = { version = "34.0" } -arrow-array = "34.0" -arrow-flight = "34.0" -arrow-schema = { version = "34.0", features = ["serde"] } +arrow = { version = "36.0" } +arrow-array = "36.0" +arrow-flight = "36.0" +arrow-schema = { version = "36.0", features = ["serde"] } async-stream = "0.3" async-trait = "0.1" chrono = { version = "0.4", features = ["serde"] } -datafusion = { git = "https://github.com/apache/arrow-datafusion.git", rev = "146a949218ec970784974137277cde3b4e547d0a" } -datafusion-common = { git = "https://github.com/apache/arrow-datafusion.git", rev = "146a949218ec970784974137277cde3b4e547d0a" } -datafusion-expr = { git = "https://github.com/apache/arrow-datafusion.git", rev = "146a949218ec970784974137277cde3b4e547d0a" } -datafusion-optimizer = { git = "https://github.com/apache/arrow-datafusion.git", rev = "146a949218ec970784974137277cde3b4e547d0a" } -datafusion-physical-expr = { git = "https://github.com/apache/arrow-datafusion.git", rev = "146a949218ec970784974137277cde3b4e547d0a" } -datafusion-sql = { git = "https://github.com/apache/arrow-datafusion.git", rev = "146a949218ec970784974137277cde3b4e547d0a" } +datafusion = { git = "https://github.com/apache/arrow-datafusion.git", rev = "8e125d2ecf242b4f4b81f06839900dbb2037cc2a" } +datafusion-common = { git = "https://github.com/apache/arrow-datafusion.git", rev = "8e125d2ecf242b4f4b81f06839900dbb2037cc2a" } +datafusion-expr = { git = "https://github.com/apache/arrow-datafusion.git", rev = "8e125d2ecf242b4f4b81f06839900dbb2037cc2a" } +datafusion-optimizer = { git = "https://github.com/apache/arrow-datafusion.git", rev = "8e125d2ecf242b4f4b81f06839900dbb2037cc2a" } +datafusion-physical-expr = { git = "https://github.com/apache/arrow-datafusion.git", rev = "8e125d2ecf242b4f4b81f06839900dbb2037cc2a" } +datafusion-sql = { git = "https://github.com/apache/arrow-datafusion.git", rev = "8e125d2ecf242b4f4b81f06839900dbb2037cc2a" } futures = "0.3" futures-util = "0.3" -parquet = "34.0" +parquet = "36.0" paste = "1.0" prost = "0.11" rand = "0.8" diff --git a/benchmarks/src/bin/nyc-taxi.rs b/benchmarks/src/bin/nyc-taxi.rs index 1de5bf562b..162fd895f7 100644 --- a/benchmarks/src/bin/nyc-taxi.rs +++ b/benchmarks/src/bin/nyc-taxi.rs @@ -132,7 +132,7 @@ fn convert_record_batch(record_batch: RecordBatch) -> (Vec, u32) { values: Some(values), null_mask: array .data() - .null_bitmap() + .nulls() .map(|bitmap| bitmap.buffer().as_slice().to_vec()) .unwrap_or_default(), datatype: datatype.into(), diff --git a/src/catalog/src/table_source.rs b/src/catalog/src/table_source.rs index 5d8f93504e..0a7c9a5ca0 100644 --- a/src/catalog/src/table_source.rs +++ b/src/catalog/src/table_source.rs @@ -16,7 +16,7 @@ use std::collections::HashMap; use std::sync::Arc; use common_catalog::format_full_table_name; -use datafusion::common::{OwnedTableReference, ResolvedTableReference, TableReference}; +use datafusion::common::{ResolvedTableReference, TableReference}; use datafusion::datasource::provider_as_source; use datafusion::logical_expr::TableSource; use session::context::QueryContext; @@ -87,9 +87,8 @@ impl DfTableSourceProvider { pub async fn resolve_table( &mut self, - table_ref: OwnedTableReference, + table_ref: TableReference<'_>, ) -> Result> { - let table_ref = table_ref.as_table_reference(); let table_ref = self.resolve_table_ref(table_ref)?; let resolved_name = table_ref.to_string(); diff --git a/src/common/substrait/src/df_expr.rs b/src/common/substrait/src/df_expr.rs index 001ecb4229..0d24150cad 100644 --- a/src/common/substrait/src/df_expr.rs +++ b/src/common/substrait/src/df_expr.rs @@ -581,7 +581,7 @@ pub fn expression_from_df_expr( | Expr::ScalarSubquery(..) | Expr::Placeholder { .. } | Expr::QualifiedWildcard { .. } => todo!(), - Expr::GroupingSet(_) => UnsupportedExprSnafu { + Expr::GroupingSet(_) | Expr::OuterReferenceColumn(_, _) => UnsupportedExprSnafu { name: expr.to_string(), } .fail()?, diff --git a/src/common/substrait/src/df_logical.rs b/src/common/substrait/src/df_logical.rs index 3916088fde..a3c2ef61de 100644 --- a/src/common/substrait/src/df_logical.rs +++ b/src/common/substrait/src/df_logical.rs @@ -22,9 +22,10 @@ use catalog::CatalogManagerRef; use common_catalog::format_full_table_name; use common_telemetry::debug; use datafusion::arrow::datatypes::SchemaRef as ArrowSchemaRef; -use datafusion::common::{DFField, DFSchema, OwnedTableReference}; +use datafusion::common::{DFField, DFSchema}; use datafusion::datasource::DefaultTableSource; use datafusion::physical_plan::project_schema; +use datafusion::sql::TableReference; use datafusion_expr::{Filter, LogicalPlan, TableScan}; use prost::Message; use session::context::QueryContext; @@ -240,13 +241,13 @@ impl DFLogicalSubstraitConvertor { .projection .map(|mask_expr| self.convert_mask_expression(mask_expr)); - let table_ref = OwnedTableReference::Full { - catalog: catalog_name.clone(), - schema: schema_name.clone(), - table: table_name.clone(), - }; + let table_ref = TableReference::full( + catalog_name.clone(), + schema_name.clone(), + table_name.clone(), + ); let adapter = table_provider - .resolve_table(table_ref) + .resolve_table(table_ref.clone()) .await .with_context(|_| ResolveTableSnafu { table_name: format_full_table_name(&catalog_name, &schema_name, &table_name), @@ -272,14 +273,13 @@ impl DFLogicalSubstraitConvertor { }; // Calculate the projected schema - let qualified = &format_full_table_name(&catalog_name, &schema_name, &table_name); let projected_schema = Arc::new( project_schema(&stored_schema, projection.as_ref()) .and_then(|x| { DFSchema::new_with_metadata( x.fields() .iter() - .map(|f| DFField::from_qualified(qualified, f.clone())) + .map(|f| DFField::from_qualified(table_ref.clone(), f.clone())) .collect(), x.metadata().clone(), ) @@ -291,7 +291,7 @@ impl DFLogicalSubstraitConvertor { // TODO(ruihang): Support limit(fetch) Ok(LogicalPlan::TableScan(TableScan { - table_name: qualified.to_string(), + table_name: table_ref, source: adapter, projection, projected_schema, @@ -620,10 +620,13 @@ mod test { let projected_schema = Arc::new(DFSchema::new_with_metadata(projected_fields, Default::default()).unwrap()); + let table_name = TableReference::full( + DEFAULT_CATALOG_NAME, + DEFAULT_SCHEMA_NAME, + DEFAULT_TABLE_NAME, + ); let table_scan_plan = LogicalPlan::TableScan(TableScan { - table_name: format!( - "{DEFAULT_CATALOG_NAME}.{DEFAULT_SCHEMA_NAME}.{DEFAULT_TABLE_NAME}", - ), + table_name, source: adapter, projection: Some(projection), projected_schema, diff --git a/src/datanode/src/sql/copy_table_to.rs b/src/datanode/src/sql/copy_table_to.rs index 7c513d5967..5338f51f4e 100644 --- a/src/datanode/src/sql/copy_table_to.rs +++ b/src/datanode/src/sql/copy_table_to.rs @@ -20,7 +20,7 @@ use common_query::physical_plan::SessionContext; use common_query::Output; use common_recordbatch::adapter::DfRecordBatchStreamAdapter; use datafusion::parquet::arrow::ArrowWriter; -use datafusion::parquet::basic::{Compression, Encoding}; +use datafusion::parquet::basic::{Compression, Encoding, ZstdLevel}; use datafusion::parquet::file::properties::WriterProperties; use datafusion::physical_plan::RecordBatchStream; use futures::TryStreamExt; @@ -94,7 +94,7 @@ impl ParquetWriter { pub async fn flush(&mut self) -> Result { let schema = self.stream.as_ref().schema(); let writer_props = WriterProperties::builder() - .set_compression(Compression::ZSTD) + .set_compression(Compression::ZSTD(ZstdLevel::default())) .set_encoding(Encoding::PLAIN) .set_max_row_group_size(self.max_row_group_size) .build(); diff --git a/src/datatypes/src/vectors/validity.rs b/src/datatypes/src/vectors/validity.rs index 8b3722a511..1887a4e58c 100644 --- a/src/datatypes/src/vectors/validity.rs +++ b/src/datatypes/src/vectors/validity.rs @@ -13,13 +13,13 @@ // limitations under the License. use arrow::array::ArrayData; -use arrow::bitmap::Bitmap; +use arrow::buffer::NullBuffer; #[derive(Debug, PartialEq)] enum ValidityKind<'a> { /// Whether the array slot is valid or not (null). Slots { - bitmap: &'a Bitmap, + bitmap: &'a NullBuffer, len: usize, null_count: usize, }, @@ -38,7 +38,7 @@ pub struct Validity<'a> { impl<'a> Validity<'a> { /// Creates a `Validity` from [`ArrayData`]. pub fn from_array_data(data: &'a ArrayData) -> Validity<'a> { - match data.null_bitmap() { + match data.nulls() { Some(bitmap) => Validity { kind: ValidityKind::Slots { bitmap, @@ -67,7 +67,7 @@ impl<'a> Validity<'a> { /// Returns whether `i-th` bit is set. pub fn is_set(&self, i: usize) -> bool { match self.kind { - ValidityKind::Slots { bitmap, .. } => bitmap.is_set(i), + ValidityKind::Slots { bitmap, .. } => bitmap.is_valid(i), ValidityKind::AllValid { len } => i < len, ValidityKind::AllNull { .. } => false, } diff --git a/src/promql/src/extension_plan/empty_metric.rs b/src/promql/src/extension_plan/empty_metric.rs index af646e585d..f2df04f2ea 100644 --- a/src/promql/src/extension_plan/empty_metric.rs +++ b/src/promql/src/extension_plan/empty_metric.rs @@ -30,6 +30,7 @@ use datafusion::physical_plan::{ DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, }; use datafusion::prelude::Expr; +use datafusion::sql::TableReference; use datatypes::arrow::array::TimestampMillisecondArray; use datatypes::arrow::datatypes::SchemaRef; use datatypes::arrow::record_batch::RecordBatch; @@ -56,12 +57,17 @@ impl EmptyMetric { let schema = Arc::new(DFSchema::new_with_metadata( vec![ DFField::new( - None, + None::, &time_index_column_name, DataType::Timestamp(TimeUnit::Millisecond, None), false, ), - DFField::new(None, &value_column_name, DataType::Float64, true), + DFField::new( + None::, + &value_column_name, + DataType::Float64, + true, + ), ], HashMap::new(), )?); diff --git a/src/promql/src/extension_plan/range_manipulate.rs b/src/promql/src/extension_plan/range_manipulate.rs index f775e8459d..4b17615df5 100644 --- a/src/promql/src/extension_plan/range_manipulate.rs +++ b/src/promql/src/extension_plan/range_manipulate.rs @@ -33,6 +33,7 @@ use datafusion::physical_plan::{ DisplayFormatType, ExecutionPlan, Partitioning, RecordBatchStream, SendableRecordBatchStream, Statistics, }; +use datafusion::sql::TableReference; use futures::{Stream, StreamExt}; use crate::extension_plan::Millisecond; @@ -106,7 +107,7 @@ impl RangeManipulate { // process time index column // the raw timestamp field is preserved. And a new timestamp_range field is appended to the last. let Some(ts_col_index) = input_schema.index_of_column_by_name(None, time_index)? else { - return Err(datafusion::common::field_not_found(None, time_index, input_schema.as_ref())) + return Err(datafusion::common::field_not_found(None::, time_index, input_schema.as_ref())) }; let timestamp_range_field = columns[ts_col_index] .field() @@ -119,7 +120,7 @@ impl RangeManipulate { // process value columns for name in value_columns { let Some(index) = input_schema.index_of_column_by_name(None, name)? else { - return Err(datafusion::common::field_not_found(None, name, input_schema.as_ref())) + return Err(datafusion::common::field_not_found(None::, name, input_schema.as_ref())) }; columns[index] = DFField::from(RangeArray::convert_field(columns[index].field())); } diff --git a/src/promql/src/planner.rs b/src/promql/src/planner.rs index 5a19eb28d0..4813760aae 100644 --- a/src/promql/src/planner.rs +++ b/src/promql/src/planner.rs @@ -30,6 +30,7 @@ use datafusion::logical_expr::{ use datafusion::optimizer::utils; use datafusion::prelude::{Column, Expr as DfExpr, JoinType}; use datafusion::scalar::ScalarValue; +use datafusion::sql::TableReference; use datatypes::arrow::datatypes::DataType as ArrowDataType; use promql_parser::label::{MatchOp, Matchers, METRIC_NAME}; use promql_parser::parser::{ @@ -562,15 +563,13 @@ impl PromPlanner { table_name: &str, filter: Vec, ) -> Result { - let table_ref = OwnedTableReference::Bare { - table: table_name.to_string(), - }; + let table_ref = OwnedTableReference::bare(table_name.to_string()); let provider = self .table_provider - .resolve_table(table_ref) + .resolve_table(table_ref.clone()) .await .context(CatalogSnafu)?; - let result = LogicalPlanBuilder::scan_with_filters(table_name, provider, None, filter) + let result = LogicalPlanBuilder::scan_with_filters(table_ref, provider, None, filter) .context(DataFusionPlanningSnafu)? .build() .context(DataFusionPlanningSnafu)?; @@ -586,9 +585,7 @@ impl PromPlanner { .context(TableNameNotFoundSnafu)?; let table = self .table_provider - .resolve_table(OwnedTableReference::Bare { - table: table_name.to_string(), - }) + .resolve_table(TableReference::bare(&table_name)) .await .context(CatalogSnafu)? .as_any() diff --git a/src/promql/src/range_array.rs b/src/promql/src/range_array.rs index 82d58acbd6..51af2262bf 100644 --- a/src/promql/src/range_array.rs +++ b/src/promql/src/range_array.rs @@ -14,6 +14,7 @@ //!An extended "array" based on [DictionaryArray]. +use datafusion::arrow::buffer::NullBuffer; use datafusion::arrow::datatypes::Field; use datatypes::arrow::array::{Array, ArrayData, ArrayRef, DictionaryArray, Int64Array}; use datatypes::arrow::datatypes::{DataType, Int64Type}; @@ -124,10 +125,10 @@ impl RangeArray { .len(key_array.len()) .add_buffer(key_array.data().buffers()[0].clone()) .add_child_data(values.data().clone()); - match key_array.data().null_buffer() { + match key_array.data().nulls() { Some(buffer) if key_array.data().null_count() > 0 => { data = data - .null_bit_buffer(Some(buffer.clone())) + .nulls(Some(buffer.clone())) .null_count(key_array.data().null_count()); } _ => data = data.null_count(0), @@ -223,6 +224,18 @@ impl Array for RangeArray { fn into_data(self) -> ArrayData { self.array.into_data() } + + fn to_data(&self) -> ArrayData { + self.array.to_data() + } + + fn slice(&self, offset: usize, length: usize) -> ArrayRef { + self.array.slice(offset, length) + } + + fn nulls(&self) -> Option<&NullBuffer> { + self.array.nulls() + } } impl std::fmt::Debug for RangeArray { diff --git a/src/query/src/datafusion.rs b/src/query/src/datafusion.rs index 31597fa488..30cde4e20f 100644 --- a/src/query/src/datafusion.rs +++ b/src/query/src/datafusion.rs @@ -93,10 +93,7 @@ impl DatafusionQueryEngine { let default_catalog = query_ctx.current_catalog(); let default_schema = query_ctx.current_schema(); - let table_name = dml - .table_name - .as_table_reference() - .resolve(&default_catalog, &default_schema); + let table_name = dml.table_name.resolve(&default_catalog, &default_schema); let table = self.find_table(&table_name).await?; let output = self diff --git a/src/query/src/datafusion/planner.rs b/src/query/src/datafusion/planner.rs index c0a4f6a635..9b6fc46756 100644 --- a/src/query/src/datafusion/planner.rs +++ b/src/query/src/datafusion/planner.rs @@ -79,7 +79,7 @@ async fn resolve_tables( for table_name in table_names { let resolved_name = table_provider - .resolve_table_ref(table_name.as_table_reference()) + .resolve_table_ref(table_name.clone()) .context(CatalogSnafu)?; if let Entry::Vacant(v) = tables.entry(resolved_name.to_string()) { diff --git a/src/query/src/optimizer.rs b/src/query/src/optimizer.rs index 06efe1f410..ef7745ccdb 100644 --- a/src/query/src/optimizer.rs +++ b/src/query/src/optimizer.rs @@ -18,8 +18,8 @@ use std::sync::Arc; use common_time::timestamp::{TimeUnit, Timestamp}; use datafusion::optimizer::optimizer::OptimizerRule; use datafusion::optimizer::OptimizerConfig; +use datafusion_common::tree_node::{TreeNode, TreeNodeRewriter}; use datafusion_common::{DFSchemaRef, DataFusionError, Result, ScalarValue}; -use datafusion_expr::expr_rewriter::{ExprRewritable, ExprRewriter}; use datafusion_expr::{ Between, BinaryExpr, Expr, ExprSchemable, Filter, LogicalPlan, Operator, TableScan, }; @@ -200,7 +200,9 @@ impl<'a> TypeConverter<'a> { } } -impl<'a> ExprRewriter for TypeConverter<'a> { +impl<'a> TreeNodeRewriter for TypeConverter<'a> { + type N = Expr; + fn mutate(&mut self, expr: Expr) -> Result { let new_expr = match expr { Expr::BinaryExpr(BinaryExpr { left, op, right }) => match op { @@ -299,6 +301,7 @@ mod tests { use std::collections::HashMap; use datafusion_common::{Column, DFField, DFSchema}; + use datafusion_sql::TableReference; use super::*; @@ -358,7 +361,7 @@ mod tests { let schema_ref = Arc::new( DFSchema::new_with_metadata( vec![DFField::new( - None, + None::, "ts", DataType::Timestamp(ArrowTimeUnit::Millisecond, None), true, @@ -390,7 +393,12 @@ mod tests { let col_name = "is_valid"; let schema_ref = Arc::new( DFSchema::new_with_metadata( - vec![DFField::new(None, col_name, DataType::Boolean, false)], + vec![DFField::new( + None::, + col_name, + DataType::Boolean, + false, + )], HashMap::new(), ) .unwrap(), diff --git a/src/query/src/planner.rs b/src/query/src/planner.rs index e1938f858d..441a7084c9 100644 --- a/src/query/src/planner.rs +++ b/src/query/src/planner.rs @@ -61,7 +61,7 @@ impl DfLogicalPlanner { ) .await?; - let config_options = self.session_state.config().config_options(); + let config_options = self.session_state.config().options(); let parser_options = ParserOptions { enable_ident_normalization: config_options.sql_parser.enable_ident_normalization, parse_float_as_decimal: config_options.sql_parser.parse_float_as_decimal, diff --git a/src/storage/src/sst/parquet.rs b/src/storage/src/sst/parquet.rs index 08e353db2d..acce5516ba 100644 --- a/src/storage/src/sst/parquet.rs +++ b/src/storage/src/sst/parquet.rs @@ -39,7 +39,7 @@ use futures_util::{Stream, StreamExt, TryStreamExt}; use object_store::ObjectStore; use parquet::arrow::arrow_reader::{ArrowPredicate, RowFilter}; use parquet::arrow::{ArrowWriter, ParquetRecordBatchStreamBuilder, ProjectionMask}; -use parquet::basic::{Compression, Encoding}; +use parquet::basic::{Compression, Encoding, ZstdLevel}; use parquet::file::metadata::KeyValue; use parquet::file::properties::WriterProperties; use parquet::format::FileMetaData; @@ -91,7 +91,7 @@ impl<'a> ParquetWriter<'a> { let schema = store_schema.arrow_schema().clone(); let writer_props = WriterProperties::builder() - .set_compression(Compression::ZSTD) + .set_compression(Compression::ZSTD(ZstdLevel::default())) .set_encoding(Encoding::PLAIN) .set_max_row_group_size(self.max_row_group_size) .set_key_value_metadata(extra_meta.map(|map| { diff --git a/tests/cases/standalone/common/order/order_by.result b/tests/cases/standalone/common/order/order_by.result index b9452a936a..042ce86815 100644 --- a/tests/cases/standalone/common/order/order_by.result +++ b/tests/cases/standalone/common/order/order_by.result @@ -194,7 +194,7 @@ SELECT a-10 AS k FROM test UNION SELECT a-10 AS l FROM test ORDER BY k; SELECT a-10 AS k FROM test UNION SELECT a-10 AS l FROM test ORDER BY l; -Error: 3000(PlanQuery), No field named 'l'. Valid fields are 'k'. +Error: 3000(PlanQuery), No field named "l". Valid fields are "k". SELECT a-10 AS k FROM test UNION SELECT a-10 AS l FROM test ORDER BY 1-k; diff --git a/tests/cases/standalone/common/order/order_by_exceptions.result b/tests/cases/standalone/common/order/order_by_exceptions.result index 86c1150116..8de0bba01c 100644 --- a/tests/cases/standalone/common/order/order_by_exceptions.result +++ b/tests/cases/standalone/common/order/order_by_exceptions.result @@ -36,7 +36,7 @@ SELECT a AS k, b FROM test UNION SELECT a AS k, b FROM test ORDER BY k; SELECT a % 2, b FROM test UNION SELECT b, a % 2 AS k ORDER BY a % 2; -Error: 3000(PlanQuery), No field named 'b'. +Error: 3000(PlanQuery), No field named "b". SELECT a % 2, b FROM test UNION SELECT a % 2 AS k, b FROM test ORDER BY a % 2; diff --git a/tests/cases/standalone/common/select/dummy.result b/tests/cases/standalone/common/select/dummy.result index 6fa669871b..3410643482 100644 --- a/tests/cases/standalone/common/select/dummy.result +++ b/tests/cases/standalone/common/select/dummy.result @@ -24,15 +24,15 @@ select 4 + 0.5; select "a"; -Error: 3000(PlanQuery), No field named 'a'. +Error: 3000(PlanQuery), No field named "a". select "A"; -Error: 3000(PlanQuery), No field named 'A'. +Error: 3000(PlanQuery), No field named "A". select * where "a" = "A"; -Error: 3000(PlanQuery), No field named 'a'. +Error: 3000(PlanQuery), No field named "a". select TO_UNIXTIME('2023-03-01T06:35:02Z'); diff --git a/tests/cases/standalone/order/limit.result b/tests/cases/standalone/order/limit.result index e2e2aa0d07..65d1e7627d 100644 --- a/tests/cases/standalone/order/limit.result +++ b/tests/cases/standalone/order/limit.result @@ -16,27 +16,27 @@ SELECT a FROM test LIMIT 1; SELECT a FROM test LIMIT 1.25; -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT a FROM test LIMIT 2-1; -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT a FROM test LIMIT a; -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT a FROM test LIMIT a+1; -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT a FROM test LIMIT SUM(42); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT a FROM test LIMIT row_number() OVER (); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative CREATE TABLE test2 (a STRING, ts BIGINT TIME INDEX); @@ -56,7 +56,7 @@ SELECT * FROM test2 LIMIT 3; select 1 limit date '1992-01-01'; -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative CREATE TABLE integers(i BIGINT TIME INDEX); @@ -89,7 +89,7 @@ SELECT * FROM integers LIMIT 4; SELECT * FROM integers as int LIMIT (SELECT MIN(integers.i) FROM integers); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT * FROM integers as int OFFSET (SELECT MIN(integers.i) FROM integers); @@ -101,23 +101,23 @@ Error: 3000(PlanQuery), Error during planning: Unexpected expression in OFFSET c SELECT * FROM integers as int LIMIT (SELECT max(integers.i) FROM integers where i > 5); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT * FROM integers as int LIMIT (SELECT max(integers.i) FROM integers where i > 5); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT * FROM integers as int LIMIT (SELECT NULL); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT * FROM integers as int LIMIT (SELECT -1); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative SELECT * FROM integers as int LIMIT (SELECT 'ab'); -Error: 3000(PlanQuery), Error during planning: Unexpected expression for LIMIT clause +Error: 3000(PlanQuery), Error during planning: LIMIT must not be negative DROP TABLE integers;