From d7962254fc835ee08adbadf35a1ee437f5c0329f Mon Sep 17 00:00:00 2001 From: jackwener Date: Wed, 1 Mar 2023 23:49:25 +0800 Subject: [PATCH 1/2] add a unit test that cover cast problem. --- datafusion/physical-expr/src/expressions/cast.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/datafusion/physical-expr/src/expressions/cast.rs b/datafusion/physical-expr/src/expressions/cast.rs index 4d01131353d8..48cab29c9e86 100644 --- a/datafusion/physical-expr/src/expressions/cast.rs +++ b/datafusion/physical-expr/src/expressions/cast.rs @@ -666,4 +666,20 @@ mod tests { } Ok(()) } + + #[test] + #[ignore] // TODO: fix this test. + fn test_cast_decimal() -> Result<()> { + let schema = Schema::new(vec![Field::new("a", DataType::Int64, false)]); + let a = Int64Array::from(vec![100]); + let batch = RecordBatch::try_new(Arc::new(schema.clone()), vec![Arc::new(a)])?; + let expression = cast_with_options( + col("a", &schema)?, + &schema, + DataType::Decimal128(38, 38), + DEFAULT_DATAFUSION_CAST_OPTIONS, + )?; + expression.evaluate(&batch)?; + Ok(()) + } } From 8617741116deb193b6b17be5180db2b13201f21c Mon Sep 17 00:00:00 2001 From: jakevin Date: Thu, 2 Mar 2023 10:54:37 +0800 Subject: [PATCH 2/2] Update datafusion/physical-expr/src/expressions/cast.rs Co-authored-by: Andrew Lamb --- datafusion/physical-expr/src/expressions/cast.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/physical-expr/src/expressions/cast.rs b/datafusion/physical-expr/src/expressions/cast.rs index 48cab29c9e86..98a68fd45df8 100644 --- a/datafusion/physical-expr/src/expressions/cast.rs +++ b/datafusion/physical-expr/src/expressions/cast.rs @@ -668,7 +668,7 @@ mod tests { } #[test] - #[ignore] // TODO: fix this test. + #[ignore] // TODO: https://github.com/apache/arrow-datafusion/issues/5396 fn test_cast_decimal() -> Result<()> { let schema = Schema::new(vec![Field::new("a", DataType::Int64, false)]); let a = Int64Array::from(vec![100]);