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]
