amogh-jahagirdar commented on code in PR #12928: URL: https://github.com/apache/iceberg/pull/12928#discussion_r2106433365
########## arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java: ########## @@ -567,6 +608,164 @@ public void close() { } } + private static final class RowIdVectorReader extends VectorizedArrowReader { + private static final Field ROW_ID_ARROW_FIELD = ArrowSchemaUtil.convert(MetadataColumns.ROW_ID); + + private final long firstRowId; + private final VectorizedReader<VectorHolder> idReader; + private final VectorizedReader<VectorHolder> posReader; + private NullabilityHolder nulls; + + private RowIdVectorReader(long firstRowId, VectorizedArrowReader idReader) { + this.firstRowId = firstRowId; + this.idReader = idReader != null ? idReader : nulls(); + this.posReader = new PositionVectorReader(true); + } + + @Override + public VectorHolder read(VectorHolder reuse, int numValsToRead) { + FieldVector positions = null; + FieldVector ids = null; + + try { + positions = posReader.read(null, numValsToRead).vector(); + VectorHolder idsHolder = idReader.read(null, numValsToRead); + ids = idsHolder.vector(); + ArrowVectorAccessor<?, String, ?, ?> idsAccessor = + ids == null ? null : ArrowVectorAccessors.getVectorAccessor(idsHolder); + + BigIntVector rowIds = allocateBigIntVector(ROW_ID_ARROW_FIELD, numValsToRead); + ArrowBuf dataBuffer = rowIds.getDataBuffer(); + for (int i = 0; i < numValsToRead; i += 1) { Review Comment: Happy to change it if you feel strongly about it, but I mostly just followed the increment pattern of i += 1 already in this class (and this package it looks like). If we do change it, I'd change it for the other instances in this class just to keep things consistent. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org