diff --git a/core/src/main/java/org/apache/iceberg/BaseFile.java b/core/src/main/java/org/apache/iceberg/BaseFile.java index 84af7e7838af..b566b77e1331 100644 --- a/core/src/main/java/org/apache/iceberg/BaseFile.java +++ b/core/src/main/java/org/apache/iceberg/BaseFile.java @@ -332,7 +332,7 @@ public Object get(int i) { case 16: return sortOrderId; case 17: - return pos; + return fileOrdinal; default: throw new UnsupportedOperationException("Unknown field ordinal: " + pos); } diff --git a/core/src/test/java/org/apache/iceberg/TestManifestReader.java b/core/src/test/java/org/apache/iceberg/TestManifestReader.java index b6a7f47e0dfb..8061e33f5efa 100644 --- a/core/src/test/java/org/apache/iceberg/TestManifestReader.java +++ b/core/src/test/java/org/apache/iceberg/TestManifestReader.java @@ -128,6 +128,7 @@ public void testDataFilePositions() throws IOException { long expectedPos = 0L; for (DataFile file : reader) { Assert.assertEquals("Position should match", (Long) expectedPos, file.pos()); + Assert.assertEquals("Position from field index should match", expectedPos, ((BaseFile) file).get(17)); expectedPos += 1; } } @@ -141,6 +142,7 @@ public void testDeleteFilePositions() throws IOException { long expectedPos = 0L; for (DeleteFile file : reader) { Assert.assertEquals("Position should match", (Long) expectedPos, file.pos()); + Assert.assertEquals("Position from field index should match", expectedPos, ((BaseFile) file).get(17)); expectedPos += 1; } }