alamb opened a new issue, #13819:
URL: https://github.com/apache/datafusion/issues/13819

   ### Describe the bug
   
   I expect that when I make a List / Array the element types remain the same
   
   For example, a list of `Int32` makes List(Int32)
   
   ```sql
   > select arrow_typeof([1, 2, 3]);
   
+------------------------------------------------------------------------------------------------------------------+
   | arrow_typeof(make_array(Int64(1),Int64(2),Int64(3)))                       
                                      |
   
+------------------------------------------------------------------------------------------------------------------+
   | List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, 
dict_is_ordered: false, metadata: {} }) |
   
+------------------------------------------------------------------------------------------------------------------+
   1 row(s) fetched.
   Elapsed 0.001 seconds.
   ```
   
   However, creating a List of `FixedSizedList` creates a `List(List))` rather 
than a `List(FixedSizedList)`
   
   ```sql
   > select arrow_typeof([arrow_cast([1,2,3], 'FixedSizeList(3, Int64)')]);
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | 
arrow_typeof(make_array(arrow_cast(make_array(Int64(1),Int64(2),Int64(3)),Utf8("FixedSizeList(3,
 Int64)"))))                                                                    
                                            |
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | 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: {} }) |
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   1 row(s) fetched.
   Elapsed 0.001 seconds.
   ```
   
   ### To Reproduce
   
   This creates a FixedSizeList
   ```sql
   arrow_cast([1,2,3], 'FixedSizeList(3, Int64)')
   ```
   You can see that here:
   ```sql
   
   > select arrow_typeof(arrow_cast([1,2,3], 'FixedSizeList(3, Int64)'));
   
+------------------------------------------------------------------------------------------------------------------------------+
   | 
arrow_typeof(arrow_cast(make_array(Int64(1),Int64(2),Int64(3)),Utf8("FixedSizeList(3,
 Int64)")))                             |
   
+------------------------------------------------------------------------------------------------------------------------------+
   | FixedSizeList(Field { name: "item", data_type: Int64, nullable: true, 
dict_id: 0, dict_is_ordered: false, metadata: {} }, 3) |
   
+------------------------------------------------------------------------------------------------------------------------------+
   1 row(s) fetched.
   Elapsed 0.001 seconds.
   ```
   
   I expect that by wrapping it with `[]` it becomes a List of FixedSizedList, 
but it does not:
   
   ```sql
   > select arrow_typeof([arrow_cast([1,2,3], 'FixedSizeList(3, Int64)')]);
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | 
arrow_typeof(make_array(arrow_cast(make_array(Int64(1),Int64(2),Int64(3)),Utf8("FixedSizeList(3,
 Int64)"))))                                                                    
                                            |
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | 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: {} }) |
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   1 row(s) fetched.
   Elapsed 0.001 seconds.
   ```
   
   ### Expected behavior
   
   I expect the output of this to be
   ```sql
   > select arrow_typeof([arrow_cast([1,2,3], 'FixedSizeList(3, Int64)')]);
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | 
arrow_typeof(make_array(arrow_cast(make_array(Int64(1),Int64(2),Int64(3)),Utf8("FixedSizeList(3,
 Int64)"))))                                                                    
                                            |
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | List(Field { name: "item", data_type: FixedSizeList(Field { name: "item", 
data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: 
{} }, 3), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) |
   
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   1 row(s) fetched.
   Elapsed 0.001 seconds.
   ```
   
   ### Additional context
   
   Follow on from discussion in 
   - https://github.com/apache/datafusion/pull/13756


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to