pvary commented on code in PR #15255:
URL: https://github.com/apache/iceberg/pull/15255#discussion_r2805329058


##########
orc/src/main/java/org/apache/iceberg/orc/ORC.java:
##########
@@ -775,12 +780,20 @@ public ReadBuilder withNameMapping(NameMapping 
newNameMapping) {
       return this;
     }
 
+    ReadBuilder constantFieldIds(Set<Integer> newConstantFieldIds) {
+      this.constantFieldIds = newConstantFieldIds;
+      return this;
+    }
+
     public <D> CloseableIterable<D> build() {
       Preconditions.checkNotNull(schema, "Schema is required");
       return new OrcIterable<>(
           file,
           conf,
-          schema,
+          // This is a behavioral change. Previously there were an error if 
metadata columns were

Review Comment:
   Removed the comment.
   
   In nutshell, the VectorizedSparkOrcReaders, GenericOrcReader.buildReader, 
etc functions need the full schema to create the "readers" for the constant 
columns, but the physical reader don't need them. Every caller currently makes 
sure that the columns which are not necessary are removed when the physical 
reader is created. This will not work when the generic parametrization is used. 
We can do it in the ORCFormatModel, but this change is just fixing a bug in my 
opinion.



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


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

Reply via email to