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();