diff --git a/datafusion/physical-expr/src/expressions/cast.rs b/datafusion/physical-expr/src/expressions/cast.rs index 4d01131353d8..98a68fd45df8 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: 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]); + 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(()) + } }