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

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


The following commit(s) were added to refs/heads/main by this push:
     new 8b4ebc66e1 Core: Add cardinality to PositionDeleteIndex (#11442)
8b4ebc66e1 is described below

commit 8b4ebc66e1d34dc345f8370c341720cbda98f877
Author: Anton Okolnychyi <[email protected]>
AuthorDate: Sat Nov 2 10:06:12 2024 +0100

    Core: Add cardinality to PositionDeleteIndex (#11442)
---
 .../java/org/apache/iceberg/deletes/BitmapPositionDeleteIndex.java   | 5 +++++
 .../main/java/org/apache/iceberg/deletes/PositionDeleteIndex.java    | 5 +++++
 2 files changed, 10 insertions(+)

diff --git 
a/core/src/main/java/org/apache/iceberg/deletes/BitmapPositionDeleteIndex.java 
b/core/src/main/java/org/apache/iceberg/deletes/BitmapPositionDeleteIndex.java
index 77ad7b47ac..cfb163e837 100644
--- 
a/core/src/main/java/org/apache/iceberg/deletes/BitmapPositionDeleteIndex.java
+++ 
b/core/src/main/java/org/apache/iceberg/deletes/BitmapPositionDeleteIndex.java
@@ -87,4 +87,9 @@ class BitmapPositionDeleteIndex implements 
PositionDeleteIndex {
   public Collection<DeleteFile> deleteFiles() {
     return deleteFiles;
   }
+
+  @Override
+  public long cardinality() {
+    return bitmap.cardinality();
+  }
 }
diff --git 
a/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteIndex.java 
b/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteIndex.java
index 3655b8b7e8..8ccfc03d1a 100644
--- a/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteIndex.java
+++ b/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteIndex.java
@@ -87,6 +87,11 @@ public interface PositionDeleteIndex {
     return ImmutableList.of();
   }
 
+  /** Returns the cardinality of this index. */
+  default long cardinality() {
+    throw new UnsupportedOperationException(getClass().getName() + " does not 
support cardinality");
+  }
+
   /** Returns an empty immutable position delete index. */
   static PositionDeleteIndex empty() {
     return EmptyPositionDeleteIndex.get();

Reply via email to