This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch rc/2.2.0 in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit cf28d37386dce53e2d3092996b2480b104c39c85 Author: Colin Lee <[email protected]> AuthorDate: Tue Nov 4 17:42:42 2025 +0800 fix code and remove warning. (#629) --- cpp/examples/cpp_examples/demo_read.cpp | 1 + cpp/src/cwrapper/CMakeLists.txt | 2 +- cpp/src/cwrapper/tsfile_cwrapper.cc | 4 ++-- cpp/src/encoding/dictionary_decoder.h | 1 - cpp/src/encoding/double_sprintz_decoder.h | 8 ++++---- cpp/src/encoding/double_sprintz_encoder.h | 4 ++-- cpp/src/encoding/float_sprintz_decoder.h | 6 +++--- cpp/src/encoding/float_sprintz_encoder.h | 4 ++-- cpp/src/encoding/int32_sprintz_decoder.h | 10 +++++----- cpp/src/encoding/int32_sprintz_encoder.h | 2 +- cpp/src/encoding/int64_sprintz_decoder.h | 4 ++-- cpp/src/encoding/int64_sprintz_encoder.h | 2 +- cpp/src/encoding/sprintz_encoder.h | 4 ++-- cpp/src/writer/tsfile_table_writer.cc | 2 +- cpp/test/common/datatype/date_converter_test.cc | 2 +- cpp/test/reader/table_view/tsfile_reader_table_test.cc | 2 +- cpp/test/writer/table_view/tsfile_writer_table_test.cc | 18 ++++++------------ cpp/test/writer/tsfile_writer_test.cc | 2 +- 18 files changed, 36 insertions(+), 42 deletions(-) diff --git a/cpp/examples/cpp_examples/demo_read.cpp b/cpp/examples/cpp_examples/demo_read.cpp index 20178145..efef0c9c 100644 --- a/cpp/examples/cpp_examples/demo_read.cpp +++ b/cpp/examples/cpp_examples/demo_read.cpp @@ -61,6 +61,7 @@ int demo_read() { while ((code = ret->next(has_next)) == common::E_OK && has_next) { // Timestamp at column 1 and column index begin from 1. Timestamp timestamp = ret->get_value<Timestamp>(1); + std::cout << timestamp << std::endl; for (int i = 1; i <= column_num; i++) { if (ret->is_null(i)) { std::cout << "null" << std::endl; diff --git a/cpp/src/cwrapper/CMakeLists.txt b/cpp/src/cwrapper/CMakeLists.txt index e03c30df..07f52eb3 100644 --- a/cpp/src/cwrapper/CMakeLists.txt +++ b/cpp/src/cwrapper/CMakeLists.txt @@ -18,7 +18,7 @@ under the License. ]] message("Running in cwrapper directory") set(CMAKE_POSITION_INDEPENDENT_CODE ON) -aux_source_directory(. CWRAPPER_SRC_LIST) +set(CWRAPPER_SRC_LIST tsfile_cwrapper.cc) add_library(cwrapper_obj OBJECT ${CWRAPPER_SRC_LIST}) # install header files diff --git a/cpp/src/cwrapper/tsfile_cwrapper.cc b/cpp/src/cwrapper/tsfile_cwrapper.cc index e6e15dd4..1b09db49 100644 --- a/cpp/src/cwrapper/tsfile_cwrapper.cc +++ b/cpp/src/cwrapper/tsfile_cwrapper.cc @@ -431,7 +431,7 @@ ResultSetMetaData tsfile_result_set_get_metadata(ResultSet result_set) { char *tsfile_result_set_metadata_get_column_name(ResultSetMetaData result_set, uint32_t column_index) { - if (column_index > result_set.column_num) { + if (column_index > (uint32_t)result_set.column_num) { return nullptr; } return result_set.column_names[column_index - 1]; @@ -439,7 +439,7 @@ char *tsfile_result_set_metadata_get_column_name(ResultSetMetaData result_set, TSDataType tsfile_result_set_metadata_get_data_type( ResultSetMetaData result_set, uint32_t column_index) { - if (column_index > result_set.column_num) { + if (column_index > (uint32_t)result_set.column_num) { return TS_DATATYPE_INVALID; } return result_set.data_types[column_index - 1]; diff --git a/cpp/src/encoding/dictionary_decoder.h b/cpp/src/encoding/dictionary_decoder.h index 46214c34..0dce5a2b 100644 --- a/cpp/src/encoding/dictionary_decoder.h +++ b/cpp/src/encoding/dictionary_decoder.h @@ -58,7 +58,6 @@ class DictionaryDecoder : public Decoder { } int read_String(common::String &ret_value, common::PageArena &pa, common::ByteStream &in) { - int ret = common::E_OK; auto std_str = read_string(in); return ret_value.dup_from(std_str, pa); } diff --git a/cpp/src/encoding/double_sprintz_decoder.h b/cpp/src/encoding/double_sprintz_decoder.h index 7a3ab6db..57f4b0b2 100644 --- a/cpp/src/encoding/double_sprintz_decoder.h +++ b/cpp/src/encoding/double_sprintz_decoder.h @@ -73,7 +73,7 @@ class DoubleSprintzDecoder : public SprintzDecoder { } } ret_value = current_buffer_[current_count_++]; - if (current_count_ == decode_size_) { + if (current_count_ == (size_t)decode_size_) { is_block_read_ = false; current_count_ = 0; } @@ -100,7 +100,7 @@ class DoubleSprintzDecoder : public SprintzDecoder { } bool has_remaining(const common::ByteStream& input) override { - int min_length = sizeof(uint32_t) + 1; + uint32_t min_length = sizeof(uint32_t) + 1; return (is_block_read_ && current_count_ < decode_size_) || input.remaining_size() >= min_length; } @@ -121,7 +121,7 @@ class DoubleSprintzDecoder : public SprintzDecoder { if ((bit_width_ & (1 << 7)) != 0) { decode_size_ = bit_width_ & ~(1 << 7); DoubleGorillaDecoder decoder; - for (int i = 0; i < decode_size_; ++i) { + for (size_t i = 0; i < decode_size_; ++i) { if (RET_FAIL(decoder.read_double(current_buffer_[i], input))) { return ret; } @@ -208,7 +208,7 @@ class DoubleSprintzDecoder : public SprintzDecoder { double pre_value_; double current_value_; size_t current_count_; - int decode_size_; + size_t decode_size_; bool is_block_read_ = false; std::vector<double> current_buffer_; diff --git a/cpp/src/encoding/double_sprintz_encoder.h b/cpp/src/encoding/double_sprintz_encoder.h index 1571dcca..08d498c6 100644 --- a/cpp/src/encoding/double_sprintz_encoder.h +++ b/cpp/src/encoding/double_sprintz_encoder.h @@ -78,7 +78,7 @@ class DoubleSprintzEncoder : public SprintzEncoder { } values_.push_back(value); - if (values_.size() == block_size_ + 1) { + if (values_.size() == (size_t)block_size_ + 1) { fire_pred_.reset(); for (int i = 1; i <= block_size_; ++i) { convert_buffer_[i - 1] = predict(values_[i], values_[i - 1]); @@ -149,7 +149,7 @@ class DoubleSprintzEncoder : public SprintzEncoder { int64_t predict(double value, double prev) { int64_t curr_bits = common::double_to_long(value); int64_t prev_bits = common::double_to_long(prev); - int64_t raw_pred; + int64_t raw_pred = 0; if (predict_method_ == "delta") { raw_pred = curr_bits - prev_bits; } else if (predict_method_ == "fire") { diff --git a/cpp/src/encoding/float_sprintz_decoder.h b/cpp/src/encoding/float_sprintz_decoder.h index 319b2516..abbef9f5 100644 --- a/cpp/src/encoding/float_sprintz_decoder.h +++ b/cpp/src/encoding/float_sprintz_decoder.h @@ -86,7 +86,7 @@ class FloatSprintzDecoder : public SprintzDecoder { } bool has_remaining(const common::ByteStream &input) override { - int min_length = sizeof(uint32_t) + 1; + size_t min_length = sizeof(uint32_t) + 1; return (is_block_read_ && current_count_ < decode_size_) || input.remaining_size() >= min_length; } @@ -122,7 +122,7 @@ class FloatSprintzDecoder : public SprintzDecoder { if ((bit_width_ & (1 << 7)) != 0) { decode_size_ = bit_width_ & ~(1 << 7); FloatGorillaDecoder decoder; - for (int i = 0; i < decode_size_; ++i) { + for (size_t i = 0; i < decode_size_; ++i) { if (RET_FAIL(decoder.read_float(current_buffer_[i], input))) { return ret; } @@ -221,7 +221,7 @@ class FloatSprintzDecoder : public SprintzDecoder { float pre_value_; float current_value_; size_t current_count_; - int decode_size_; + size_t decode_size_; bool is_block_read_ = false; std::vector<float> current_buffer_; diff --git a/cpp/src/encoding/float_sprintz_encoder.h b/cpp/src/encoding/float_sprintz_encoder.h index 01151a23..73b55a66 100644 --- a/cpp/src/encoding/float_sprintz_encoder.h +++ b/cpp/src/encoding/float_sprintz_encoder.h @@ -75,7 +75,7 @@ class FloatSprintzEncoder : public SprintzEncoder { } values_.push_back(value); - if (values_.size() == block_size_ + 1) { + if (values_.size() == (size_t)block_size_ + 1) { fire_pred_.reset(); for (int i = 1; i <= block_size_; ++i) { convert_buffer_[i - 1] = predict(values_[i], values_[i - 1]); @@ -147,7 +147,7 @@ class FloatSprintzEncoder : public SprintzEncoder { int32_t predict(float value, float prev_value) { int32_t curr_bits = common::float_to_int(value); int32_t prev_bits = common::float_to_int(prev_value); - int32_t raw_pred; + int32_t raw_pred = 0; if (predict_method_ == "delta") { raw_pred = curr_bits - prev_bits; } else if (predict_method_ == "fire") { diff --git a/cpp/src/encoding/int32_sprintz_decoder.h b/cpp/src/encoding/int32_sprintz_decoder.h index 1a23692c..ef98e978 100644 --- a/cpp/src/encoding/int32_sprintz_decoder.h +++ b/cpp/src/encoding/int32_sprintz_decoder.h @@ -37,10 +37,10 @@ namespace storage { class Int32SprintzDecoder : public SprintzDecoder { public: Int32SprintzDecoder() - : current_value_(0), + : fire_pred_(2), pre_value_(0), + current_value_(0), current_buffer_(block_size_ + 1), - fire_pred_(2), predict_scheme_("fire") { SprintzDecoder::reset(); current_value_ = 0; @@ -56,7 +56,7 @@ class Int32SprintzDecoder : public SprintzDecoder { } bool has_remaining(const common::ByteStream &in) { - int min_len = sizeof(int32_t) + 1; + uint32_t min_len = sizeof(int32_t) + 1; return (is_block_read_ && current_count_ < block_size_) || in.remaining_size() >= min_len; } @@ -103,9 +103,9 @@ class Int32SprintzDecoder : public SprintzDecoder { } bool has_next(common::ByteStream &input) { - int min_lenth = sizeof(int32_t) + 1; + uint32_t min_length = sizeof(int32_t) + 1; return (is_block_read_ && current_count_ < block_size_) || - input.remaining_size() >= min_lenth; + input.remaining_size() >= min_length; } protected: diff --git a/cpp/src/encoding/int32_sprintz_encoder.h b/cpp/src/encoding/int32_sprintz_encoder.h index c7d38e26..ead5010b 100644 --- a/cpp/src/encoding/int32_sprintz_encoder.h +++ b/cpp/src/encoding/int32_sprintz_encoder.h @@ -87,7 +87,7 @@ class Int32SprintzEncoder : public SprintzEncoder { values_.push_back(value); - if (values_.size() == block_size_ + 1) { + if (values_.size() == (size_t)block_size_ + 1) { int32_t prev = values_[0]; fire_pred_.reset(); for (int i = 1; i <= block_size_; ++i) { diff --git a/cpp/src/encoding/int64_sprintz_decoder.h b/cpp/src/encoding/int64_sprintz_decoder.h index d1db9f94..263ce769 100644 --- a/cpp/src/encoding/int64_sprintz_decoder.h +++ b/cpp/src/encoding/int64_sprintz_decoder.h @@ -37,10 +37,10 @@ namespace storage { class Int64SprintzDecoder : public SprintzDecoder { public: Int64SprintzDecoder() - : current_value_(0), + : fire_pred_(3), pre_value_(0), + current_value_(0), current_buffer_(block_size_ + 1), - fire_pred_(3), predict_scheme_("fire") { SprintzDecoder::reset(); current_count_ = 0; diff --git a/cpp/src/encoding/int64_sprintz_encoder.h b/cpp/src/encoding/int64_sprintz_encoder.h index 4c5ca876..34151a6c 100644 --- a/cpp/src/encoding/int64_sprintz_encoder.h +++ b/cpp/src/encoding/int64_sprintz_encoder.h @@ -76,7 +76,7 @@ class Int64SprintzEncoder : public SprintzEncoder { values_.push_back(value); - if (values_.size() == block_size_ + 1) { + if (values_.size() == (size_t)block_size_ + 1) { int64_t prev = values_[0]; fire_pred_.reset(); for (int i = 1; i <= block_size_; ++i) { diff --git a/cpp/src/encoding/sprintz_encoder.h b/cpp/src/encoding/sprintz_encoder.h index 67e4dae8..30934480 100644 --- a/cpp/src/encoding/sprintz_encoder.h +++ b/cpp/src/encoding/sprintz_encoder.h @@ -51,8 +51,8 @@ class SprintzEncoder : public Encoder { group_num_(0), bit_width_(0), byte_cache_(1024, common::MOD_ENCODER_OBJ), - is_first_cached_(false), - predict_method_("fire") {} + predict_method_("fire"), + is_first_cached_(false) {} protected: int block_size_; // Size of each compressed block, default 8 diff --git a/cpp/src/writer/tsfile_table_writer.cc b/cpp/src/writer/tsfile_table_writer.cc index a42bd112..6dd99018 100644 --- a/cpp/src/writer/tsfile_table_writer.cc +++ b/cpp/src/writer/tsfile_table_writer.cc @@ -41,7 +41,7 @@ int storage::TsFileTableWriter::write_table(storage::Tablet& tablet) const { return common::E_TABLE_NOT_EXIST; } tablet.set_table_name(to_lower(tablet.get_table_name())); - for (int i = 0; i < tablet.get_column_count(); i++) { + for (size_t i = 0; i < tablet.get_column_count(); i++) { tablet.set_column_name(i, to_lower(tablet.get_column_name(i))); } diff --git a/cpp/test/common/datatype/date_converter_test.cc b/cpp/test/common/datatype/date_converter_test.cc index ad59d572..41a85e30 100644 --- a/cpp/test/common/datatype/date_converter_test.cc +++ b/cpp/test/common/datatype/date_converter_test.cc @@ -56,7 +56,7 @@ TEST_F(DateConverterTest, IntToDateValidDate) { // Test round-trip conversion consistency TEST_F(DateConverterTest, RoundTripConversion) { std::tm tm_result = {0}; - int32_t int_result; + int32_t int_result = 0; // Forward conversion then backward conversion ASSERT_EQ(DateConverter::date_to_int(valid_tm_, int_result), common::E_OK); 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 72c29aa0..bb4480f3 100644 --- a/cpp/test/reader/table_view/tsfile_reader_table_test.cc +++ b/cpp/test/reader/table_view/tsfile_reader_table_test.cc @@ -363,7 +363,7 @@ TEST_F(TsFileTableReaderTest, TableModelQueryWithMultiTabletsMultiFlush) { while (IS_SUCC(table_result_set->next(has_next)) && has_next) { for (int i = 0; i < 1; i++) { auto column_schemas = tmp_table_schema->get_measurement_schemas(); - for (int j = 0; j < column_schemas.size(); j++) { + for (size_t j = 0; j < column_schemas.size(); j++) { switch (column_schemas[j]->data_type_) { case TSDataType::INT64: ASSERT_EQ(table_result_set->get_value<int64_t>(j + 2), diff --git a/cpp/test/writer/table_view/tsfile_writer_table_test.cc b/cpp/test/writer/table_view/tsfile_writer_table_test.cc index 8c373a3c..2fb19d7d 100644 --- a/cpp/test/writer/table_view/tsfile_writer_table_test.cc +++ b/cpp/test/writer/table_view/tsfile_writer_table_test.cc @@ -379,7 +379,7 @@ TEST_F(TsFileWriterTableTest, WritehDataTypeMisMatch) { int row_index = i * num_timestamp_per_device + l; tablet.add_timestamp(row_index, offset + l); auto column_schemas = table_schema->get_measurement_schemas(); - for (int idx = 0; idx < column_schemas.size(); idx++) { + for (size_t idx = 0; idx < column_schemas.size(); idx++) { switch (datatypes[idx]) { case TSDataType::INT64: tablet.add_value(row_index, @@ -779,7 +779,7 @@ TEST_F(TsFileWriterTableTest, MultiDatatypes) { std::vector<common::TSDataType> data_types = { FLOAT, INT64, BOOLEAN, DOUBLE, STRING, TIMESTAMP, TEXT, BLOB, DATE}; - for (int i = 0; i < measurement_names.size(); i++) { + for (size_t i = 0; i < measurement_names.size(); i++) { measurement_schemas.emplace_back( new MeasurementSchema(measurement_names[i], data_types[i])); column_categories.emplace_back(ColumnCategory::FIELD); @@ -803,7 +803,7 @@ TEST_F(TsFileWriterTableTest, MultiDatatypes) { today.tm_mday = local_time->tm_mday; for (int i = 0; i < 100; i++) { tablet.add_timestamp(i, static_cast<int64_t>(time++)); - for (int j = 0; j < measurement_schemas.size(); j++) { + for (size_t j = 0; j < measurement_schemas.size(); j++) { switch (data_types[j]) { case BOOLEAN: ASSERT_EQ(tablet.add_value(i, j, true), E_OK); @@ -850,10 +850,8 @@ TEST_F(TsFileWriterTableTest, MultiDatatypes) { auto table_result_set = (TableResultSet*)ret; bool has_next = false; - int cur_line = 0; auto schema = table_result_set->get_metadata(); while (IS_SUCC(table_result_set->next(has_next)) && has_next) { - int64_t timestamp = table_result_set->get_value<int64_t>(1); ASSERT_EQ(table_result_set->get_value<float>(2), (float)1.0); ASSERT_EQ(table_result_set->get_value<int64_t>(3), (int64_t)415412); ASSERT_EQ(table_result_set->get_value<bool>(4), true); @@ -880,8 +878,6 @@ TEST_F(TsFileWriterTableTest, DiffCodecTypes) { std::vector<MeasurementSchema*> measurement_schemas; std::vector<ColumnCategory> column_categories; - common::CompressionType compression_type = - common::CompressionType::UNCOMPRESSED; std::vector<std::string> measurement_names = { "int32_zigzag", "int64_zigzag", "string_dic", "text_dic", "float_gorilla", "double_gorilla", "int32_ts2diff", "int64_ts2diff", @@ -895,7 +891,7 @@ TEST_F(TsFileWriterTableTest, DiffCodecTypes) { ZIGZAG, ZIGZAG, DICTIONARY, DICTIONARY, GORILLA, GORILLA, TS_2DIFF, TS_2DIFF, RLE, RLE, SPRINTZ, SPRINTZ, SPRINTZ, SPRINTZ}; - for (int i = 0; i < measurement_names.size(); i++) { + for (size_t i = 0; i < measurement_names.size(); i++) { measurement_schemas.emplace_back(new MeasurementSchema( measurement_names[i], data_types[i], encodings[i], UNCOMPRESSED)); column_categories.emplace_back(ColumnCategory::FIELD); @@ -913,7 +909,7 @@ TEST_F(TsFileWriterTableTest, DiffCodecTypes) { String literal_str(literal, std::strlen("device_id")); for (int i = 0; i < 100; i++) { tablet.add_timestamp(i, static_cast<int64_t>(time++)); - for (int j = 0; j < measurement_schemas.size(); j++) { + for (size_t j = 0; j < measurement_schemas.size(); j++) { std::string measurement_name = measurement_names[j]; switch (data_types[j]) { case BOOLEAN: @@ -955,10 +951,8 @@ TEST_F(TsFileWriterTableTest, DiffCodecTypes) { auto table_result_set = (TableResultSet*)ret; bool has_next = false; - int cur_line = 0; auto schema = table_result_set->get_metadata(); while (IS_SUCC(table_result_set->next(has_next)) && has_next) { - int64_t timestamp = table_result_set->get_value<int64_t>(1); ASSERT_EQ(table_result_set->get_value<int32_t>(2), 32); ASSERT_EQ(table_result_set->get_value<int64_t>(3), 64); @@ -1017,7 +1011,7 @@ TEST_F(TsFileWriterTableTest, EncodingConfigIntegration) { SPRINTZ, TS_2DIFF, GORILLA, GORILLA, DICTIONARY, PLAIN, DICTIONARY}; // Create measurement schemas with configured encodings and compression - for (int i = 0; i < measurement_names.size(); i++) { + for (size_t i = 0; i < measurement_names.size(); i++) { measurement_schemas.emplace_back(new MeasurementSchema( measurement_names[i], data_types[i], encodings[i], SNAPPY)); column_categories.emplace_back(ColumnCategory::FIELD); diff --git a/cpp/test/writer/tsfile_writer_test.cc b/cpp/test/writer/tsfile_writer_test.cc index be8be1f0..c1b3435d 100644 --- a/cpp/test/writer/tsfile_writer_test.cc +++ b/cpp/test/writer/tsfile_writer_test.cc @@ -318,7 +318,7 @@ TEST_F(TsFileWriterTest, WriteDiffrentTypeCombination) { std::strcpy(literal, "literal"); String literal_str(literal, std::strlen("literal")); - for (int i = 0; i < schema_vecs.size(); ++i) { + for (size_t i = 0; i < schema_vecs.size(); ++i) { TsRecord record(1622505600000 + i * 1000, device_path); if (schema_vecs[i].data_type_ == TSDataType::INT32) { record.add_point(schema_vecs[i].measurement_name_, (int32_t)i);
