From 5e3869365de5cd15fbe93ef15412210f5a565a79 Mon Sep 17 00:00:00 2001 From: Xinli shang Date: Mon, 9 Aug 2021 08:51:14 -0700 Subject: [PATCH 1/2] PARQUET-2064: Make Range public accessible in RowRanges --- .../internal/filter2/columnindex/RowRanges.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java b/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java index cf6a1cadd9..86b9b368eb 100644 --- a/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java +++ b/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java @@ -37,7 +37,8 @@ * @see ColumnIndexFilter#calculateRowRanges(Filter, ColumnIndexStore, Set, long) */ public class RowRanges { - private static class Range { + // Make it public because some uppler layer application need to access it + public static class Range { // Returns the union of the two ranges or null if there are elements between them. private static Range union(Range left, Range right) { @@ -63,8 +64,8 @@ private static Range intersection(Range left, Range right) { return null; } - final long from; - final long to; + public final long from; + public long to; // Creates a range of [from, to] (from and to are inclusive; empty ranges are not valid) Range(long from, long to) { @@ -299,6 +300,10 @@ public boolean isOverlapping(long from, long to) { (r1, r2) -> r1.isBefore(r2) ? -1 : r1.isAfter(r2) ? 1 : 0) >= 0; } + public List getRanges() { + return ranges; + } + @Override public String toString() { return ranges.toString(); From a83daf2f42f40323d026cdd98a2e0f040fc540ca Mon Sep 17 00:00:00 2001 From: Xinli shang Date: Wed, 11 Aug 2021 09:51:07 -0700 Subject: [PATCH 2/2] Address comments --- .../parquet/internal/filter2/columnindex/RowRanges.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java b/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java index 86b9b368eb..52a8e50926 100644 --- a/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java +++ b/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/RowRanges.java @@ -65,7 +65,7 @@ private static Range intersection(Range left, Range right) { } public final long from; - public long to; + public final long to; // Creates a range of [from, to] (from and to are inclusive; empty ranges are not valid) Range(long from, long to) { @@ -301,7 +301,7 @@ public boolean isOverlapping(long from, long to) { } public List getRanges() { - return ranges; + return Collections.unmodifiableList(ranges); } @Override