edgarRd opened a new pull request #1140:
URL: https://github.com/apache/iceberg/pull/1140


   As mentioned in 
https://github.com/apache/iceberg/pull/989#discussion_r420996718 and referenced 
in #1055 ORC previously assigned an ID based on an `AtomicCounter` to assign 
Iceberg IDs if they were not found in ORC type attributes.
   
   This PR changes the implementation to use the ORC type visitor and skips 
types that do not have an Iceberg ID in the type attribute as follows:
   * Primitives: if the type does not have an Iceberg ID it is skipped
   * Lists: only included if element and the list type itself have an Iceberg 
ID, otherwise it is skipped
   * Maps: only included if key, value and the map type itself have an Iceberg 
ID, otherwise it is skipped
   * Structs: included as long as any of the fields in the struct has an 
Iceberg ID, otherwise it is skipped 
   
   If the schema as a whole does not have any Iceberg IDs, it fails with 
Exception.
   
   Additional changes are:
   * Fixed NPE in ORC visitor when visiting lists
   * Changed visitor to skip types without Iceberg ID instead of failing with 
Exception
   
   PTAL @rdsr @rdblue - Thanks!


----------------------------------------------------------------
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.

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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to