|
18 | 18 | */
|
19 | 19 | package org.apache.iceberg.arrow.vectorized;
|
20 | 20 |
|
21 |
| -import static org.apache.iceberg.arrow.vectorized.ArrowVectorAccessors.getVectorAccessor; |
22 |
| - |
23 | 21 | import java.util.Map;
|
24 | 22 | import org.apache.arrow.memory.ArrowBuf;
|
25 | 23 | import org.apache.arrow.memory.BufferAllocator;
|
@@ -463,8 +461,12 @@ public static VectorizedArrowReader positionsWithSetArrowValidityVector() {
|
463 | 461 | return new PositionVectorReader(true);
|
464 | 462 | }
|
465 | 463 |
|
466 |
| - public static VectorizedArrowReader rowIds(long baseRowId, VectorizedArrowReader idReader) { |
467 |
| - return new RowIdVectorReader(baseRowId, idReader); |
| 464 | + public static VectorizedArrowReader rowIds(Long baseRowId, VectorizedArrowReader idReader) { |
| 465 | + if (baseRowId != null) { |
| 466 | + return new RowIdVectorReader(baseRowId, idReader); |
| 467 | + } else { |
| 468 | + return nulls(); |
| 469 | + } |
468 | 470 | }
|
469 | 471 |
|
470 | 472 | public static VectorizedArrowReader lastUpdated(
|
@@ -628,7 +630,7 @@ public VectorHolder read(VectorHolder reuse, int numValsToRead) {
|
628 | 630 | ArrowBuf dataBuffer = vec.getDataBuffer();
|
629 | 631 | boolean isNullReader = ids.vector() == null;
|
630 | 632 | ArrowVectorAccessor<?, String, ?, ?> idsAccessor =
|
631 |
| - isNullReader ? null : getVectorAccessor(ids); |
| 633 | + isNullReader ? null : ArrowVectorAccessors.getVectorAccessor(ids); |
632 | 634 | for (int i = 0; i < numValsToRead; i += 1) {
|
633 | 635 | long bufferOffset = (long) i * Long.BYTES;
|
634 | 636 | if (isNullReader || ids.nullabilityHolder().isNullAt(i) == 1) {
|
@@ -687,7 +689,7 @@ public VectorHolder read(VectorHolder reuse, int numValsToRead) {
|
687 | 689 | ArrowBuf dataBuffer = vec.getDataBuffer();
|
688 | 690 | VectorHolder seqNumbers = seqReader.read(null, numValsToRead);
|
689 | 691 | ArrowVectorAccessor<?, String, ?, ?> accessor =
|
690 |
| - seqNumbers.vector() == null ? null : getVectorAccessor(seqNumbers); |
| 692 | + seqNumbers.vector() == null ? null : ArrowVectorAccessors.getVectorAccessor(seqNumbers); |
691 | 693 | for (int i = 0; i < numValsToRead; i += 1) {
|
692 | 694 | long bufferOffset = (long) i * Long.BYTES;
|
693 | 695 | if (seqNumbers.vector() == null || seqNumbers.nullabilityHolder().isNullAt(i) == 1) {
|
|
0 commit comments