From 154f561da1252a2275fff3429bba4a6478991e69 Mon Sep 17 00:00:00 2001 From: Kelvin Wu Date: Tue, 7 May 2024 15:10:59 +0800 Subject: [PATCH] refactor: passing QueryContext to RegionServer (#3829) * refactor: passing QueryContext to RegionServer * refactor: change the return type of build() in QueryContextBuilder * fix: update greptime-proto reference * chore: apply suggestion * chore: revert the last commit --------- Co-authored-by: dennis zhuang --- Cargo.lock | 632 +++++++++--------- Cargo.toml | 2 +- src/cmd/src/cli/repl.rs | 5 +- src/common/function/src/function.rs | 4 +- src/common/function/src/scalars/udf.rs | 2 +- src/common/function/src/system/database.rs | 3 +- src/common/function/src/system/timezone.rs | 2 +- src/datanode/src/region_server.rs | 2 +- src/operator/src/expr_factory.rs | 6 +- src/operator/src/statement.rs | 3 +- src/operator/src/statement/ddl.rs | 2 +- src/query/src/dist_plan/merge_scan.rs | 14 +- src/query/src/query_engine/options.rs | 4 +- src/query/src/sql.rs | 8 +- src/script/src/python/ffi_types/copr.rs | 2 +- src/script/src/table.rs | 1 + src/servers/src/export_metrics.rs | 3 +- src/servers/src/grpc/authorize.rs | 3 +- src/servers/src/grpc/greptime_handler.rs | 1 + src/servers/src/http/authorize.rs | 2 +- src/servers/src/http/prometheus.rs | 11 +- src/servers/src/http/script.rs | 5 +- src/servers/src/postgres/types.rs | 3 +- src/servers/tests/py_script/mod.rs | 10 +- src/session/src/context.rs | 47 +- src/session/src/lib.rs | 1 + tests-integration/src/otlp.rs | 2 +- tests-integration/src/prom_store.rs | 2 +- .../src/tests/instance_kafka_wal_test.rs | 20 +- tests-integration/src/tests/instance_test.rs | 10 +- tests-integration/src/tests/promql_test.rs | 6 +- 31 files changed, 423 insertions(+), 395 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 284dcaa4c1..7ed2fb9dc7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,47 +147,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -195,9 +196,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "anymap" @@ -334,7 +335,7 @@ dependencies = [ "chrono", "chrono-tz", "half 2.4.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "num", ] @@ -361,7 +362,7 @@ dependencies = [ "arrow-schema", "arrow-select", "atoi 2.0.0", - "base64 0.22.0", + "base64 0.22.1", "chrono", "comfy-table", "half 2.4.1", @@ -412,7 +413,7 @@ dependencies = [ "arrow-cast", "arrow-ipc", "arrow-schema", - "base64 0.22.0", + "base64 0.22.1", "bytes", "futures", "paste", @@ -484,7 +485,7 @@ dependencies = [ "arrow-data", "arrow-schema", "half 2.4.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -574,11 +575,11 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07dbbf24db18d609b1462965249abdf49129ccad073ec257da372adc83259c60" +checksum = "4e9eabd7a98fe442131a17c316bd9349c43695e49e730c3c8e12cfb5f4da2693" dependencies = [ - "brotli 4.0.0", + "brotli 5.0.0", "bzip2", "flate2", "futures-core", @@ -604,13 +605,13 @@ dependencies = [ [[package]] name = "async-recursion" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -632,7 +633,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -643,7 +644,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -721,7 +722,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -732,9 +733,9 @@ checksum = "7460f7dd8e100147b82a63afca1a20eb6c231ee36b90ba7272e14951cb58af59" [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "autotools" @@ -804,7 +805,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -848,9 +849,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -942,7 +943,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1026,9 +1027,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6" +checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" dependencies = [ "borsh-derive", "cfg_aliases", @@ -1036,15 +1037,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5" +checksum = "d7a8646f94ab393e43e8b35a2558b1624bed28b97ee09c5d15456e3c9463f46d" dependencies = [ "once_cell", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "syn_derive", ] @@ -1061,13 +1062,13 @@ dependencies = [ [[package]] name = "brotli" -version = "4.0.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125740193d7fee5cc63ab9e16c2fdc4e07c74ba755cc53b327d6ea029e9fc569" +checksum = "19483b140a7ac7174d34b5a581b406c64f84da5409d3e09cf4fff604f9270e67" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", - "brotli-decompressor 3.0.0", + "brotli-decompressor 4.0.0", ] [[package]] @@ -1082,9 +1083,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "3.0.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65622a320492e09b5e0ac436b14c54ff68199bac392d0e89a6832c4518eea525" +checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1290,12 +1291,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.94" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -1500,7 +1502,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1542,7 +1544,7 @@ dependencies = [ "futures-util", "lazy_static", "moka", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "prometheus", "prost 0.12.4", "rand", @@ -1643,9 +1645,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "combine" @@ -1884,7 +1886,7 @@ dependencies = [ "snafu", "static_assertions", "syn 1.0.109", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -2064,7 +2066,7 @@ dependencies = [ "opentelemetry-otlp", "opentelemetry-semantic-conventions", "opentelemetry_sdk 0.21.2", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "prometheus", "serde", "serde_json", @@ -2134,9 +2136,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -2500,7 +2502,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -2522,7 +2524,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core 0.20.8", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -2532,17 +2534,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "datafusion" @@ -2554,7 +2556,7 @@ dependencies = [ "arrow-array", "arrow-ipc", "arrow-schema", - "async-compression 0.4.8", + "async-compression 0.4.9", "async-trait", "bytes", "bzip2", @@ -2575,13 +2577,13 @@ dependencies = [ "futures", "glob", "half 2.4.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "indexmap 2.2.6", "itertools 0.12.1", "log", "num_cpus", "object_store", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "parquet", "pin-project-lite", "rand", @@ -2634,10 +2636,10 @@ dependencies = [ "datafusion-common", "datafusion-expr", "futures", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "log", "object_store", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "rand", "tempfile", "url", @@ -2666,7 +2668,7 @@ version = "37.0.0" source = "git+https://github.com/apache/arrow-datafusion.git?rev=34eda15b73a9e278af8844b30ed2f1c21c10359c#34eda15b73a9e278af8844b30ed2f1c21c10359c" dependencies = [ "arrow", - "base64 0.22.0", + "base64 0.22.1", "blake2", "blake3", "chrono", @@ -2674,7 +2676,7 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-physical-expr", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "itertools 0.12.1", "log", @@ -2730,7 +2732,7 @@ dependencies = [ "datafusion-common", "datafusion-expr", "datafusion-physical-expr", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "itertools 0.12.1", "log", "regex-syntax 0.8.3", @@ -2748,7 +2750,7 @@ dependencies = [ "arrow-ord", "arrow-schema", "arrow-string", - "base64 0.22.0", + "base64 0.22.1", "chrono", "datafusion-common", "datafusion-execution", @@ -2756,7 +2758,7 @@ dependencies = [ "datafusion-functions-aggregate", "datafusion-physical-expr-common", "half 2.4.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "indexmap 2.2.6", "itertools 0.12.1", @@ -2798,12 +2800,12 @@ dependencies = [ "datafusion-physical-expr-common", "futures", "half 2.4.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "indexmap 2.2.6", "itertools 0.12.1", "log", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "pin-project-lite", "rand", "tokio", @@ -2980,7 +2982,7 @@ checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -2991,7 +2993,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3201,9 +3203,9 @@ checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "ena" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" dependencies = [ "log", ] @@ -3240,13 +3242,13 @@ dependencies = [ [[package]] name = "enum-iterator-derive" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03cdc46ec28bd728e67540c528013c6a10eb69a02eb31078a1bda695438cbfb8" +checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3258,7 +3260,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3380,9 +3382,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fd-lock" @@ -3391,7 +3393,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if 1.0.0", - "rustix 0.38.32", + "rustix", "windows-sys 0.48.0", ] @@ -3479,9 +3481,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "libz-sys", @@ -3645,7 +3647,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3657,7 +3659,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3669,7 +3671,7 @@ dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3770,7 +3772,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3840,9 +3842,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3891,7 +3893,7 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "greptime-proto" version = "0.1.0" -source = "git+https://github.com/GreptimeTeam/greptime-proto.git?rev=f699e240f7a6c83f139dabac8669714f08513120#f699e240f7a6c83f139dabac8669714f08513120" +source = "git+https://github.com/GreptimeTeam/greptime-proto.git?rev=a191edaea1089362a86ebc7d8e98ee9a1bd522d1#a191edaea1089362a86ebc7d8e98ee9a1bd522d1" dependencies = [ "prost 0.12.4", "serde", @@ -3958,9 +3960,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash 0.8.11", "allocator-api2", @@ -3972,7 +3974,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -4214,7 +4216,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4229,7 +4231,7 @@ dependencies = [ "rust-sitter", "rust-sitter-tool", "slotmap", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4248,7 +4250,7 @@ dependencies = [ "serde", "serde_json", "slotmap", - "syn 2.0.60", + "syn 2.0.61", "webbrowser", ] @@ -4262,7 +4264,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4282,7 +4284,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -4298,7 +4300,7 @@ dependencies = [ "futures-util", "http", "hyper", - "rustls 0.21.10", + "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", ] @@ -4424,7 +4426,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "serde", ] @@ -4536,17 +4538,6 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.9.0" @@ -4587,6 +4578,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -4837,9 +4834,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libfuzzer-sys" @@ -4929,12 +4926,6 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - [[package]] name = "linux-raw-sys" version = "0.4.13" @@ -4943,9 +4934,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -5051,7 +5042,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -5302,7 +5293,7 @@ dependencies = [ "itertools 0.10.5", "lazy_static", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "prometheus", "prost 0.12.4", "rand", @@ -5332,7 +5323,7 @@ source = "git+https://github.com/GreptimeTeam/greptime-meter.git?rev=80b72716dcd dependencies = [ "anymap", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.2", ] [[package]] @@ -5507,9 +5498,9 @@ dependencies = [ [[package]] name = "moka" -version = "0.12.6" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87bfd249f570638bfb0b4f9d258e6b8cddd2a5a7d0ed47e8bb8b176bfc0e7a17" +checksum = "9e0d88686dc561d743b40de8269b26eaf0dc58781bde087b0984646602021d08" dependencies = [ "async-lock", "async-trait", @@ -5519,7 +5510,7 @@ dependencies = [ "event-listener 5.3.0", "futures-util", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "quanta", "rustc_version", "smallvec", @@ -5569,7 +5560,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "termcolor", "thiserror", ] @@ -5587,7 +5578,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "termcolor", "thiserror", ] @@ -5614,11 +5605,11 @@ dependencies = [ "percent-encoding", "pin-project", "rand", - "rustls 0.21.10", + "rustls 0.21.12", "rustls-pemfile 1.0.4", "serde", "serde_json", - "socket2 0.5.6", + "socket2 0.5.7", "thiserror", "tokio", "tokio-rustls 0.24.1", @@ -5868,11 +5859,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -5917,7 +5907,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -5941,9 +5931,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -5964,9 +5954,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -6067,7 +6057,7 @@ dependencies = [ "futures", "humantime", "itertools 0.12.1", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "percent-encoding", "snafu", "tokio", @@ -6402,7 +6392,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list 0.5.2", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -6476,12 +6466,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -6500,18 +6490,18 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "backtrace", "cfg-if 1.0.0", "libc", "petgraph", - "redox_syscall 0.4.1", + "redox_syscall 0.5.1", "smallvec", "thread-id", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -6528,14 +6518,14 @@ dependencies = [ "arrow-ipc", "arrow-schema", "arrow-select", - "base64 0.22.0", + "base64 0.22.1", "brotli 3.5.0", "bytes", "chrono", "flate2", "futures", "half 2.4.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lz4_flex 0.11.3", "num", "num-bigint", @@ -6551,9 +6541,9 @@ dependencies = [ [[package]] name = "parse-zoneinfo" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" dependencies = [ "regex", ] @@ -6583,9 +6573,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "path-slash" @@ -6615,7 +6605,7 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "serde", ] @@ -6651,9 +6641,9 @@ checksum = "df202b0b0f5b8e389955afd5f27b007b00fb948162953f1db9c70d2c7e3157d7" [[package]] name = "pest" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -6662,9 +6652,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -6672,22 +6662,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] name = "pest_meta" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", @@ -6711,7 +6701,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c00492c52bb65e0421211b7f4c5d9de7586e53786a3b244efb00f74851206bf6" dependencies = [ "async-trait", - "base64 0.22.0", + "base64 0.22.1", "bytes", "chrono", "derive-new 0.6.0", @@ -6795,7 +6785,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -6984,7 +6974,7 @@ dependencies = [ "log", "nix 0.26.4", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "prost 0.12.4", "prost-build 0.12.4", "prost-derive 0.12.4", @@ -7065,7 +7055,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550" dependencies = [ "proc-macro2", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -7122,29 +7112,39 @@ dependencies = [ [[package]] name = "procfs" -version = "0.14.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de8dacb0873f77e6aefc6d71e044761fcc68060290f5b1089fcdf84626bb69" +checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 1.3.2", - "byteorder", + "bitflags 2.5.0", "hex", "lazy_static", - "rustix 0.36.17", + "procfs-core", + "rustix", +] + +[[package]] +name = "procfs-core" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +dependencies = [ + "bitflags 2.5.0", + "hex", ] [[package]] name = "prometheus" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if 1.0.0", "fnv", "lazy_static", "libc", "memchr", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "procfs", "protobuf", "thiserror", @@ -7267,7 +7267,7 @@ dependencies = [ "prost 0.12.4", "prost-types 0.12.4", "regex", - "syn 2.0.60", + "syn 2.0.61", "tempfile", ] @@ -7294,7 +7294,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -7418,7 +7418,7 @@ dependencies = [ "indoc", "libc", "memoffset 0.9.1", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "portable-atomic", "pyo3-build-config", "pyo3-ffi", @@ -7455,7 +7455,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -7468,7 +7468,7 @@ dependencies = [ "proc-macro2", "pyo3-build-config", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -7597,16 +7597,16 @@ dependencies = [ [[package]] name = "raft-engine" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bc58d7f3a865d3224bad461e5fbe386b799b2b7eabea43e1da6f11ac725d83f" +checksum = "1213c3a24e3fee8afcc74b2be08c4081adde96f092e0fc1c607abb3e16ae722e" dependencies = [ "byteorder", "crc32fast", "crossbeam", "fail", "fs2", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "if_chain", "lazy_static", @@ -7616,7 +7616,7 @@ dependencies = [ "nix 0.26.4", "num-derive", "num-traits", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "prometheus", "prometheus-static-metric", "protobuf", @@ -7672,9 +7672,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.0.1" +version = "11.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" +checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" dependencies = [ "bitflags 2.5.0", ] @@ -7729,6 +7729,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "redox_users" version = "0.4.5" @@ -7757,7 +7766,7 @@ checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -7820,7 +7829,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f5f39ba4513916c1b2657b72af6ec671f091cd637992f58d0ede5cae4e5dea0" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", "memchr", ] @@ -7888,7 +7897,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.10", + "rustls 0.21.12", "rustls-native-certs", "rustls-pemfile 1.0.4", "serde", @@ -8077,7 +8086,7 @@ dependencies = [ "futures", "integer-encoding 4.0.0", "lz4", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "pin-project-lite", "rand", "snap", @@ -8145,7 +8154,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.60", + "syn 2.0.61", "walkdir", ] @@ -8267,28 +8276,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.17" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.38.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys", "windows-sys 0.52.0", ] @@ -8306,9 +8301,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", @@ -8325,7 +8320,7 @@ dependencies = [ "log", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.2", + "rustls-webpki 0.102.3", "subtle", "zeroize", ] @@ -8357,15 +8352,15 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54" [[package]] name = "rustls-webpki" @@ -8379,9 +8374,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -8570,7 +8565,7 @@ dependencies = [ "num_enum", "once_cell", "page_size", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "paste", "puruspe", "rand", @@ -8636,7 +8631,7 @@ dependencies = [ "num_enum", "once_cell", "optional", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "paste", "rand", "result-like", @@ -8673,9 +8668,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" [[package]] name = "rustyline" @@ -8725,9 +8720,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe-lock" @@ -8826,9 +8821,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +checksum = "fc6e7ed6919cb46507fb01ff1654309219f62b4d603822501b0b80d42f6f21ef" dependencies = [ "dyn-clone", "indexmap 1.9.3", @@ -8839,14 +8834,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +checksum = "185f2b7aa7e02d418e453790dde16890256bbd2bcd04b7dc5348811052b53f49" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 1.0.109", + "syn 2.0.61", ] [[package]] @@ -8947,16 +8942,16 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -8965,9 +8960,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -8975,9 +8970,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "seq-macro" @@ -8987,33 +8982,33 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] name = "serde_derive_internals" -version = "0.26.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.61", ] [[package]] @@ -9046,7 +9041,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9067,7 +9062,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9084,11 +9079,11 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.7.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", @@ -9102,14 +9097,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.7.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ "darling 0.20.8", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9167,7 +9162,7 @@ dependencies = [ "datatypes", "derive_builder 0.12.0", "futures", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "headers", "hostname", "http", @@ -9185,7 +9180,7 @@ dependencies = [ "openmetrics-parser", "opensrv-mysql", "opentelemetry-proto 0.5.0", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "permutation", "pgwire", "pin-project", @@ -9306,9 +9301,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -9434,9 +9429,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -9603,7 +9598,7 @@ checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9613,7 +9608,7 @@ source = "git+https://github.com/GreptimeTeam/sqlparser-rs.git?rev=c919990bf62ad dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9819,7 +9814,7 @@ checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" dependencies = [ "new_debug_unreachable", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "phf_shared 0.10.0", "precomputed-hash", ] @@ -9900,7 +9895,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9913,7 +9908,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -9967,7 +9962,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "syn 2.0.60", + "syn 2.0.61", "typify 0.0.14", "walkdir", ] @@ -9988,7 +9983,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "syn 2.0.60", + "syn 2.0.61", "typify 0.0.16", "walkdir", ] @@ -10035,9 +10030,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" dependencies = [ "proc-macro2", "quote", @@ -10072,7 +10067,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -10083,9 +10078,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sysinfo" -version = "0.30.10" +version = "0.30.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d7c217777061d5a2d652aea771fb9ba98b6dade657204b08c4b9604d11555b" +checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", @@ -10176,7 +10171,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96374855068f47402c3121c6eed88d29cb1de8f3ab27090e273e420bdabcf050" dependencies = [ - "parking_lot 0.12.1", + "parking_lot 0.12.2", ] [[package]] @@ -10187,7 +10182,7 @@ checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if 1.0.0", "fastrand", - "rustix 0.38.32", + "rustix", "windows-sys 0.52.0", ] @@ -10352,22 +10347,22 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -10526,10 +10521,10 @@ dependencies = [ "libc", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.6", + "socket2 0.5.7", "tokio-macros", "tracing", "windows-sys 0.48.0", @@ -10553,7 +10548,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -10575,7 +10570,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767da47381602cc481653456823b3ebb600e83d5dd4e0293da9b5566c6c00f0" dependencies = [ "lazy_static", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "prometheus", "tokio", "tokio-metrics", @@ -10594,14 +10589,14 @@ dependencies = [ "futures-channel", "futures-util", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.2", "percent-encoding", "phf", "pin-project-lite", "postgres-protocol", "postgres-types", "rand", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tokio-util", "whoami", @@ -10639,7 +10634,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.12", "tokio", ] @@ -10681,9 +10676,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -10691,7 +10686,6 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -10712,7 +10706,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.9", + "toml_edit 0.22.12", ] [[package]] @@ -10748,15 +10742,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.9" +version = "0.22.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.6", + "winnow 0.6.8", ] [[package]] @@ -10840,7 +10834,7 @@ dependencies = [ "proc-macro2", "prost-build 0.12.4", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -10853,7 +10847,7 @@ dependencies = [ "proc-macro2", "prost-build 0.12.4", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -10896,7 +10890,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "async-compression 0.4.8", + "async-compression 0.4.9", "base64 0.21.7", "bitflags 2.5.0", "bytes", @@ -10964,7 +10958,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -11173,7 +11167,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "rand", "static_assertions", ] @@ -11205,7 +11199,7 @@ checksum = "ac73887f47b9312552aa90ef477927ff014d63d1920ca8037c6c1951eab64bb1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -11241,7 +11235,7 @@ dependencies = [ "regress 0.7.1", "schemars", "serde_json", - "syn 2.0.60", + "syn 2.0.61", "thiserror", "unicode-ident", ] @@ -11259,7 +11253,7 @@ dependencies = [ "regress 0.8.0", "schemars", "serde_json", - "syn 2.0.60", + "syn 2.0.61", "thiserror", "unicode-ident", ] @@ -11276,7 +11270,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.60", + "syn 2.0.61", "typify-impl 0.0.14", ] @@ -11292,7 +11286,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.60", + "syn 2.0.61", "typify-impl 0.0.16", ] @@ -11477,9 +11471,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode-xid" @@ -11575,7 +11569,7 @@ checksum = "9881bea7cbe687e36c9ab3b778c36cd0487402e270304e8b1296d5085303c1a2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -11694,7 +11688,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "wasm-bindgen-shared", ] @@ -11728,7 +11722,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11823,7 +11817,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.32", + "rustix", ] [[package]] @@ -11839,9 +11833,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.16" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a1851a719f11d1d2fea40e15c72f6c00de8c142d7ac47c1441cc7e4d0d5bc6" +checksum = "0f0e39d2c603fdc0504b12b458cf1f34e0b937ed2f4f2dc20796e3e86f34e11f" dependencies = [ "bytemuck", "safe_arch", @@ -11871,11 +11865,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -12162,9 +12156,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" dependencies = [ "memchr", ] @@ -12242,22 +12236,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "087eca3c1eaf8c47b94d02790dd086cd594b912d2043d4de4bfdd466b3befb7c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "6f4b6c273f496d8fd4eaf18853e6b448760225dc030ff2c485a786859aea6393" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -12277,7 +12271,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 28c1c4973f..4bf9714229 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -116,7 +116,7 @@ etcd-client = { git = "https://github.com/MichaelScofield/etcd-client.git", rev fst = "0.4.7" futures = "0.3" futures-util = "0.3" -greptime-proto = { git = "https://github.com/GreptimeTeam/greptime-proto.git", rev = "f699e240f7a6c83f139dabac8669714f08513120" } +greptime-proto = { git = "https://github.com/GreptimeTeam/greptime-proto.git", rev = "a191edaea1089362a86ebc7d8e98ee9a1bd522d1" } humantime = "2.1" humantime-serde = "1.1" itertools = "0.10" diff --git a/src/cmd/src/cli/repl.rs b/src/cmd/src/cli/repl.rs index b13bb776f8..6759a923fc 100644 --- a/src/cmd/src/cli/repl.rs +++ b/src/cmd/src/cli/repl.rs @@ -161,7 +161,10 @@ impl Repl { let start = Instant::now(); let output = if let Some(query_engine) = &self.query_engine { - let query_ctx = QueryContext::with(self.database.catalog(), self.database.schema()); + let query_ctx = Arc::new(QueryContext::with( + self.database.catalog(), + self.database.schema(), + )); let stmt = QueryLanguageParser::parse_sql(&sql, &query_ctx) .with_context(|_| ParseSqlSnafu { sql: sql.clone() })?; diff --git a/src/common/function/src/function.rs b/src/common/function/src/function.rs index 8da7f344bb..433f54b6ce 100644 --- a/src/common/function/src/function.rs +++ b/src/common/function/src/function.rs @@ -35,7 +35,7 @@ impl FunctionContext { #[cfg(any(test, feature = "testing"))] pub fn mock() -> Self { Self { - query_ctx: QueryContextBuilder::default().build(), + query_ctx: QueryContextBuilder::default().build().into(), state: Arc::new(FunctionState::mock()), } } @@ -44,7 +44,7 @@ impl FunctionContext { impl Default for FunctionContext { fn default() -> Self { Self { - query_ctx: QueryContextBuilder::default().build(), + query_ctx: QueryContextBuilder::default().build().into(), state: Arc::new(FunctionState::default()), } } diff --git a/src/common/function/src/scalars/udf.rs b/src/common/function/src/scalars/udf.rs index 0f34fbcfaa..593162e4ab 100644 --- a/src/common/function/src/scalars/udf.rs +++ b/src/common/function/src/scalars/udf.rs @@ -89,7 +89,7 @@ mod tests { #[test] fn test_create_udf() { let f = Arc::new(TestAndFunction); - let query_ctx = QueryContextBuilder::default().build(); + let query_ctx = QueryContextBuilder::default().build().into(); let args: Vec = vec![ Arc::new(ConstantVector::new( diff --git a/src/common/function/src/system/database.rs b/src/common/function/src/system/database.rs index 2efe8bb8e9..11dbb2da14 100644 --- a/src/common/function/src/system/database.rs +++ b/src/common/function/src/system/database.rs @@ -79,7 +79,8 @@ mod tests { let query_ctx = QueryContextBuilder::default() .current_schema("test_db".to_string()) - .build(); + .build() + .into(); let func_ctx = FunctionContext { query_ctx, diff --git a/src/common/function/src/system/timezone.rs b/src/common/function/src/system/timezone.rs index 4a85e39563..f9c824ab33 100644 --- a/src/common/function/src/system/timezone.rs +++ b/src/common/function/src/system/timezone.rs @@ -77,7 +77,7 @@ mod tests { } if valid_types == vec![] )); - let query_ctx = QueryContextBuilder::default().build(); + let query_ctx = QueryContextBuilder::default().build().into(); let func_ctx = FunctionContext { query_ctx, diff --git a/src/datanode/src/region_server.rs b/src/datanode/src/region_server.rs index 23d21200af..440f0a3d03 100644 --- a/src/datanode/src/region_server.rs +++ b/src/datanode/src/region_server.rs @@ -613,7 +613,7 @@ impl RegionServerInner { let ctx: QueryContextRef = header .as_ref() .map(|h| Arc::new(h.into())) - .unwrap_or_else(|| QueryContextBuilder::default().build()); + .unwrap_or_else(|| QueryContextBuilder::default().build().into()); // build dummy catalog list let region_status = self diff --git a/src/operator/src/expr_factory.rs b/src/operator/src/expr_factory.rs index 17782c3add..91c374889e 100644 --- a/src/operator/src/expr_factory.rs +++ b/src/operator/src/expr_factory.rs @@ -658,7 +658,8 @@ mod tests { // query context with timezone `+08:00` let ctx = QueryContextBuilder::default() .timezone(Timezone::from_tz_string("+08:00").unwrap().into()) - .build(); + .build() + .into(); let expr = create_to_expr(&create_table, ctx).unwrap(); let ts_column = &expr.column_defs[1]; let constraint = assert_ts_column(ts_column); @@ -712,7 +713,8 @@ mod tests { // query context with timezone `+08:00` let ctx = QueryContextBuilder::default() .timezone(Timezone::from_tz_string("+08:00").unwrap().into()) - .build(); + .build() + .into(); let expr = to_alter_expr(alter_table, ctx).unwrap(); let kind = expr.kind.unwrap(); diff --git a/src/operator/src/statement.rs b/src/operator/src/statement.rs index a7a1cd5292..ad1e3de802 100644 --- a/src/operator/src/statement.rs +++ b/src/operator/src/statement.rs @@ -422,7 +422,8 @@ mod tests { fn check_timestamp_range((start, end): (&str, &str)) -> error::Result> { let query_ctx = QueryContextBuilder::default() .timezone(Arc::new(Timezone::from_tz_string("Asia/Shanghai").unwrap())) - .build(); + .build() + .into(); let map = OptionMap::from( [ (COPY_DATABASE_TIME_START_KEY.to_string(), start.to_string()), diff --git a/src/operator/src/statement/ddl.rs b/src/operator/src/statement/ddl.rs index cf908611f5..767b443eb4 100644 --- a/src/operator/src/statement/ddl.rs +++ b/src/operator/src/statement/ddl.rs @@ -1089,7 +1089,7 @@ ENGINE=mito", r#"[{"column_list":["b","a"],"value_list":["{\"Value\":{\"String\":\"hz\"}}","{\"Value\":{\"Int32\":10}}"]},{"column_list":["b","a"],"value_list":["{\"Value\":{\"String\":\"sh\"}}","{\"Value\":{\"Int32\":20}}"]},{"column_list":["b","a"],"value_list":["\"MaxValue\"","\"MaxValue\""]}]"#, ), ]; - let ctx = QueryContextBuilder::default().build(); + let ctx = QueryContextBuilder::default().build().into(); for (sql, expected) in cases { let result = ParserContext::create_with_dialect( sql, diff --git a/src/query/src/dist_plan/merge_scan.rs b/src/query/src/dist_plan/merge_scan.rs index 1f294a836b..fbc88da3b4 100644 --- a/src/query/src/dist_plan/merge_scan.rs +++ b/src/query/src/dist_plan/merge_scan.rs @@ -41,7 +41,7 @@ use datafusion_expr::{Extension, LogicalPlan, UserDefinedLogicalNodeCore}; use datafusion_physical_expr::EquivalenceProperties; use datatypes::schema::{Schema, SchemaRef}; use futures_util::StreamExt; -use greptime_proto::v1::region::{QueryRequest, RegionRequestHeader}; +use greptime_proto::v1::region::{QueryContext, QueryRequest, RegionRequestHeader}; use meter_core::data::ReadItem; use meter_macros::read_meter; use session::context::QueryContextRef; @@ -179,7 +179,10 @@ impl MergeScanExec { let dbname = context.task_id().unwrap_or_default(); let tracing_context = TracingContext::from_json(context.session_id().as_str()); - let tz = self.query_ctx.timezone().to_string(); + let current_catalog = self.query_ctx.current_catalog().to_string(); + let current_schema = self.query_ctx.current_schema().to_string(); + let timezone = self.query_ctx.timezone().to_string(); + let extensions = self.query_ctx.extensions(); let stream = Box::pin(stream!({ MERGE_SCAN_REGIONS.observe(regions.len() as f64); @@ -192,7 +195,12 @@ impl MergeScanExec { header: Some(RegionRequestHeader { tracing_context: tracing_context.to_w3c(), dbname: dbname.clone(), - timezone: tz.clone(), + query_context: Some(QueryContext { + current_catalog: current_catalog.clone(), + current_schema: current_schema.clone(), + timezone: timezone.clone(), + extensions: extensions.clone(), + }), }), region_id: region_id.into(), plan: substrait_plan.clone(), diff --git a/src/query/src/query_engine/options.rs b/src/query/src/query_engine/options.rs index 867e8c15fe..f9e36c8354 100644 --- a/src/query/src/query_engine/options.rs +++ b/src/query/src/query_engine/options.rs @@ -42,13 +42,15 @@ pub fn validate_catalog_and_schema( #[cfg(test)] mod tests { + use std::sync::Arc; + use session::context::QueryContext; use super::*; #[test] fn test_validate_catalog_and_schema() { - let context = QueryContext::with("greptime", "public"); + let context = Arc::new(QueryContext::with("greptime", "public")); validate_catalog_and_schema("greptime", "public", &context).unwrap(); let re = validate_catalog_and_schema("greptime", "private_schema", &context); diff --git a/src/query/src/sql.rs b/src/query/src/sql.rs index 5aee6cc4ae..2fe7aa9e55 100644 --- a/src/query/src/sql.rs +++ b/src/query/src/sql.rs @@ -944,9 +944,11 @@ mod test { let stmt = ShowVariables { variable: ObjectName(vec![Ident::new(variable)]), }; - let ctx = QueryContextBuilder::default() - .timezone(Arc::new(Timezone::from_tz_string(tz).unwrap())) - .build(); + let ctx = Arc::new( + QueryContextBuilder::default() + .timezone(Arc::new(Timezone::from_tz_string(tz).unwrap())) + .build(), + ); match show_variable(stmt, ctx) { Ok(Output { data: OutputData::RecordBatches(record), diff --git a/src/script/src/python/ffi_types/copr.rs b/src/script/src/python/ffi_types/copr.rs index 704b0db77d..b81fc9d576 100644 --- a/src/script/src/python/ffi_types/copr.rs +++ b/src/script/src/python/ffi_types/copr.rs @@ -411,7 +411,7 @@ impl PyQueryEngine { let rt = tokio::runtime::Runtime::new().map_err(|e| e.to_string())?; let handle = rt.handle().clone(); let res = handle.block_on(async { - let ctx = QueryContextBuilder::default().build(); + let ctx = Arc::new(QueryContextBuilder::default().build()); let plan = engine .planner() .plan(stmt, ctx.clone()) diff --git a/src/script/src/table.rs b/src/script/src/table.rs index d9becf5521..8f998d64eb 100644 --- a/src/script/src/table.rs +++ b/src/script/src/table.rs @@ -339,6 +339,7 @@ fn query_ctx(table_info: &TableInfo) -> QueryContextRef { .current_catalog(table_info.catalog_name.to_string()) .current_schema(table_info.schema_name.to_string()) .build() + .into() } /// Builds scripts schema, returns (time index, primary keys, column defs) diff --git a/src/servers/src/export_metrics.rs b/src/servers/src/export_metrics.rs index 3ec089db41..8932adf59d 100644 --- a/src/servers/src/export_metrics.rs +++ b/src/servers/src/export_metrics.rs @@ -13,6 +13,7 @@ // limitations under the License. use std::collections::HashMap; +use std::sync::Arc; use std::time::Duration; use axum::http::HeaderValue; @@ -247,7 +248,7 @@ pub async fn write_system_metric_by_handler( ); // Pass the first tick. Because the first tick completes immediately. interval.tick().await; - let ctx = QueryContextBuilder::default().current_schema(db).build(); + let ctx = Arc::new(QueryContextBuilder::default().current_schema(db).build()); loop { interval.tick().await; let metric_families = prometheus::gather(); diff --git a/src/servers/src/grpc/authorize.rs b/src/servers/src/grpc/authorize.rs index 4b0c986912..d0ec22daad 100644 --- a/src/servers/src/grpc/authorize.rs +++ b/src/servers/src/grpc/authorize.rs @@ -14,6 +14,7 @@ use std::pin::Pin; use std::result::Result as StdResult; +use std::sync::Arc; use std::task::{Context, Poll}; use auth::UserProviderRef; @@ -104,7 +105,7 @@ async fn do_auth( ) -> Result<(), tonic::Status> { let (catalog, schema) = extract_catalog_and_schema(req); - let query_ctx = QueryContext::with(&catalog, &schema); + let query_ctx = Arc::new(QueryContext::with(&catalog, &schema)); let Some(user_provider) = user_provider else { query_ctx.set_current_user(Some(auth::userinfo_by_name(None))); diff --git a/src/servers/src/grpc/greptime_handler.rs b/src/servers/src/grpc/greptime_handler.rs index 9ee670795a..081e180ebf 100644 --- a/src/servers/src/grpc/greptime_handler.rs +++ b/src/servers/src/grpc/greptime_handler.rs @@ -190,6 +190,7 @@ pub(crate) fn create_query_context(header: Option<&RequestHeader>) -> QueryConte .current_schema(schema) .timezone(Arc::new(timezone)) .build() + .into() } /// Histogram timer for handling gRPC request. diff --git a/src/servers/src/http/authorize.rs b/src/servers/src/http/authorize.rs index bef5224aba..971fdce57e 100644 --- a/src/servers/src/http/authorize.rs +++ b/src/servers/src/http/authorize.rs @@ -68,7 +68,7 @@ pub async fn inner_auth( .current_schema(schema.clone()) .timezone(timezone); - let query_ctx = query_ctx_builder.build(); + let query_ctx = Arc::new(query_ctx_builder.build()); let need_auth = need_auth(&req); // 2. check if auth is needed diff --git a/src/servers/src/http/prometheus.rs b/src/servers/src/http/prometheus.rs index 4f453a1ea4..0aa3b8abd6 100644 --- a/src/servers/src/http/prometheus.rs +++ b/src/servers/src/http/prometheus.rs @@ -14,6 +14,7 @@ //! prom supply the prometheus HTTP API Server compliance use std::collections::{HashMap, HashSet}; +use std::sync::Arc; use axum::extract::{Path, Query, State}; use axum::{Extension, Form}; @@ -572,10 +573,12 @@ pub(crate) fn try_update_catalog_schema( schema: &str, ) -> QueryContextRef { if ctx.current_catalog() != catalog || ctx.current_schema() != schema { - QueryContextBuilder::from_existing(&ctx) - .current_catalog(catalog.to_string()) - .current_schema(schema.to_string()) - .build() + Arc::new( + QueryContextBuilder::from_existing(&ctx) + .current_catalog(catalog.to_string()) + .current_schema(schema.to_string()) + .build(), + ) } else { ctx } diff --git a/src/servers/src/http/script.rs b/src/servers/src/http/script.rs index 312d2766a7..cb8ca7fc2b 100644 --- a/src/servers/src/http/script.rs +++ b/src/servers/src/http/script.rs @@ -13,6 +13,7 @@ // limitations under the License. use std::collections::HashMap; +use std::sync::Arc; use std::time::Instant; use axum::extract::{Query, RawBody, State}; @@ -76,7 +77,7 @@ pub async fn scripts( unwrap_or_json_err!(String::from_utf8(bytes.to_vec()).context(InvalidUtf8ValueSnafu)); // Safety: schema and name are already checked above. - let query_ctx = QueryContext::with(&catalog, schema.unwrap()); + let query_ctx = Arc::new(QueryContext::with(&catalog, schema.unwrap())); match script_handler .insert_script(query_ctx, name.unwrap(), &script) .await @@ -128,7 +129,7 @@ pub async fn run_script( } // Safety: schema and name are already checked above. - let query_ctx = QueryContext::with(&catalog, schema.unwrap()); + let query_ctx = Arc::new(QueryContext::with(&catalog, schema.unwrap())); let output = script_handler .execute_script(query_ctx, name.unwrap(), params.params) .await; diff --git a/src/servers/src/postgres/types.rs b/src/servers/src/postgres/types.rs index 186c290e15..e0d018f05b 100644 --- a/src/servers/src/postgres/types.rs +++ b/src/servers/src/postgres/types.rs @@ -807,7 +807,8 @@ mod test { ]; let query_context = QueryContextBuilder::default() .configuration_parameter(Default::default()) - .build(); + .build() + .into(); let mut builder = DataRowEncoder::new(Arc::new(schema)); for i in values.iter() { encode_value(&query_context, i, &mut builder).unwrap(); diff --git a/src/servers/tests/py_script/mod.rs b/src/servers/tests/py_script/mod.rs index 03232329b8..e5682220e5 100644 --- a/src/servers/tests/py_script/mod.rs +++ b/src/servers/tests/py_script/mod.rs @@ -56,10 +56,12 @@ def hello() -> vector[str]: let table = MemTable::table("scripts", recordbatch); - let query_ctx = QueryContextBuilder::default() - .current_catalog(catalog.to_string()) - .current_schema(schema.to_string()) - .build(); + let query_ctx = Arc::new( + QueryContextBuilder::default() + .current_catalog(catalog.to_string()) + .current_schema(schema.to_string()) + .build(), + ); let instance = create_testing_instance(table); instance diff --git a/src/session/src/context.rs b/src/session/src/context.rs index 948b6144a6..37f7e39c5f 100644 --- a/src/session/src/context.rs +++ b/src/session/src/context.rs @@ -44,7 +44,7 @@ pub struct QueryContext { timezone: ArcSwap, sql_dialect: Arc, #[builder(default)] - extension: HashMap, + extensions: HashMap, // The configuration parameter are used to store the parameters that are set by the user #[builder(default)] configuration_parameter: Arc, @@ -76,7 +76,7 @@ impl Clone for QueryContext { current_user: self.current_user.load().clone().into(), timezone: self.timezone.load().clone().into(), sql_dialect: self.sql_dialect.clone(), - extension: self.extension.clone(), + extensions: self.extensions.clone(), configuration_parameter: self.configuration_parameter.clone(), } } @@ -84,32 +84,31 @@ impl Clone for QueryContext { impl From<&RegionRequestHeader> for QueryContext { fn from(value: &RegionRequestHeader) -> Self { - let (catalog, schema) = parse_catalog_and_schema_from_db_string(&value.dbname); - QueryContext { - current_catalog: catalog.to_string(), - current_schema: schema.to_string(), - current_user: Default::default(), - timezone: ArcSwap::new(Arc::new(parse_timezone(Some(&value.timezone)))), - sql_dialect: Arc::new(GreptimeDbDialect {}), - extension: Default::default(), - configuration_parameter: Default::default(), + let mut builder = QueryContextBuilder::default(); + if let Some(ctx) = &value.query_context { + builder = builder + .current_catalog(ctx.current_catalog.clone()) + .current_schema(ctx.current_schema.clone()) + .timezone(Arc::new(parse_timezone(Some(&ctx.timezone)))) + .extensions(ctx.extensions.clone()); } + builder.build() } } impl QueryContext { pub fn arc() -> QueryContextRef { - QueryContextBuilder::default().build() + Arc::new(QueryContextBuilder::default().build()) } - pub fn with(catalog: &str, schema: &str) -> QueryContextRef { + pub fn with(catalog: &str, schema: &str) -> QueryContext { QueryContextBuilder::default() .current_catalog(catalog.to_string()) .current_schema(schema.to_string()) .build() } - pub fn with_db_name(db_name: Option<&str>) -> QueryContextRef { + pub fn with_db_name(db_name: Option<&str>) -> QueryContext { let (catalog, schema) = db_name .map(|db| { let (catalog, schema) = parse_catalog_and_schema_from_db_string(db); @@ -162,11 +161,15 @@ impl QueryContext { } pub fn set_extension, S2: Into>(&mut self, key: S1, value: S2) { - self.extension.insert(key.into(), value.into()); + self.extensions.insert(key.into(), value.into()); } pub fn extension>(&self, key: S) -> Option<&str> { - self.extension.get(key.as_ref()).map(|v| v.as_str()) + self.extensions.get(key.as_ref()).map(|v| v.as_str()) + } + + pub fn extensions(&self) -> HashMap { + self.extensions.clone() } /// SQL like `set variable` may change timezone or other info in `QueryContext`. @@ -195,8 +198,8 @@ impl QueryContext { } impl QueryContextBuilder { - pub fn build(self) -> QueryContextRef { - Arc::new(QueryContext { + pub fn build(self) -> QueryContext { + QueryContext { current_catalog: self .current_catalog .unwrap_or_else(|| DEFAULT_CATALOG_NAME.to_string()), @@ -212,13 +215,13 @@ impl QueryContextBuilder { sql_dialect: self .sql_dialect .unwrap_or_else(|| Arc::new(GreptimeDbDialect {})), - extension: self.extension.unwrap_or_default(), + extensions: self.extensions.unwrap_or_default(), configuration_parameter: self.configuration_parameter.unwrap_or_default(), - }) + } } pub fn set_extension(mut self, key: String, value: String) -> Self { - self.extension + self.extensions .get_or_insert_with(HashMap::new) .insert(key, value); self @@ -231,7 +234,7 @@ impl QueryContextBuilder { current_user: Some(context.current_user.load().clone().into()), timezone: Some(context.timezone.load().clone().into()), sql_dialect: Some(context.sql_dialect.clone()), - extension: Some(context.extension.clone()), + extensions: Some(context.extensions.clone()), configuration_parameter: Some(context.configuration_parameter.clone()), } } diff --git a/src/session/src/lib.rs b/src/session/src/lib.rs index e89a733553..627d01b605 100644 --- a/src/session/src/lib.rs +++ b/src/session/src/lib.rs @@ -70,6 +70,7 @@ impl Session { .configuration_parameter(self.configuration_variables.clone()) .timezone(self.timezone()) .build() + .into() } #[inline] diff --git a/tests-integration/src/otlp.rs b/tests-integration/src/otlp.rs index 6372132393..b90b07b273 100644 --- a/tests-integration/src/otlp.rs +++ b/tests-integration/src/otlp.rs @@ -52,7 +52,7 @@ mod test { async fn test_otlp(instance: &Arc) { let req = build_request(); let db = "otlp"; - let ctx = QueryContext::with(DEFAULT_CATALOG_NAME, db); + let ctx = Arc::new(QueryContext::with(DEFAULT_CATALOG_NAME, db)); assert!(SqlQueryHandler::do_query( instance.as_ref(), diff --git a/tests-integration/src/prom_store.rs b/tests-integration/src/prom_store.rs index dd6d1b9b10..0850c258f5 100644 --- a/tests-integration/src/prom_store.rs +++ b/tests-integration/src/prom_store.rs @@ -90,7 +90,7 @@ mod tests { }; let db = "prometheus"; - let mut ctx = Arc::into_inner(QueryContext::with(DEFAULT_CATALOG_NAME, db)).unwrap(); + let mut ctx = Arc::into_inner(QueryContext::with(DEFAULT_CATALOG_NAME, db).into()).unwrap(); // set physical table if provided if let Some(physical_table) = &physical_table { diff --git a/tests-integration/src/tests/instance_kafka_wal_test.rs b/tests-integration/src/tests/instance_kafka_wal_test.rs index 031fc16bc3..b4c1d3ff15 100644 --- a/tests-integration/src/tests/instance_kafka_wal_test.rs +++ b/tests-integration/src/tests/instance_kafka_wal_test.rs @@ -43,7 +43,7 @@ async fn test_create_database_and_insert_query( let output = execute_sql_with( &instance, "create database test", - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await; assert_matches!(output.data, OutputData::AffectedRows(1)); @@ -57,7 +57,7 @@ async fn test_create_database_and_insert_query( ts timestamp, TIME INDEX(ts) )"#, - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await; assert!(matches!(output.data, OutputData::AffectedRows(0))); @@ -68,7 +68,7 @@ async fn test_create_database_and_insert_query( ('host1', 66.6, 1024, 1655276557000), ('host2', 88.8, 333.3, 1655276558000) "#, - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await; assert!(matches!(output.data, OutputData::AffectedRows(2))); @@ -76,7 +76,7 @@ async fn test_create_database_and_insert_query( let query_output = execute_sql_with( &instance, "select ts from test.demo order by ts limit 1", - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await; match query_output.data { @@ -112,7 +112,7 @@ async fn test_replay(rebuildable_instance: Option, table_name: &str) -> Output { )"#, table_name ), - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await } @@ -266,7 +266,7 @@ async fn do_alter(instance: &Arc, table_name: &str) -> Output { execute_sql_with( instance, &format!("alter table {} add column new_col STRING", table_name), - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await } @@ -276,7 +276,7 @@ async fn do_insert(instance: &Arc, table_name: &str, row: String) -> O execute_sql_with( instance, &format!("insert into test.{table_name}(host, cpu, memory, ts) values {row}"), - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await } @@ -286,7 +286,7 @@ async fn do_query(instance: &Arc, table_name: &str) -> Output { execute_sql_with( instance, &format!("select ts from test.{table_name} order by ts"), - QueryContext::with(DEFAULT_CATALOG_NAME, "test"), + QueryContext::with(DEFAULT_CATALOG_NAME, "test").into(), ) .await } diff --git a/tests-integration/src/tests/instance_test.rs b/tests-integration/src/tests/instance_test.rs index b5ba0f658b..44d2dc5fb3 100644 --- a/tests-integration/src/tests/instance_test.rs +++ b/tests-integration/src/tests/instance_test.rs @@ -1204,7 +1204,7 @@ async fn test_rename_table(instance: Arc) { let output = execute_sql(&instance, "create database db").await.data; assert!(matches!(output, OutputData::AffectedRows(1))); - let query_ctx = QueryContext::with(DEFAULT_CATALOG_NAME, "db"); + let query_ctx = Arc::new(QueryContext::with(DEFAULT_CATALOG_NAME, "db")); let output = execute_sql_with( &instance, "create table demo(host string, cpu double, memory double, ts timestamp, time index(ts))", @@ -1277,7 +1277,7 @@ async fn test_create_table_after_rename_table(instance: Arc) { // create test table let table_name = "demo"; - let query_ctx = QueryContext::with(DEFAULT_CATALOG_NAME, "db"); + let query_ctx = Arc::new(QueryContext::with(DEFAULT_CATALOG_NAME, "db")); let output = execute_sql_with( &instance, &format!("create table {table_name}(host string, cpu double, memory double, ts timestamp, time index(ts))"), @@ -1481,7 +1481,7 @@ async fn test_use_database(instance: Arc) { let output = execute_sql(&instance, "create database db1").await.data; assert!(matches!(output, OutputData::AffectedRows(1))); - let query_ctx = QueryContext::with(DEFAULT_CATALOG_NAME, "db1"); + let query_ctx = Arc::new(QueryContext::with(DEFAULT_CATALOG_NAME, "db1")); let output = execute_sql_with( &instance, "create table tb1(col_i32 int, ts timestamp, TIME INDEX(ts))", @@ -1845,7 +1845,7 @@ async fn test_information_schema_dot_tables(instance: Arc) { let instance = instance.frontend(); let sql = "create table another_table(i timestamp time index)"; - let query_ctx = QueryContext::with("another_catalog", "another_schema"); + let query_ctx = Arc::new(QueryContext::with("another_catalog", "another_schema")); let output = execute_sql_with(&instance, sql, query_ctx.clone()) .await .data; @@ -1885,7 +1885,7 @@ async fn test_information_schema_dot_columns(instance: Arc) { let instance = instance.frontend(); let sql = "create table another_table(i timestamp time index)"; - let query_ctx = QueryContext::with("another_catalog", "another_schema"); + let query_ctx = Arc::new(QueryContext::with("another_catalog", "another_schema")); let output = execute_sql_with(&instance, sql, query_ctx.clone()) .await .data; diff --git a/tests-integration/src/tests/promql_test.rs b/tests-integration/src/tests/promql_test.rs index 8f5c440fa7..3764e63ddf 100644 --- a/tests-integration/src/tests/promql_test.rs +++ b/tests-integration/src/tests/promql_test.rs @@ -553,7 +553,7 @@ async fn cross_schema_query(instance: Arc) { ins.do_query( AGGREGATORS_CREATE_TABLE, - QueryContext::with_db_name(Some("greptime_private")), + QueryContext::with_db_name(Some("greptime_private")).into(), ) .await .into_iter() @@ -562,7 +562,7 @@ async fn cross_schema_query(instance: Arc) { }); ins.do_query( AGGREGATORS_INSERT_DATA, - QueryContext::with_db_name(Some("greptime_private")), + QueryContext::with_db_name(Some("greptime_private")).into(), ) .await .into_iter() @@ -617,7 +617,7 @@ async fn cross_schema_query(instance: Arc) { let query_output = promql_query( ins.clone(), r#"http_requests"#, - QueryContext::with_db_name(Some("greptime_private")), + QueryContext::with_db_name(Some("greptime_private")).into(), start, end, interval,