From 1f3a3ee9f2a6f226e345e1319eb1024c4b3a9ebb Mon Sep 17 00:00:00 2001 From: Parth Chandra Date: Thu, 12 Dec 2024 18:35:23 -0800 Subject: [PATCH] Merge pull request #1 from andygrove/fix-tests-spark-cast-options --- native/spark-expr/src/cast.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/native/spark-expr/src/cast.rs b/native/spark-expr/src/cast.rs index 17ab73b72..a6d139716 100644 --- a/native/spark-expr/src/cast.rs +++ b/native/spark-expr/src/cast.rs @@ -571,7 +571,7 @@ impl SparkCastOptions { eval_mode, timezone: timezone.to_string(), allow_incompat, - is_adapting_schema: false, + is_adapting_schema: false } } @@ -583,6 +583,7 @@ impl SparkCastOptions { is_adapting_schema: false, } } + } /// Spark-compatible cast implementation. Defers to DataFusion's cast where that is known @@ -2087,7 +2088,7 @@ mod tests { let timezone = "UTC".to_string(); // test casting string dictionary array to timestamp array - let cast_options = SparkCastOptions::new(EvalMode::Legacy, timezone.clone(), false); + let cast_options = SparkCastOptions::new(EvalMode::Legacy, &timezone, false); let result = cast_array( dict_array, &DataType::Timestamp(TimeUnit::Microsecond, Some(timezone.clone().into())), @@ -2296,7 +2297,7 @@ mod tests { fn test_cast_unsupported_timestamp_to_date() { // Since datafusion uses chrono::Datetime internally not all dates representable by TimestampMicrosecondType are supported let timestamps: PrimitiveArray = vec![i64::MAX].into(); - let cast_options = SparkCastOptions::new(EvalMode::Legacy, "UTC".to_string(), false); + let cast_options = SparkCastOptions::new(EvalMode::Legacy, "UTC", false); let result = cast_array( Arc::new(timestamps.with_timezone("Europe/Copenhagen")), &DataType::Date32, @@ -2309,7 +2310,7 @@ mod tests { fn test_cast_invalid_timezone() { let timestamps: PrimitiveArray = vec![i64::MAX].into(); let cast_options = - SparkCastOptions::new(EvalMode::Legacy, "Not a valid timezone".to_string(), false); + SparkCastOptions::new(EvalMode::Legacy, "Not a valid timezone", false); let result = cast_array( Arc::new(timestamps.with_timezone("Europe/Copenhagen")), &DataType::Date32, @@ -2335,7 +2336,7 @@ mod tests { let string_array = cast_array( c, &DataType::Utf8, - &SparkCastOptions::new(EvalMode::Legacy, "UTC".to_owned(), false), + &SparkCastOptions::new(EvalMode::Legacy, "UTC", false), ) .unwrap(); let string_array = string_array.as_string::(); @@ -2400,10 +2401,9 @@ mod tests { let cast_array = spark_cast( ColumnarValue::Array(c), &DataType::Struct(fields), - EvalMode::Legacy, + &SparkCastOptions::new(EvalMode::Legacy, "UTC", - false, - false, + false) ) .unwrap(); if let ColumnarValue::Array(cast_array) = cast_array {