Describe the bug
When list is nested, containing a non-List list-like type, then this assertion doesn't hold true
let udf = array_element_udf();
let udf_type = udf.inner().return_type(&[list_type, index_type])?;
let simplified = Expr::ScalarFunction(expr::ScalarFunction {
func: udf,
args: args,
});
let expr_type = SimplifyInfo::get_data_type(&info, &simplified)?;
assert_eq!(udf_type, expr_type);
assertion `left == right` failed
left: List(Field { name: "element", data_type: Binary, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
right: FixedSizeList(Field { name: "element", data_type: Binary, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, 1)
To Reproduce
No response
Expected behavior
For a scalar function call, the SimplifyInfo::get_data_type and ExprSchemable::get_type should return the same type the scalar would return.
Additional context
No response