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

jiangtian 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 73ac55f0 Fix CPP TsFile query with time filter error (#474)
73ac55f0 is described below

commit 73ac55f02a9d0c88a18c86646e4b0cb4632c12dc
Author: Haonan <[email protected]>
AuthorDate: Sun Apr 27 09:26:28 2025 +0800

    Fix CPP TsFile query with time filter error (#474)
    
    * Fix CPP TsFile query with time filter error
    
    * fix test
---
 cpp/src/reader/tsfile_series_scan_iterator.cc          |  2 +-
 cpp/test/cwrapper/c_release_test.cc                    |  2 +-
 cpp/test/reader/table_view/tsfile_reader_table_test.cc | 10 +++++++---
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/cpp/src/reader/tsfile_series_scan_iterator.cc 
b/cpp/src/reader/tsfile_series_scan_iterator.cc
index ee41231e..eb3bd1ed 100644
--- a/cpp/src/reader/tsfile_series_scan_iterator.cc
+++ b/cpp/src/reader/tsfile_series_scan_iterator.cc
@@ -79,7 +79,7 @@ int TsFileSeriesScanIterator::get_next(TsBlock *&ret_tsblock, 
bool alloc,
         if (alloc) {
             ret_tsblock = alloc_tsblock();
         }
-        ret = chunk_reader_->get_next_page(ret_tsblock, oneshoot_filter,
+        ret = chunk_reader_->get_next_page(ret_tsblock, filter,
                                            *data_pa_);
     }
     return ret;
diff --git a/cpp/test/cwrapper/c_release_test.cc 
b/cpp/test/cwrapper/c_release_test.cc
index ef50f00b..86f1b697 100644
--- a/cpp/test/cwrapper/c_release_test.cc
+++ b/cpp/test/cwrapper/c_release_test.cc
@@ -322,7 +322,7 @@ TEST_F(CReleaseTest, TsFileWriterMultiDataType) {
         }
         row_num++;
     }
-    ASSERT_EQ(1000, row_num);
+    ASSERT_EQ(990, row_num);
     free_tsfile_result_set(&result_set);
     tsfile_reader_close(reader);
     for (int i = 0; i < 6; i++) {
diff --git a/cpp/test/reader/table_view/tsfile_reader_table_test.cc 
b/cpp/test/reader/table_view/tsfile_reader_table_test.cc
index 58288a23..d2f4a8a3 100644
--- a/cpp/test/reader/table_view/tsfile_reader_table_test.cc
+++ b/cpp/test/reader/table_view/tsfile_reader_table_test.cc
@@ -133,7 +133,7 @@ class TsFileTableReaderTest : public ::testing::Test {
         return tablet;
     }
 
-    void test_table_model_query(uint32_t points_per_device = 10, uint32_t 
device_num = 1) {
+    void test_table_model_query(uint32_t points_per_device = 10, uint32_t 
device_num = 1, int64_t end_time = 1000000000000) {
         auto table_schema = gen_table_schema(0);
         auto tsfile_table_writer_ =
             std::make_shared<TsFileTableWriter>(&write_file_, table_schema);
@@ -149,7 +149,7 @@ class TsFileTableReaderTest : public ::testing::Test {
         ResultSet* tmp_result_set = nullptr;
         ret = reader.query(table_schema->get_table_name(),
                            table_schema->get_measurement_names(), 0,
-                           1000000000000, tmp_result_set);
+                           end_time, tmp_result_set);
         auto* table_result_set = (TableResultSet*)tmp_result_set;
         char* literal = new char[std::strlen("device_id") + 1];
         std::strcpy(literal, "device_id");
@@ -188,7 +188,7 @@ class TsFileTableReaderTest : public ::testing::Test {
             ASSERT_EQ(table_result_set->get_value<int64_t>(1), row_num % 
points_per_device);
             row_num++;
         }
-        ASSERT_EQ(row_num, points_per_device * device_num);
+        ASSERT_EQ(row_num, std::min<int64_t>(points_per_device * device_num, 
end_time + 1));
         reader.destroy_query_data_set(table_result_set);
         delete[] literal;
         ASSERT_EQ(reader.close(), common::E_OK);
@@ -226,6 +226,10 @@ TEST_F(TsFileTableReaderTest, TableModelQueryMultiDevices) 
{
     g_config_value_.page_writer_max_point_num_ = prev_config;
 }
 
+TEST_F(TsFileTableReaderTest, TableModelQueryWithTimeFilter) {
+    test_table_model_query(10, 1, 2);
+}
+
 TEST_F(TsFileTableReaderTest, TableModelResultMetadata) {
     auto table_schema = gen_table_schema(0);
     auto tsfile_table_writer_ =

Reply via email to