emkornfield commented on code in PR #43995:
URL: https://github.com/apache/arrow/pull/43995#discussion_r1820136327


##########
cpp/src/parquet/arrow/schema.cc:
##########
@@ -681,6 +681,10 @@ Status ListToSchemaField(const GroupNode& group, LevelInfo 
current_levels,
       // List of primitive type
       RETURN_NOT_OK(
           NodeToSchemaField(*list_group.field(0), current_levels, ctx, out, 
child_field));
+    } else if (list_group.field_count() == 1 && 
list_group.field(0)->is_repeated()) {

Review Comment:
   i'm not sure this is correct, or at least the comments above need to be 
updated to explain the logic further.
   
   Specifially from the exapmles on logical type.md:
   
   ```
   // List<OneTuple<String>> (nullable list, non-null elements)
   optional group my_list (LIST) {
     repeated group array {
       required binary str (STRING);
     };
   }
   ```
   
   This seems to imply that despite how the file was written with Avro bindings 
there should in fact be an intermediate struct and not a llist<list<>>, its not 
clear to me if this is a bug in the spec, or a bug in Avro java writer 
implementation.
   
   



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to