This is an automated email from the ASF dual-hosted git repository. zhangstar333 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 6808910bfad [refactor](column) remove get_family_name interface in column (#43851) 6808910bfad is described below commit 6808910bfadfd7c9925fe0b9d410bd09c6fc4055 Author: zhangstar333 <zhangs...@selectdb.com> AuthorDate: Mon Nov 18 10:07:45 2024 +0800 [refactor](column) remove get_family_name interface in column (#43851) ### What problem does this PR solve? Problem Summary: ``` virtual std::string get_name() const { return get_family_name(); } virtual const char* get_family_name() const = 0; ``` have two same function in column, now remove get_family_name interface --- be/src/vec/columns/column.cpp | 2 +- be/src/vec/columns/column.h | 10 ++-- be/src/vec/columns/column_array.h | 1 - be/src/vec/columns/column_complex.h | 2 +- be/src/vec/columns/column_const.h | 2 - be/src/vec/columns/column_decimal.h | 2 +- be/src/vec/columns/column_dictionary.h | 2 +- be/src/vec/columns/column_fixed_length_object.h | 2 +- be/src/vec/columns/column_map.h | 1 - be/src/vec/columns/column_nothing.h | 2 +- be/src/vec/columns/column_nullable.h | 1 - be/src/vec/columns/column_object.cpp | 6 +-- be/src/vec/columns/column_object.h | 68 ++++++++++--------------- be/src/vec/columns/column_set.h | 2 +- be/src/vec/columns/column_string.h | 2 +- be/src/vec/columns/column_struct.h | 1 - be/src/vec/columns/column_vector.cpp | 5 -- be/src/vec/columns/column_vector.h | 2 +- be/src/vec/columns/predicate_column.h | 2 +- be/src/vec/functions/function_string.h | 2 +- be/src/vec/functions/match.cpp | 11 ++-- 21 files changed, 49 insertions(+), 79 deletions(-) diff --git a/be/src/vec/columns/column.cpp b/be/src/vec/columns/column.cpp index 2760604f0ba..ec135fe65af 100644 --- a/be/src/vec/columns/column.cpp +++ b/be/src/vec/columns/column.cpp @@ -30,7 +30,7 @@ namespace doris::vectorized { std::string IColumn::dump_structure() const { std::stringstream res; - res << get_family_name() << "(size = " << size(); + res << get_name() << "(size = " << size(); ColumnCallback callback = [&](ColumnPtr& subcolumn) { res << ", " << subcolumn->dump_structure(); diff --git a/be/src/vec/columns/column.h b/be/src/vec/columns/column.h index 3eb87a5a426..e0706a131c4 100644 --- a/be/src/vec/columns/column.h +++ b/be/src/vec/columns/column.h @@ -88,10 +88,7 @@ public: using Offsets = PaddedPODArray<Offset>; /// Name of a Column. It is used in info messages. - virtual std::string get_name() const { return get_family_name(); } - - /// Name of a Column kind, without parameters (example: FixedString, Array). - virtual const char* get_family_name() const = 0; + virtual std::string get_name() const = 0; /** If column isn't constant, returns nullptr (or itself). * If column is constant, transforms constant to full column (if column type allows such transform) and return it. @@ -465,8 +462,7 @@ public: * For array/map/struct types, we compare with nested column element and offsets size */ virtual int compare_at(size_t n, size_t m, const IColumn& rhs, int nan_direction_hint) const { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "compare_at for " + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "compare_at for " + get_name()); } /** @@ -488,7 +484,7 @@ public: virtual void get_permutation(bool reverse, size_t limit, int nan_direction_hint, Permutation& res) const { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_permutation for " + std::string(get_family_name())); + "get_permutation for " + get_name()); } /** Copies each element according offsets parameter. diff --git a/be/src/vec/columns/column_array.h b/be/src/vec/columns/column_array.h index 114dbfd02fb..0a36f90ebfd 100644 --- a/be/src/vec/columns/column_array.h +++ b/be/src/vec/columns/column_array.h @@ -119,7 +119,6 @@ public: using ColumnOffsets = ColumnVector<Offset64>; std::string get_name() const override; - const char* get_family_name() const override { return "Array"; } bool is_column_array() const override { return true; } bool is_variable_length() const override { return true; } diff --git a/be/src/vec/columns/column_complex.h b/be/src/vec/columns/column_complex.h index c8c1b78d580..644a82c50fd 100644 --- a/be/src/vec/columns/column_complex.h +++ b/be/src/vec/columns/column_complex.h @@ -126,7 +126,7 @@ public: void resize(size_t n) override { data.resize(n); } - const char* get_family_name() const override { return TypeName<T>::get(); } + std::string get_name() const override { return TypeName<T>::get(); } MutableColumnPtr clone_resized(size_t size) const override; diff --git a/be/src/vec/columns/column_const.h b/be/src/vec/columns/column_const.h index 46b93619172..4536a76388a 100644 --- a/be/src/vec/columns/column_const.h +++ b/be/src/vec/columns/column_const.h @@ -121,8 +121,6 @@ public: std::string get_name() const override { return "Const(" + data->get_name() + ")"; } - const char* get_family_name() const override { return "Const"; } - void resize(size_t new_size) override { s = new_size; } MutableColumnPtr clone_resized(size_t new_size) const override { diff --git a/be/src/vec/columns/column_decimal.h b/be/src/vec/columns/column_decimal.h index bdc8e932ad1..9715f08b7dd 100644 --- a/be/src/vec/columns/column_decimal.h +++ b/be/src/vec/columns/column_decimal.h @@ -102,7 +102,7 @@ private: ColumnDecimal(const ColumnDecimal& src) : data(src.data), scale(src.scale) {} public: - const char* get_family_name() const override { return TypeName<T>::get(); } + std::string get_name() const override { return TypeName<T>::get(); } bool is_numeric() const override { return false; } bool is_column_decimal() const override { return true; } diff --git a/be/src/vec/columns/column_dictionary.h b/be/src/vec/columns/column_dictionary.h index 66a26da80bd..749ead75f0c 100644 --- a/be/src/vec/columns/column_dictionary.h +++ b/be/src/vec/columns/column_dictionary.h @@ -122,7 +122,7 @@ public: void reserve(size_t n) override { _codes.reserve(n); } - const char* get_family_name() const override { return "ColumnDictionary"; } + std::string get_name() const override { return "ColumnDictionary"; } MutableColumnPtr clone_resized(size_t size) const override { DCHECK(size == 0); diff --git a/be/src/vec/columns/column_fixed_length_object.h b/be/src/vec/columns/column_fixed_length_object.h index 1f92816ba04..1c7f63a8359 100644 --- a/be/src/vec/columns/column_fixed_length_object.h +++ b/be/src/vec/columns/column_fixed_length_object.h @@ -49,7 +49,7 @@ private: _data(src._data.begin(), src._data.end()) {} public: - const char* get_family_name() const override { return "ColumnFixedLengthObject"; } + std::string get_name() const override { return "ColumnFixedLengthObject"; } size_t size() const override { return _item_count; } diff --git a/be/src/vec/columns/column_map.h b/be/src/vec/columns/column_map.h index 39746604c24..1bada9b47c2 100644 --- a/be/src/vec/columns/column_map.h +++ b/be/src/vec/columns/column_map.h @@ -77,7 +77,6 @@ public: } std::string get_name() const override; - const char* get_family_name() const override { return "Map"; } void for_each_subcolumn(ColumnCallback callback) override { callback(keys_column); diff --git a/be/src/vec/columns/column_nothing.h b/be/src/vec/columns/column_nothing.h index 79cb779c7d1..c7cc543a390 100644 --- a/be/src/vec/columns/column_nothing.h +++ b/be/src/vec/columns/column_nothing.h @@ -40,7 +40,7 @@ private: void insert(const Field&) override { ++s; } public: - const char* get_family_name() const override { return "Nothing"; } + std::string get_name() const override { return "Nothing"; } MutableColumnPtr clone_dummy(size_t s_) const override { return ColumnNothing::create(s_); } bool structure_equals(const IColumn& rhs) const override { diff --git a/be/src/vec/columns/column_nullable.h b/be/src/vec/columns/column_nullable.h index 0eef017bc63..c271ab68df2 100644 --- a/be/src/vec/columns/column_nullable.h +++ b/be/src/vec/columns/column_nullable.h @@ -147,7 +147,6 @@ public: bool could_shrinked_column() override; bool is_variable_length() const override { return nested_column->is_variable_length(); } - const char* get_family_name() const override { return "Nullable"; } std::string get_name() const override { return "Nullable(" + nested_column->get_name() + ")"; } MutableColumnPtr clone_resized(size_t size) const override; size_t size() const override { diff --git a/be/src/vec/columns/column_object.cpp b/be/src/vec/columns/column_object.cpp index 3d392e2addb..02cf40ab81c 100644 --- a/be/src/vec/columns/column_object.cpp +++ b/be/src/vec/columns/column_object.cpp @@ -1935,7 +1935,7 @@ void ColumnObject::update_crc_with_value(size_t start, size_t end, uint32_t& has std::string ColumnObject::debug_string() const { std::stringstream res; - res << get_family_name() << "(num_row = " << num_rows; + res << get_name() << "(num_row = " << num_rows; for (auto& entry : subcolumns) { if (entry->data.is_finalized()) { res << "[column:" << entry->data.data[0]->dump_structure() @@ -1952,8 +1952,8 @@ Status ColumnObject::sanitize() const { for (const auto& subcolumn : subcolumns) { if (subcolumn->data.is_finalized()) { auto column = subcolumn->data.get_least_common_type()->create_column(); - std::string original = subcolumn->data.get_finalized_column().get_family_name(); - std::string expected = column->get_family_name(); + std::string original = subcolumn->data.get_finalized_column().get_name(); + std::string expected = column->get_name(); if (original != expected) { return Status::InternalError("Incompatible type between {} and {}, debug_info:", original, expected, debug_string()); diff --git a/be/src/vec/columns/column_object.h b/be/src/vec/columns/column_object.h index 564082b0ef4..87fb2ea0b65 100644 --- a/be/src/vec/columns/column_object.h +++ b/be/src/vec/columns/column_object.h @@ -373,14 +373,11 @@ public: std::string get_name() const override { if (is_scalar_variant()) { - return "var_scalar(" + get_root()->get_name() + ")"; + return "variant_scalar(" + get_root()->get_name() + ")"; } return "variant"; } - /// Part of interface - const char* get_family_name() const override { return "Variant"; } - size_t size() const override; MutableColumnPtr clone_resized(size_t new_size) const override; @@ -462,132 +459,121 @@ public: // Not implemented MutableColumnPtr get_shrinked_column() override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_shrinked_column" + std::string(get_family_name())); + "get_shrinked_column" + get_name()); } Int64 get_int(size_t /*n*/) const override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_int" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "get_int" + get_name()); } bool get_bool(size_t /*n*/) const override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_bool" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "get_bool" + get_name()); } void insert_many_fix_len_data(const char* pos, size_t num) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_fix_len_data" + std::string(get_family_name())); + "insert_many_fix_len_data" + get_name()); } void insert_many_dict_data(const int32_t* data_array, size_t start_index, const StringRef* dict, size_t data_num, uint32_t dict_num = 0) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_dict_data" + std::string(get_family_name())); + "insert_many_dict_data" + get_name()); } void insert_many_binary_data(char* data_array, uint32_t* len_array, uint32_t* start_offset_array, size_t num) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_binary_data" + std::string(get_family_name())); + "insert_many_binary_data" + get_name()); } void insert_many_continuous_binary_data(const char* data, const uint32_t* offsets, const size_t num) override { - throw doris::Exception( - ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_continuous_binary_data" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, + "insert_many_continuous_binary_data" + get_name()); } void insert_many_strings(const StringRef* strings, size_t num) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_strings" + std::string(get_family_name())); + "insert_many_strings" + get_name()); } void insert_many_strings_overflow(const StringRef* strings, size_t num, size_t max_length) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_strings_overflow" + std::string(get_family_name())); + "insert_many_strings_overflow" + get_name()); } void insert_many_raw_data(const char* pos, size_t num) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_many_raw_data" + std::string(get_family_name())); + "insert_many_raw_data" + get_name()); } size_t get_max_row_byte_size() const override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_max_row_byte_size" + std::string(get_family_name())); + "get_max_row_byte_size" + get_name()); } void serialize_vec(std::vector<StringRef>& keys, size_t num_rows, size_t max_row_byte_size) const override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "serialize_vec" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "serialize_vec" + get_name()); } void serialize_vec_with_null_map(std::vector<StringRef>& keys, size_t num_rows, const uint8_t* null_map) const override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "serialize_vec_with_null_map" + std::string(get_family_name())); + "serialize_vec_with_null_map" + get_name()); } void deserialize_vec(std::vector<StringRef>& keys, const size_t num_rows) override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "deserialize_vec" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "deserialize_vec" + get_name()); } void deserialize_vec_with_null_map(std::vector<StringRef>& keys, const size_t num_rows, const uint8_t* null_map) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "deserialize_vec_with_null_map" + std::string(get_family_name())); + "deserialize_vec_with_null_map" + get_name()); } Status filter_by_selector(const uint16_t* sel, size_t sel_size, IColumn* col_ptr) const { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "filter_by_selector" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "filter_by_selector" + get_name()); } bool structure_equals(const IColumn&) const override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "structure_equals" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "structure_equals" + get_name()); } StringRef get_raw_data() const override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_raw_data" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "get_raw_data" + get_name()); } size_t size_of_value_if_fixed() const override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "size_of_value_if_fixed" + std::string(get_family_name())); + "size_of_value_if_fixed" + get_name()); } StringRef get_data_at(size_t) const override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "get_data_at" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "get_data_at" + get_name()); } StringRef serialize_value_into_arena(size_t n, Arena& arena, char const*& begin) const override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "serialize_value_into_arena" + std::string(get_family_name())); + "serialize_value_into_arena" + get_name()); } const char* deserialize_and_insert_from_arena(const char* pos) override { - throw doris::Exception( - ErrorCode::NOT_IMPLEMENTED_ERROR, - "deserialize_and_insert_from_arena" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, + "deserialize_and_insert_from_arena" + get_name()); } void insert_data(const char* pos, size_t length) override { - throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "insert_data" + std::string(get_family_name())); + throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, "insert_data" + get_name()); } void replace_column_data(const IColumn&, size_t row, size_t self_row) override { throw doris::Exception(ErrorCode::NOT_IMPLEMENTED_ERROR, - "replace_column_data" + std::string(get_family_name())); + "replace_column_data" + get_name()); } private: diff --git a/be/src/vec/columns/column_set.h b/be/src/vec/columns/column_set.h index 3b330f82284..fb842c2321a 100644 --- a/be/src/vec/columns/column_set.h +++ b/be/src/vec/columns/column_set.h @@ -38,7 +38,7 @@ public: ColumnSet(size_t s_, const ConstSetPtr& data_) : data(data_) { s = s_; } ColumnSet(const ColumnSet&) = default; - const char* get_family_name() const override { return "Set"; } + std::string get_name() const override { return "Set"; } MutableColumnPtr clone_dummy(size_t s_) const override { return ColumnSet::create(s_, data); } ConstSetPtr get_data() const { return data; } diff --git a/be/src/vec/columns/column_string.h b/be/src/vec/columns/column_string.h index 906f62b52aa..c273a00295d 100644 --- a/be/src/vec/columns/column_string.h +++ b/be/src/vec/columns/column_string.h @@ -105,7 +105,7 @@ public: bool is_variable_length() const override { return true; } // used in string ut testd void sanity_check() const; - const char* get_family_name() const override { return "String"; } + std::string get_name() const override { return "String"; } size_t size() const override { return offsets.size(); } diff --git a/be/src/vec/columns/column_struct.h b/be/src/vec/columns/column_struct.h index 8a86330b1db..c6a7dba5935 100644 --- a/be/src/vec/columns/column_struct.h +++ b/be/src/vec/columns/column_struct.h @@ -83,7 +83,6 @@ public: std::string get_name() const override; bool is_column_struct() const override { return true; } - const char* get_family_name() const override { return "Struct"; } MutableColumnPtr clone_empty() const override; MutableColumnPtr clone_resized(size_t size) const override; size_t size() const override { return columns.at(0)->size(); } diff --git a/be/src/vec/columns/column_vector.cpp b/be/src/vec/columns/column_vector.cpp index 3d3aa89243f..0e24446a5cd 100644 --- a/be/src/vec/columns/column_vector.cpp +++ b/be/src/vec/columns/column_vector.cpp @@ -264,11 +264,6 @@ void ColumnVector<T>::get_permutation(bool reverse, size_t limit, int nan_direct } } -template <typename T> -const char* ColumnVector<T>::get_family_name() const { - return TypeName<T>::get(); -} - template <typename T> MutableColumnPtr ColumnVector<T>::clone_resized(size_t size) const { auto res = this->create(); diff --git a/be/src/vec/columns/column_vector.h b/be/src/vec/columns/column_vector.h index df99e519f2a..b0545b5bbb7 100644 --- a/be/src/vec/columns/column_vector.h +++ b/be/src/vec/columns/column_vector.h @@ -337,7 +337,7 @@ public: void resize(size_t n) override { data.resize(n); } - const char* get_family_name() const override; + std::string get_name() const override { return TypeName<T>::get(); } MutableColumnPtr clone_resized(size_t size) const override; diff --git a/be/src/vec/columns/predicate_column.h b/be/src/vec/columns/predicate_column.h index fccebc783d4..edd7b01976f 100644 --- a/be/src/vec/columns/predicate_column.h +++ b/be/src/vec/columns/predicate_column.h @@ -328,7 +328,7 @@ public: void reserve(size_t n) override { data.reserve(n); } - const char* get_family_name() const override { return TypeName<T>::get(); } + std::string get_name() const override { return TypeName<T>::get(); } MutableColumnPtr clone_resized(size_t size) const override { DCHECK(size == 0); diff --git a/be/src/vec/functions/function_string.h b/be/src/vec/functions/function_string.h index 6143e61f86f..40d0ce9167c 100644 --- a/be/src/vec/functions/function_string.h +++ b/be/src/vec/functions/function_string.h @@ -1387,7 +1387,7 @@ public: fmt::format("unsupported nested array of type {} for function {}", is_column_nullable(array_column.get_data()) ? array_column.get_data().get_name() - : array_column.get_data().get_family_name(), + : array_column.get_data().get_name(), get_name())); } // Concat string in array diff --git a/be/src/vec/functions/match.cpp b/be/src/vec/functions/match.cpp index 3d5e8ef372c..d6ed3ca944a 100644 --- a/be/src/vec/functions/match.cpp +++ b/be/src/vec/functions/match.cpp @@ -109,12 +109,11 @@ Status FunctionMatchBase::execute_impl(FunctionContext* context, Block& block, if (source_col->is_column_array()) { array_col = check_and_get_column<ColumnArray>(source_col.get()); if (array_col && !array_col->get_data().is_column_string()) { - return Status::NotSupported( - fmt::format("unsupported nested array of type {} for function {}", - is_column_nullable(array_col->get_data()) - ? array_col->get_data().get_name() - : array_col->get_data().get_family_name(), - get_name())); + return Status::NotSupported(fmt::format( + "unsupported nested array of type {} for function {}", + is_column_nullable(array_col->get_data()) ? array_col->get_data().get_name() + : array_col->get_data().get_name(), + get_name())); } if (is_column_nullable(array_col->get_data())) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org