Skip to content

Commit 22a2061

Browse files
authored
fix: List of FixedSizeList coercion issue in SQL (#14468)
* fix: `List` of `FixedSizeList` coercion issue in SQL * test: update sqllogictest result
1 parent 168fe49 commit 22a2061

File tree

2 files changed

+3
-7
lines changed

2 files changed

+3
-7
lines changed

datafusion/functions-nested/src/make_array.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,7 @@ impl ScalarUDFImpl for MakeArray {
136136
}
137137

138138
if let Some(new_type) = type_union_resolution(arg_types) {
139-
// TODO: Move FixedSizeList to List in type_union_resolution
140-
if let DataType::FixedSizeList(field, _) = new_type {
141-
Ok(vec![List(field); arg_types.len()])
142-
} else if new_type.is_null() {
139+
if new_type.is_null() {
143140
Ok(vec![DataType::Int64; arg_types.len()])
144141
} else {
145142
Ok(vec![new_type; arg_types.len()])

datafusion/sqllogictest/test_files/array.slt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6862,9 +6862,8 @@ select make_array(f0) from fixed_size_list_array
68626862
query T
68636863
select arrow_typeof(make_array(f0)) from fixed_size_list_array
68646864
----
6865-
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: {} })
6866-
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: {} })
6867-
6865+
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: {} })
6866+
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: {} })
68686867

68696868
query ?
68706869
select array_concat(column1, [7]) from arrays_values_v2;

0 commit comments

Comments
 (0)