diff --git a/cpp/src/cwrapper/tsfile_cwrapper.cc b/cpp/src/cwrapper/tsfile_cwrapper.cc index 656737dfd..0095dd139 100644 --- a/cpp/src/cwrapper/tsfile_cwrapper.cc +++ b/cpp/src/cwrapper/tsfile_cwrapper.cc @@ -316,7 +316,7 @@ bool tsfile_result_set_next(ResultSet result_set, ERRNO *err_code) { const char *column_name) { \ auto *r = static_cast(result_set); \ std::string column_name_(column_name); \ - return r->get_value(storage::to_lower(column_name_)); \ + return r->get_value(column_name_); \ } TSFILE_RESULT_SET_GET_VALUE_BY_NAME_DEF(bool); @@ -329,7 +329,7 @@ char *tsfile_result_set_get_value_by_name_string(ResultSet result_set, auto *r = static_cast(result_set); std::string column_name_(column_name); common::String *ret = - r->get_value(storage::to_lower(column_name_)); + r->get_value(column_name_); // Caller should free return's char* 's space. char *dup = (char *)malloc(ret->len_ + 1); if (dup) { diff --git a/cpp/src/reader/table_query_executor.cc b/cpp/src/reader/table_query_executor.cc index 6249f9e7f..97913c214 100644 --- a/cpp/src/reader/table_query_executor.cc +++ b/cpp/src/reader/table_query_executor.cc @@ -41,9 +41,13 @@ int TableQueryExecutor::query(const std::string &table_name, ret_qds = nullptr; return ret; } + std::vector std_column_names(columns); + for (auto &column : std_column_names) { + to_lowercase_inplace(column); + } std::shared_ptr column_mapping = std::make_shared(); - for (size_t i = 0; i < columns.size(); ++i) { - column_mapping->add(columns[i], static_cast(i), *table_schema); + for (size_t i = 0; i < std_column_names.size(); ++i) { + column_mapping->add(std_column_names[i], static_cast(i), *table_schema); } std::vector data_types; data_types.reserve(columns.size()); @@ -57,7 +61,7 @@ int TableQueryExecutor::query(const std::string &table_name, // column_mapping.add(*measurement_filter); auto device_task_iterator = std::unique_ptr( - new DeviceTaskIterator(columns, table_root, column_mapping, + new DeviceTaskIterator(std_column_names, table_root, column_mapping, meta_data_querier_, id_filter, table_schema)); std::unique_ptr tsblock_reader; diff --git a/cpp/src/reader/table_result_set.cc b/cpp/src/reader/table_result_set.cc index 23e35aaa0..bbadc44a5 100644 --- a/cpp/src/reader/table_result_set.cc +++ b/cpp/src/reader/table_result_set.cc @@ -80,7 +80,7 @@ int TableResultSet::next(bool& has_next) { } bool TableResultSet::is_null(const std::string& column_name) { - auto iter = index_lookup_.find(to_lower(column_name)); + auto iter = index_lookup_.find(column_name); if (iter == index_lookup_.end()) { return true; } else { diff --git a/cpp/src/reader/tsfile_reader.cc b/cpp/src/reader/tsfile_reader.cc index 162fb6ad2..bf3a2db7e 100644 --- a/cpp/src/reader/tsfile_reader.cc +++ b/cpp/src/reader/tsfile_reader.cc @@ -97,15 +97,11 @@ int TsFileReader::query(const std::string &table_name, if (table_schema == nullptr) { return E_TABLE_NOT_EXIST; } - std::vector columns_names_lowercase(columns_names); - for (auto &column_name : columns_names_lowercase) { - to_lowercase_inplace(column_name); - } std::vector data_types = table_schema->get_data_types(); Filter* time_filter = new TimeBetween(start_time, end_time, false); - ret = table_query_executor_->query(to_lower(table_name), columns_names_lowercase, time_filter, nullptr, nullptr, result_set); + ret = table_query_executor_->query(to_lower(table_name), columns_names, time_filter, nullptr, nullptr, result_set); return ret; } diff --git a/cpp/src/utils/storage_utils.h b/cpp/src/utils/storage_utils.h index f4d596b00..698a73031 100644 --- a/cpp/src/utils/storage_utils.h +++ b/cpp/src/utils/storage_utils.h @@ -19,8 +19,6 @@ #ifndef UTILS_STORAGE_UTILS_H #define UTILS_STORAGE_UTILS_H -#include -#include #include #include "common/datatype/value.h" diff --git a/cpp/test/cwrapper/c_release_test.cc b/cpp/test/cwrapper/c_release_test.cc index bb73fb9d7..0ccb0cdda 100644 --- a/cpp/test/cwrapper/c_release_test.cc +++ b/cpp/test/cwrapper/c_release_test.cc @@ -307,9 +307,9 @@ TEST_F(CReleaseTest, TsFileWriterMultiDataType) { ASSERT_EQ("device1", std::string(str_value)); free(str_value); ASSERT_EQ(value, tsfile_result_set_get_value_by_name_int32_t(result_set, - "int32")); + "INT32")); ASSERT_EQ(value * 100, tsfile_result_set_get_value_by_name_int64_t( - result_set, "int64")); + result_set, "INT64")); ASSERT_EQ(value * 100.0, tsfile_result_set_get_value_by_name_float( result_set, "FLOAT"));