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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]