hongzhi-gao opened a new pull request, #741:
URL: https://github.com/apache/tsfile/pull/741

   ### **Background**
   
   TsFile previously only supported time-range queries. Users who want 
pagination or bulk-read of the first/last N rows had no efficient way to do it 
without reading the entire dataset first.
   
   ### **What this PR does**
   
   Introduces a queryByRow(offset, limit) API across all three language 
bindings:
   
   C/C++: RowRangeResultSet wrapper that skips the first offset rows then 
returns at most limit rows. Exposed via TsFileTreeReader::queryByRow and 
TsFileReader::queryByRow, plus C-wrapper functions 
tsfile_reader_query_tree_by_row / tsfile_reader_query_table_by_row. limit < 0 
means unlimited.
   Python: TsFileReaderPy.query_tree_by_row and query_table_by_row Cython 
bindings that delegate to the C++ layer.
   Java: RowRangeResultSet wrapper with the same semantics added to 
ITsFileTreeReader / ITsFileReader; implemented in TsFileTreeReader and 
DeviceTableModelReader.
   Key design: once limit rows have been returned, next() returns false 
immediately without loading further chunks/pages, making the stop early 
efficient.
   
   ### Tests added
   
   Each binding has dedicated tests covering: limit=0, limit < total, limit > 
total, limit=-1 (unlimited), offset-only, offset+limit, offset beyond end, 
data-value correctness, metadata accessibility, and pagination consistency. C 
also adds C-wrapper smoke tests.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to