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

jackietien pushed a commit to branch dev/1.1
in repository https://gitbox.apache.org/repos/asf/tsfile.git


The following commit(s) were added to refs/heads/dev/1.1 by this push:
     new 60e60027 [to dev/1.1] Fix bug in PaginationController (#579)
60e60027 is described below

commit 60e60027a4e9460be216eb4ff0c214fedd613d9c
Author: shuwenwei <[email protected]>
AuthorDate: Fri Oct 31 16:43:24 2025 +0800

    [to dev/1.1] Fix bug in PaginationController (#579)
---
 .../org/apache/tsfile/read/reader/page/AlignedPageReader.java     | 2 +-
 .../main/java/org/apache/tsfile/read/reader/page/PageReader.java  | 2 +-
 .../apache/tsfile/read/reader/series/PaginationController.java    | 8 +++++---
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
index 5307ed35..0ea24e3a 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
@@ -457,7 +457,7 @@ public class AlignedPageReader implements IPageReader {
 
   @Override
   public void initTsBlockBuilder(List<TSDataType> dataTypes) {
-    if (paginationController.hasLimit()) {
+    if (paginationController.hasSetLimit()) {
       builder =
           new TsBlockBuilder(
               (int)
diff --git 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/PageReader.java 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/PageReader.java
index ee74f815..6b8bef7b 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/PageReader.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/PageReader.java
@@ -214,7 +214,7 @@ public class PageReader implements IPageReader {
     uncompressDataIfNecessary();
     TsBlockBuilder builder;
     int initialExpectedEntries = (int) pageHeader.getStatistics().getCount();
-    if (paginationController.hasLimit()) {
+    if (paginationController.hasSetLimit()) {
       initialExpectedEntries =
           (int) Math.min(initialExpectedEntries, 
paginationController.getCurLimit());
     }
diff --git 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/series/PaginationController.java
 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/series/PaginationController.java
index cbd72a86..3ecb0aeb 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/series/PaginationController.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/series/PaginationController.java
@@ -80,8 +80,8 @@ public class PaginationController {
     }
   }
 
-  public boolean hasLimit() {
-    return hasLimit && curLimit > 0;
+  public boolean hasSetLimit() {
+    return hasLimit;
   }
 
   public TsBlock applyTsBlock(TsBlock resultTsBlock) {
@@ -92,7 +92,9 @@ public class PaginationController {
       length -= fromIndex;
       consumeOffset(fromIndex);
     }
-    if (hasLimit && curLimit > 0) {
+    if (hasSetLimit()) {
+      // When hasLimit is true and methods are called correctly, curLimit must 
be greater than or
+      // equal to 0.
       length = (int) Math.min(curLimit, length);
       consumeLimit(length);
     }

Reply via email to