diff --git a/Cargo.lock b/Cargo.lock index dec3bbd50d631..28b3d552606a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -371,7 +371,7 @@ dependencies = [ "arrow-data 48.0.1", "arrow-schema 48.0.1", "chrono", - "chrono-tz", + "chrono-tz 0.8.6", "half 2.3.1", "hashbrown 0.14.3", "num", @@ -2249,21 +2249,43 @@ dependencies = [ [[package]] name = "chrono-tz" -version = "0.8.3" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" +dependencies = [ + "chrono", + "chrono-tz-build 0.2.1", + "phf", +] + +[[package]] +name = "chrono-tz" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1369bc6b9e9a7dfdae2055f6ec151fe9c554a9d23d357c0237cee2e25eaabb7" +checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" dependencies = [ "chrono", - "chrono-tz-build", + "chrono-tz-build 0.3.0", "phf", "uncased", ] [[package]] name = "chrono-tz-build" -version = "0.2.0" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + +[[package]] +name = "chrono-tz-build" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2f5ebdc942f57ed96d560a6d1a459bae5851102a25d5bf89dc04ae453e31ecf" +checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" dependencies = [ "parse-zoneinfo", "phf", @@ -10064,7 +10086,7 @@ dependencies = [ "byteorder", "bytes", "chrono", - "chrono-tz", + "chrono-tz 0.9.0", "clap", "comfy-table", "crc32fast", @@ -10618,7 +10640,7 @@ dependencies = [ "async-trait", "auto_enums", "chrono", - "chrono-tz", + "chrono-tz 0.9.0", "criterion", "expect-test", "fancy-regex", diff --git a/src/common/Cargo.toml b/src/common/Cargo.toml index d21e276089c2c..a7072f7c79c51 100644 --- a/src/common/Cargo.toml +++ b/src/common/Cargo.toml @@ -34,7 +34,7 @@ chrono = { version = "0.4", default-features = false, features = [ "clock", "std", ] } -chrono-tz = { version = "0.8", features = ["case-insensitive"] } +chrono-tz = { version = "0.9", features = ["case-insensitive"] } clap = { workspace = true } comfy-table = "7" crc32fast = "1" diff --git a/src/common/src/types/timestamptz.rs b/src/common/src/types/timestamptz.rs index 29369d36e9757..1da5f0abd718f 100644 --- a/src/common/src/types/timestamptz.rs +++ b/src/common/src/types/timestamptz.rs @@ -130,6 +130,7 @@ impl Timestamptz { pub fn lookup_time_zone(time_zone: &str) -> std::result::Result { Tz::from_str_insensitive(time_zone) + .map_err(|_| format!("'{time_zone}' is not a valid timezone")) } pub fn from_protobuf(timestamp_micros: i64) -> ArrayResult { diff --git a/src/expr/impl/Cargo.toml b/src/expr/impl/Cargo.toml index 082f33de2da4e..437fcad7cbac3 100644 --- a/src/expr/impl/Cargo.toml +++ b/src/expr/impl/Cargo.toml @@ -25,7 +25,7 @@ chrono = { version = "0.4", default-features = false, features = [ "clock", "std", ] } -chrono-tz = { version = "0.8", features = ["case-insensitive"] } +chrono-tz = { version = "0.9", features = ["case-insensitive"] } fancy-regex = "0.13" futures-async-stream = { workspace = true } futures-util = "0.3"