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

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


The following commit(s) were added to refs/heads/develop by this push:
     new 1dc675d1 Fix bug in PaginationController (#578)
1dc675d1 is described below

commit 1dc675d1099784785ee1f915bf0d7d60710e5cda
Author: shuwenwei <[email protected]>
AuthorDate: Fri Oct 31 16:42:28 2025 +0800

    Fix bug in PaginationController (#578)
---
 .../apache/tsfile/read/reader/page/AbstractAlignedPageReader.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/AbstractAlignedPageReader.java
 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AbstractAlignedPageReader.java
index ad5af3b5..42a802c9 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AbstractAlignedPageReader.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AbstractAlignedPageReader.java
@@ -355,7 +355,7 @@ public abstract class AbstractAlignedPageReader 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 6d56530c..2576706b 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
@@ -215,7 +215,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