This is an automated email from the ASF dual-hosted git repository. colinlee pushed a commit to branch colin_fix_config in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit 78a8e25d94cc8f6e2b83ad6d4cf3ea46eedb7e62 Author: ColinLee <[email protected]> AuthorDate: Tue May 13 11:10:36 2025 +0800 support set default compression and encoding. --- cpp/src/common/global.cc | 4 ++-- cpp/src/common/schema.h | 6 ++---- cpp/src/encoding/gorilla_decoder.h | 2 +- cpp/src/reader/tsfile_series_scan_iterator.cc | 9 +++++---- cpp/src/utils/db_utils.h | 6 ++++-- cpp/test/cwrapper/c_release_test.cc | 8 +++++--- 6 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cpp/src/common/global.cc b/cpp/src/common/global.cc index 24da98a6..32b93712 100644 --- a/cpp/src/common/global.cc +++ b/cpp/src/common/global.cc @@ -95,7 +95,7 @@ void config_set_max_degree_of_index_node(uint32_t max_degree_of_index_node) { } void set_config_value() {} -const char* s_data_type_names[8] = {"BOOLEAN", "INT32", "INT64", "FLOAT", +const char* s_data_type_names[8] = {"BOOLEAN", "INT32", "INT64", "FLOAT", "DOUBLE", "TEXT", "VECTOR", "STRING"}; const char* s_encoding_names[12] = { @@ -129,7 +129,7 @@ bool is_timestamp_column_name(const char* time_col_name) { } void cols_to_json(ByteStream* byte_stream, - std::vector<storage::ColumnSchema>& ret_ts_list) { + std::vector<common::ColumnSchema>& ret_ts_list) { // 1. append start tag byte_stream->write_buf("{\n", 2); diff --git a/cpp/src/common/schema.h b/cpp/src/common/schema.h index 72fd028f..5deffad9 100644 --- a/cpp/src/common/schema.h +++ b/cpp/src/common/schema.h @@ -62,8 +62,8 @@ struct MeasurementSchema { common::TSDataType data_type) : measurement_name_(measurement_name), data_type_(data_type), - encoding_(get_default_encoding_for_type(data_type)), - compression_type_(common::UNCOMPRESSED), + encoding_(common::get_value_encoder(data_type)), + compression_type_(common::get_default_compressor()), chunk_writer_(nullptr), value_chunk_writer_(nullptr) {} @@ -238,7 +238,6 @@ class TableSchema { column_schemas_(std::move(other.column_schemas_)), column_categories_(std::move(other.column_categories_)) {} - TableSchema(const TableSchema &other) noexcept : table_name_(other.table_name_), column_categories_(other.column_categories_) { @@ -410,7 +409,6 @@ class TableSchema { } private: - std::string table_name_; std::vector<std::shared_ptr<MeasurementSchema> > column_schemas_; std::vector<common::ColumnCategory> column_categories_; diff --git a/cpp/src/encoding/gorilla_decoder.h b/cpp/src/encoding/gorilla_decoder.h index 5b241de4..f374b32e 100644 --- a/cpp/src/encoding/gorilla_decoder.h +++ b/cpp/src/encoding/gorilla_decoder.h @@ -44,7 +44,7 @@ class GorillaDecoder : public Decoder { stored_trailing_zeros_ = 0; bits_left_ = 0; first_value_was_read_ = false; - has_next_ = true; + has_next_ = false; buffer_ = 0; } diff --git a/cpp/src/reader/tsfile_series_scan_iterator.cc b/cpp/src/reader/tsfile_series_scan_iterator.cc index eb3bd1ed..b1be6835 100644 --- a/cpp/src/reader/tsfile_series_scan_iterator.cc +++ b/cpp/src/reader/tsfile_series_scan_iterator.cc @@ -79,8 +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, filter, - *data_pa_); + ret = chunk_reader_->get_next_page(ret_tsblock, filter, *data_pa_); } return ret; } @@ -139,8 +138,10 @@ TsBlock *TsFileSeriesScanIterator::alloc_tsblock() { ChunkHeader &ch = chunk_reader_->get_chunk_header(); // TODO config - ColumnSchema time_cd("time", common::INT64, common::SNAPPY, common::TS_2DIFF); - ColumnSchema value_cd(ch.measurement_name_, ch.data_type_, ch.compression_type_, ch.encoding_type_); + ColumnSchema time_cd("time", common::INT64, common::SNAPPY, + common::TS_2DIFF); + ColumnSchema value_cd(ch.measurement_name_, ch.data_type_, + ch.compression_type_, ch.encoding_type_); tuple_desc_.push_back(time_cd); tuple_desc_.push_back(value_cd); diff --git a/cpp/src/utils/db_utils.h b/cpp/src/utils/db_utils.h index 508d3a29..4b5aca9b 100644 --- a/cpp/src/utils/db_utils.h +++ b/cpp/src/utils/db_utils.h @@ -34,6 +34,8 @@ #include "utils/util_define.h" namespace common { +extern TSEncoding get_value_encoder(TSDataType data_type); +extern CompressionType get_default_compressor(); typedef struct FileID { int64_t seq_; // timestamp when create @@ -285,8 +287,8 @@ struct ColumnSchema { ColumnCategory column_category = ColumnCategory::FIELD) : column_name_(std::move(column_name)), data_type_(data_type), - compression_(get_default_compression_for_type(data_type)), - encoding_(get_default_encoding_for_type(data_type)), + compression_(get_default_compressor()), + encoding_(get_value_encoder(data_type)), column_category_(column_category) {} const std::string &get_column_name() const { return column_name_; } diff --git a/cpp/test/cwrapper/c_release_test.cc b/cpp/test/cwrapper/c_release_test.cc index 86f1b697..bb73fb9d 100644 --- a/cpp/test/cwrapper/c_release_test.cc +++ b/cpp/test/cwrapper/c_release_test.cc @@ -112,9 +112,10 @@ TEST_F(CReleaseTest, TsFileWriterNew) { } TEST_F(CReleaseTest, TsFileWriterWriteDataAbnormalColumn) { + remove("TsFileWriterWriteDataAbnormalColumn.tsfile"); ERRNO error_code = RET_OK; WriteFile file = write_file_new( - "TsFileWriterWriteDataAbnormalColumn_3_100.tsfile", &error_code); + "TsFileWriterWriteDataAbnormalColumn.tsfile", &error_code); TableSchema abnormal_schema; abnormal_schema.table_name = strdup("!@#$%^*()_+-="); @@ -184,7 +185,7 @@ TEST_F(CReleaseTest, TsFileWriterWriteDataAbnormalColumn) { free_write_file(&file); TsFileReader reader = tsfile_reader_new( - "TsFileWriterWriteDataAbnormalColumn_3_100.tsfile", &error_code); + "TsFileWriterWriteDataAbnormalColumn.tsfile", &error_code); ASSERT_EQ(RET_OK, error_code); int i = 0; ResultSet result_set = tsfile_query_table( @@ -212,11 +213,12 @@ TEST_F(CReleaseTest, TsFileWriterWriteDataAbnormalColumn) { free_tablet(&tablet); free_tsfile_result_set(&result_set); tsfile_reader_close(reader); - remove("TsFileWriterWriteDataAbnormalColumn_3_100.tsfile"); + remove("TsFileWriterWriteDataAbnormalColumn.tsfile"); } TEST_F(CReleaseTest, TsFileWriterMultiDataType) { ERRNO error_code = RET_OK; + remove("TsFileWriterMultiDataType.tsfile"); WriteFile file = write_file_new( "TsFileWriterMultiDataType.tsfile", &error_code); ASSERT_EQ(RET_OK, error_code);
