diff --git a/Cargo.lock b/Cargo.lock index 4a6356f8..432f1659 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -202,7 +202,7 @@ dependencies = [ "arrow-data", "arrow-schema", "chrono", - "chrono-tz 0.9.0", + "chrono-tz", "half", "hashbrown 0.14.3", "num", @@ -885,9 +885,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -898,17 +898,6 @@ dependencies = [ "windows-targets 0.52.3", ] -[[package]] -name = "chrono-tz" -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" @@ -916,19 +905,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" dependencies = [ "chrono", - "chrono-tz-build 0.3.0", - "phf", -] - -[[package]] -name = "chrono-tz-build" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" -dependencies = [ - "parse-zoneinfo", + "chrono-tz-build", "phf", - "phf_codegen", + "uncased", ] [[package]] @@ -940,6 +919,8 @@ dependencies = [ "parse-zoneinfo", "phf", "phf_codegen", + "regex", + "uncased", ] [[package]] @@ -3107,6 +3088,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ "siphasher", + "uncased", ] [[package]] @@ -4755,6 +4737,15 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "uncased" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" +dependencies = [ + "version_check", +] + [[package]] name = "unicase" version = "2.7.0" @@ -4909,7 +4900,7 @@ name = "vegafusion-datafusion-udfs" version = "1.6.9" dependencies = [ "chrono", - "chrono-tz 0.8.6", + "chrono-tz", "datafusion-functions", "datafusion-physical-expr", "lazy_static", @@ -4965,7 +4956,7 @@ dependencies = [ "base64 0.21.7", "bytes", "chrono", - "chrono-tz 0.8.6", + "chrono-tz", "criterion", "datafusion-common", "datafusion-expr", diff --git a/Cargo.toml b/Cargo.toml index 2e60f7be..20e90548 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,8 @@ members = [ [workspace.dependencies] arrow = { version = "52.0.0", default-features = false } sqlparser = { version = "0.47.0" } -chrono = { version = "0.4.31", default-features = false } +chrono = { version = "0.4.35", default-features = false } +chrono-tz = {version = "0.9.0", features=["case-insensitive", "filter-by-regex"] } reqwest = { version = "0.11.22", default-features = false } tokio = { version = "1.36.0" } pyo3 = { version = "0.21.1" } diff --git a/vegafusion-datafusion-udfs/Cargo.toml b/vegafusion-datafusion-udfs/Cargo.toml index db54cbd8..5867c8d8 100644 --- a/vegafusion-datafusion-udfs/Cargo.toml +++ b/vegafusion-datafusion-udfs/Cargo.toml @@ -8,12 +8,14 @@ description = "Custom DataFusion UDFs used by VegaFusion" [dependencies] ordered-float = "3.6.0" lazy_static = "^1.4.0" -chrono-tz = "0.8.1" regex = "^1.5.5" [dependencies.chrono] workspace = true +[dependencies.chrono-tz] +workspace = true + [dependencies.vegafusion-common] path = "../vegafusion-common" version = "1.6.9" diff --git a/vegafusion-runtime/Cargo.toml b/vegafusion-runtime/Cargo.toml index 07f3c3fc..874d9d97 100644 --- a/vegafusion-runtime/Cargo.toml +++ b/vegafusion-runtime/Cargo.toml @@ -17,7 +17,6 @@ protobuf-src = [ "vegafusion-core/protobuf-src",] regex = "^1.5.5" lazy_static = "^1.4.0" serde_json = "1.0.91" -chrono-tz = "0.8.1" num-traits = "0.2.15" itertools = "0.11.0" float-cmp = "0.9.0" @@ -53,6 +52,9 @@ features = [ "aws",] [dependencies.chrono] workspace = true +[dependencies.chrono-tz] +workspace = true + [dependencies.prost] workspace = true diff --git a/vegafusion-sql/src/dialect/transforms/date_add_tz.rs b/vegafusion-sql/src/dialect/transforms/date_add_tz.rs index 24aa868e..dc4b7ff9 100644 --- a/vegafusion-sql/src/dialect/transforms/date_add_tz.rs +++ b/vegafusion-sql/src/dialect/transforms/date_add_tz.rs @@ -69,9 +69,7 @@ fn maybe_from_utc(ts_expr: SqlExpr, time_zone: &SqlExpr) -> SqlExpr { args: FunctionArguments::List(FunctionArgumentList { args: vec![ SqlFunctionArg::Unnamed(SqlFunctionArgExpr::Expr(ts_expr)), - SqlFunctionArg::Unnamed(SqlFunctionArgExpr::Expr(SqlExpr::Value( - SqlValue::SingleQuotedString(time_zone.to_string()), - ))), + SqlFunctionArg::Unnamed(SqlFunctionArgExpr::Expr(time_zone.clone())), ], duplicate_treatment: None, clauses: vec![], @@ -97,9 +95,7 @@ fn maybe_to_utc(ts_expr: SqlExpr, time_zone: &SqlExpr) -> SqlExpr { args: FunctionArguments::List(FunctionArgumentList { args: vec![ SqlFunctionArg::Unnamed(SqlFunctionArgExpr::Expr(ts_expr)), - SqlFunctionArg::Unnamed(SqlFunctionArgExpr::Expr(SqlExpr::Value( - SqlValue::SingleQuotedString(time_zone.to_string()), - ))), + SqlFunctionArg::Unnamed(SqlFunctionArgExpr::Expr(time_zone.clone())), ], duplicate_treatment: None, clauses: vec![],