Skip to content

Commit

Permalink
fix: List of FixedSizeList coercion issue in SQL (#14468)
Browse files Browse the repository at this point in the history
* fix: `List` of `FixedSizeList` coercion issue in SQL

* test: update sqllogictest result
  • Loading branch information
alan910127 authored Feb 5, 2025
1 parent 168fe49 commit 22a2061
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 7 deletions.
5 changes: 1 addition & 4 deletions datafusion/functions-nested/src/make_array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,7 @@ impl ScalarUDFImpl for MakeArray {
}

if let Some(new_type) = type_union_resolution(arg_types) {
// TODO: Move FixedSizeList to List in type_union_resolution
if let DataType::FixedSizeList(field, _) = new_type {
Ok(vec![List(field); arg_types.len()])
} else if new_type.is_null() {
if new_type.is_null() {
Ok(vec![DataType::Int64; arg_types.len()])
} else {
Ok(vec![new_type; arg_types.len()])
Expand Down
5 changes: 2 additions & 3 deletions datafusion/sqllogictest/test_files/array.slt
Original file line number Diff line number Diff line change
Expand Up @@ -6862,9 +6862,8 @@ select make_array(f0) from fixed_size_list_array
query T
select arrow_typeof(make_array(f0)) from fixed_size_list_array
----
List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })

List(Field { name: "item", data_type: FixedSizeList(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, 2), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
List(Field { name: "item", data_type: FixedSizeList(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, 2), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })

query ?
select array_concat(column1, [7]) from arrays_values_v2;
Expand Down

0 comments on commit 22a2061

Please sign in to comment.