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]
