@@ -291,43 +291,79 @@ ERRNO tsfile_reader_close(TsFileReader reader);
291291
292292
293293
294- ### Query table/get next
294+ ### Query table/get next/query by row
295295
296296```C
297-
298297/**
299- * @brief Query data from the specific table and columns within time range.
298+ * @brief Queries data from the specified table and columns within a given time range.
300299 *
301- * @param reader [in] Valid TsFileReader handle from tsfile_reader_new().
302- * @param table_name [in] Target table name. Must exist in the TsFile.
303- * @param columns [in] Array of column names to fetch .
304- * @param column_num [in] Number of columns in array.
300+ * @param reader [in] A valid TsFileReader handle obtained by tsfile_reader_new().
301+ * @param table_name [in] Name of the target table, which must exist in the TsFile.
302+ * @param columns [in] Array of column names to be queried .
303+ * @param column_num [in] Number of columns in the column name array.
305304 * @param start_time [in] Start timestamp.
306- * @param end_time [in] End timestamp. Must ≥ start_time.
307- * @param err_code [out] RET_OK(0) on success, or error code in errno_define_c.h.
308- * @return ResultSet Query results handle. Must be freed with
309- * free_tsfile_result_set().
305+ * @param end_time [in] End timestamp, which must be greater than or equal to start_time.
306+ * @param err_code [out] Returns RET_OK(0) on success, otherwise returns an error code defined in errno_define_c.h.
307+ * @return ResultSet Handle of the query result set. Must be released by free_tsfile_result_set() after use.
310308 */
311309ResultSet tsfile_query_table(TsFileReader reader, const char* table_name,
312310 char** columns, uint32_t column_num,
313311 Timestamp start_time, Timestamp end_time,
314312 ERRNO* err_code);
315313
316314/**
317- * @brief Check and fetch the next row in the ResultSet .
315+ * @brief Checks and retrieves the next row of data in the result set .
318316 *
319- * @param result_set [in] Valid ResultSet handle.
320- * @param error_code RET_OK(0) on success, or error code in errno_define_c.h.
321- * @return bool - true: Row available , false: End of data or error.
317+ * @param result_set [in] A valid ResultSet handle.
318+ * @param error_code [out] Returns RET_OK(0) on success, otherwise returns an error code defined in errno_define_c.h.
319+ * @return bool - true: Next row exists , false: Reached the end or an error occurred .
322320 */
323321bool tsfile_result_set_next(ResultSet result_set, ERRNO* error_code);
324322
325323/**
326- * @brief Free Result set
324+ * @brief Releases the resources of the result set.
327325 *
328- * @param result_set [in] Valid ResultSet handle ptr .
326+ * @param result_set [in] Pointer to a valid ResultSet handle.
329327 */
330328void free_tsfile_result_set(ResultSet* result_set);
329+
330+ /**
331+ * @brief Queries time-series data by row (tree model), supporting offset and row count limitation
332+ *
333+ * @param reader [in] A valid TsFileReader handle obtained by tsfile_reader_new()
334+ * @param device_ids [in] Array of device IDs
335+ * @param device_ids_len [in] Number of device IDs
336+ * @param measurement_names [in] Array of measurement (sensor) names
337+ * @param measurement_names_len [in] Number of measurement names
338+ * @param offset [in] Number of starting rows to skip (must be >= 0)
339+ * @param limit [in] Maximum number of rows to return, < 0 means no limitation
340+ * @param err_code [out] Error code, returns E_OK(0) on success
341+ * @return Returns ResultSet handle on success, NULL on failure
342+ */
343+ ResultSet tsfile_reader_query_tree_by_row(TsFileReader reader,
344+ char** device_ids, int device_ids_len,
345+ char** measurement_names,
346+ int measurement_names_len, int offset,
347+ int limit, ERRNO* err_code);
348+
349+ /**
350+ * @brief Queries table model data by row, supporting offset and row count limitation pushdown
351+ *
352+ * @param reader [in] A valid TsFileReader handle obtained by tsfile_reader_new()
353+ * @param table_name [in] Name of the target table
354+ * @param column_names [in] Array of column names to be queried
355+ * @param column_names_len [in] Number of columns to be queried
356+ * @param offset [in] Number of starting rows to skip (must be >= 0)
357+ * @param limit [in] Maximum number of rows to return, < 0 means no limitation
358+ * @param tag_filter [in] Tag filter handle
359+ * @param batch_size [in] Batch size for data query
360+ * @param err_code [out] Error code, returns E_OK(0) on success
361+ * @return Returns ResultSet handle on success, NULL on failure
362+ */
363+ ResultSet tsfile_reader_query_table_by_row(
364+ TsFileReader reader, const char* table_name, char** column_names,
365+ int column_names_len, int offset, int limit, TagFilterHandle tag_filter,
366+ int batch_size, ERRNO* err_code);
331367```
332368
333369
0 commit comments