You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by ru...@apache.org on 2021/11/17 22:43:54 UTC

[iceberg] branch master updated: Core: BaseFile returns wrong field when accessing position via index (#3178)

This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new fb5cfbc  Core: BaseFile returns wrong field when accessing position via index (#3178)
fb5cfbc is described below

commit fb5cfbc69ad4339ac6baf5ace9bb1d9152a627c1
Author: Szehon Ho <sz...@gmail.com>
AuthorDate: Wed Nov 17 23:43:40 2021 +0100

    Core: BaseFile returns wrong field when accessing position via index (#3178)
---
 core/src/main/java/org/apache/iceberg/BaseFile.java           | 2 +-
 core/src/test/java/org/apache/iceberg/TestManifestReader.java | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/org/apache/iceberg/BaseFile.java b/core/src/main/java/org/apache/iceberg/BaseFile.java
index 84af7e7..b566b77 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 @@ abstract class BaseFile<F>
       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 b6a7f47..8061e33 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 class TestManifestReader extends TableTestBase {
       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 class TestManifestReader extends TableTestBase {
       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;
       }
     }