From 9f3e5e7acedeae27bb391bd68f8dcae551339020 Mon Sep 17 00:00:00 2001 From: shuwenwei Date: Thu, 23 Oct 2025 16:45:22 +0800 Subject: [PATCH] fix GroupByMonthFilter.getTimeRanges --- .../read/filter/operator/GroupByMonthFilter.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/java/tsfile/src/main/java/org/apache/tsfile/read/filter/operator/GroupByMonthFilter.java b/java/tsfile/src/main/java/org/apache/tsfile/read/filter/operator/GroupByMonthFilter.java index 3cef1724b..d0c29105e 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/read/filter/operator/GroupByMonthFilter.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/read/filter/operator/GroupByMonthFilter.java @@ -19,6 +19,7 @@ package org.apache.tsfile.read.filter.operator; +import org.apache.tsfile.read.common.TimeRange; import org.apache.tsfile.read.filter.basic.Filter; import org.apache.tsfile.read.filter.basic.OperatorType; import org.apache.tsfile.utils.ReadWriteIOUtils; @@ -29,6 +30,8 @@ import java.nio.ByteBuffer; import java.util.Arrays; import java.util.Calendar; +import java.util.Collections; +import java.util.List; import java.util.Objects; import java.util.TimeZone; import java.util.concurrent.TimeUnit; @@ -139,6 +142,14 @@ public boolean containStartEndTime(long startTime, long endTime) { } } + @Override + public List getTimeRanges() { + // this.startTime will be modified dynamically + return originalStartTime >= originalEndTime + ? Collections.emptyList() + : Collections.singletonList(new TimeRange(originalStartTime, originalEndTime - 1)); + } + private boolean isContainedByCurrentInterval(long startTime, long endTime) { if (startTime < this.startTime || endTime > this.endTime) { return false;