This is an automated email from the ASF dual-hosted git repository.

panxiaolei 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 cfe01ed808f [Chore](function) remove 
is_value_unambiguously_represented_in_contiguous_memory_region (#55373)
cfe01ed808f is described below

commit cfe01ed808f97ab44f20fa95ff221fb6c88a8a10
Author: Pxl <[email protected]>
AuthorDate: Fri Aug 29 10:14:12 2025 +0800

    [Chore](function) remove 
is_value_unambiguously_represented_in_contiguous_memory_region (#55373)
    
    remove is_value_unambiguously_represented_in_contiguous_memory_region
---
 .../aggregate_function_group_array_intersect.cpp   | 41 ++++------------------
 .../aggregate_function_group_array_intersect.h     | 25 ++++---------
 be/src/vec/data_types/data_type.h                  | 11 ------
 be/src/vec/data_types/data_type_array.h            |  4 ---
 be/src/vec/data_types/data_type_bitmap.h           |  4 ---
 be/src/vec/data_types/data_type_decimal.h          |  3 --
 be/src/vec/data_types/data_type_hll.h              |  4 ---
 be/src/vec/data_types/data_type_jsonb.h            |  3 --
 be/src/vec/data_types/data_type_map.h              |  4 ---
 be/src/vec/data_types/data_type_nullable.h         |  4 ---
 be/src/vec/data_types/data_type_number_base.h      |  3 --
 be/src/vec/data_types/data_type_quantilestate.h    |  4 ---
 be/src/vec/data_types/data_type_string.h           |  3 --
 be/test/vec/data_types/common_data_type_test.h     |  5 +--
 .../vec/data_types/data_type_agg_state_test.cpp    |  3 +-
 be/test/vec/data_types/data_type_array_test.cpp    |  5 +--
 be/test/vec/data_types/data_type_bitmap_test.cpp   |  3 +-
 .../vec/data_types/data_type_datetime_v1_test.cpp  |  1 -
 be/test/vec/data_types/data_type_decimal_test.cpp  |  2 --
 .../data_type_fixed_length_object_test.cpp         |  3 +-
 be/test/vec/data_types/data_type_hll_test.cpp      |  3 +-
 be/test/vec/data_types/data_type_ip_test.cpp       | 35 +++++++++---------
 be/test/vec/data_types/data_type_jsonb_test.cpp    |  2 --
 be/test/vec/data_types/data_type_number_test.cpp   |  2 --
 .../data_types/data_type_quantile_state_test.cpp   |  3 +-
 be/test/vec/data_types/data_type_string_test.cpp   |  2 --
 be/test/vec/data_types/data_type_time_v2_test.cpp  |  1 -
 27 files changed, 36 insertions(+), 147 deletions(-)

diff --git 
a/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.cpp 
b/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.cpp
index 996c3a0c903..697e5776824 100644
--- 
a/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.cpp
+++ 
b/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.cpp
@@ -26,48 +26,20 @@
 namespace doris::vectorized {
 #include "common/compile_check_begin.h"
 
-IAggregateFunction* create_with_extra_types(const DataTypePtr& nested_type,
-                                            const DataTypes& argument_types,
-                                            const AggregateFunctionAttr& attr) 
{
-    if (nested_type->get_primitive_type() == PrimitiveType::TYPE_DATE ||
-        nested_type->get_primitive_type() == PrimitiveType::TYPE_DATETIME) {
-        throw Exception(ErrorCode::INVALID_ARGUMENT,
-                        "We don't support array<date> or array<datetime> for "
-                        "group_array_intersect(), please use array<datev2> or 
array<datetimev2>.");
-    } else if (nested_type->get_primitive_type() == 
PrimitiveType::TYPE_DATEV2) {
-        return new 
AggregateFunctionGroupArrayIntersect<PrimitiveType::TYPE_DATEV2>(argument_types);
-    } else if (nested_type->get_primitive_type() == 
PrimitiveType::TYPE_DATETIMEV2) {
-        return new 
AggregateFunctionGroupArrayIntersect<PrimitiveType::TYPE_DATETIMEV2>(
-                argument_types);
-    } else {
-        /// Check that we can use plain version of 
AggregateFunctionGroupArrayIntersectGeneric
-        if 
(nested_type->is_value_unambiguously_represented_in_contiguous_memory_region())
-            return new 
AggregateFunctionGroupArrayIntersectGeneric<true>(argument_types);
-        else
-            return new 
AggregateFunctionGroupArrayIntersectGeneric<false>(argument_types);
-    }
-}
-
 inline AggregateFunctionPtr 
create_aggregate_function_group_array_intersect_impl(
         const std::string& name, const DataTypes& argument_types, const bool 
result_is_nullable,
         const AggregateFunctionAttr& attr) {
     const auto& nested_type = remove_nullable(
             dynamic_cast<const 
DataTypeArray&>(*(argument_types[0])).get_nested_type());
     AggregateFunctionPtr res = creator_with_type_list<
-            TYPE_TINYINT, TYPE_SMALLINT, TYPE_INT, TYPE_BIGINT,
-            
TYPE_LARGEINT>::create<AggregateFunctionGroupArrayIntersect>(argument_types,
-                                                                         
result_is_nullable, attr);
-
-    if (!res) {
-        res = AggregateFunctionPtr(create_with_extra_types(nested_type, 
argument_types, attr));
-    }
+            TYPE_TINYINT, TYPE_SMALLINT, TYPE_INT, TYPE_BIGINT, TYPE_LARGEINT, 
TYPE_DATEV2,
+            
TYPE_DATETIMEV2>::create<AggregateFunctionGroupArrayIntersect>(argument_types,
+                                                                           
result_is_nullable,
+                                                                           
attr);
 
     if (!res) {
-        throw Exception(ErrorCode::INVALID_ARGUMENT,
-                        "Illegal type {} of argument for aggregate function 
{}",
-                        argument_types[0]->get_name(), name);
+        res = AggregateFunctionPtr(new 
AggregateFunctionGroupArrayIntersectGeneric(argument_types));
     }
-
     return res;
 }
 
@@ -77,11 +49,12 @@ AggregateFunctionPtr 
create_aggregate_function_group_array_intersect(
     assert_arity_range(name, argument_types, 1, 1);
     const DataTypePtr& argument_type = remove_nullable(argument_types[0]);
 
-    if (argument_type->get_primitive_type() != TYPE_ARRAY)
+    if (argument_type->get_primitive_type() != TYPE_ARRAY) {
         throw Exception(ErrorCode::INVALID_ARGUMENT,
                         "Aggregate function groupArrayIntersect accepts only 
array type argument. "
                         "Provided argument type: " +
                                 argument_type->get_name());
+    }
     return create_aggregate_function_group_array_intersect_impl(name, 
{argument_type},
                                                                 
result_is_nullable, attr);
 }
diff --git 
a/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.h 
b/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.h
index 2303e0b253b..48e4567af79 100644
--- a/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.h
+++ b/be/src/vec/aggregate_functions/aggregate_function_group_array_intersect.h
@@ -323,20 +323,17 @@ struct AggregateFunctionGroupArrayIntersectGenericData {
 /** Template parameter with true value should be used for columns that store 
their elements in memory continuously.
  *  For such columns group_array_intersect() can be implemented more 
efficiently (especially for small numeric arrays).
  */
-template <bool is_plain_column = false>
 class AggregateFunctionGroupArrayIntersectGeneric
-        : public IAggregateFunctionDataHelper<
-                  AggregateFunctionGroupArrayIntersectGenericData,
-                  
AggregateFunctionGroupArrayIntersectGeneric<is_plain_column>> {
+        : public 
IAggregateFunctionDataHelper<AggregateFunctionGroupArrayIntersectGenericData,
+                                              
AggregateFunctionGroupArrayIntersectGeneric> {
 private:
     using State = AggregateFunctionGroupArrayIntersectGenericData;
     DataTypePtr input_data_type;
 
 public:
     AggregateFunctionGroupArrayIntersectGeneric(const DataTypes& 
input_data_type_)
-            : IAggregateFunctionDataHelper<
-                      AggregateFunctionGroupArrayIntersectGenericData,
-                      
AggregateFunctionGroupArrayIntersectGeneric<is_plain_column>>(
+            : 
IAggregateFunctionDataHelper<AggregateFunctionGroupArrayIntersectGenericData,
+                                           
AggregateFunctionGroupArrayIntersectGeneric>(
                       input_data_type_),
               input_data_type(input_data_type_[0]) {}
 
@@ -378,13 +375,7 @@ public:
             const bool is_null_element =
                     is_column_data_nullable && col_null->is_null_at(offset + 
i);
 
-            StringRef src = StringRef();
-            if constexpr (is_plain_column) {
-                src = nested_column_data->get_data_at(offset + i);
-            } else {
-                const char* begin = nullptr;
-                src = nested_column_data->serialize_value_into_arena(offset + 
i, arena, begin);
-            }
+            StringRef src = nested_column_data->get_data_at(offset + i);
 
             src.data = is_null_element ? nullptr : arena.insert(src.data, 
src.size);
             return src;
@@ -506,11 +497,7 @@ public:
         HybridSetBase::IteratorBase* it = set->begin();
         while (it->has_next()) {
             const auto* value = reinterpret_cast<const 
StringRef*>(it->get_value());
-            if constexpr (is_plain_column) {
-                data_to.insert_data(value->data, value->size);
-            } else {
-                std::ignore = 
data_to.deserialize_and_insert_from_arena(value->data);
-            }
+            data_to.insert_data(value->data, value->size);
             it->next();
         }
     }
diff --git a/be/src/vec/data_types/data_type.h 
b/be/src/vec/data_types/data_type.h
index 7ff811b7de6..4cb652089ab 100644
--- a/be/src/vec/data_types/data_type.h
+++ b/be/src/vec/data_types/data_type.h
@@ -170,17 +170,6 @@ public:
       */
     virtual bool is_value_represented_by_number() const { return false; }
 
-    /** Values are unambiguously identified by contents of contiguous memory 
region,
-      *  that can be obtained by IColumn::get_data_at method.
-      * Examples: numbers, Date, DateTime, String, FixedString,
-      *  and Arrays of numbers, Date, DateTime, FixedString, Enum, but not 
String.
-      *  (because Array(String) values became ambiguous if you concatenate 
Strings).
-      * Counterexamples: Nullable, Tuple.
-      */
-    virtual bool 
is_value_unambiguously_represented_in_contiguous_memory_region() const {
-        return false;
-    }
-
     /** Example: numbers, Date, DateTime, FixedString, Enum... Nullable and 
Tuple of such types.
       * Counterexamples: String, Array.
       * It's Ok to return false for AggregateFunction despite the fact that 
some of them have fixed size state.
diff --git a/be/src/vec/data_types/data_type_array.h 
b/be/src/vec/data_types/data_type_array.h
index 026882796db..9cd35bfac99 100644
--- a/be/src/vec/data_types/data_type_array.h
+++ b/be/src/vec/data_types/data_type_array.h
@@ -88,10 +88,6 @@ public:
     }
     bool is_comparable() const override { return nested->is_comparable(); }
 
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return 
nested->is_value_unambiguously_represented_in_contiguous_memory_region();
-    }
-
     const DataTypePtr& get_nested_type() const { return nested; }
 
     /// 1 for plain array, 2 for array of arrays and so on.
diff --git a/be/src/vec/data_types/data_type_bitmap.h 
b/be/src/vec/data_types/data_type_bitmap.h
index 12e1a158fee..deb6e2f09a0 100644
--- a/be/src/vec/data_types/data_type_bitmap.h
+++ b/be/src/vec/data_types/data_type_bitmap.h
@@ -70,10 +70,6 @@ public:
     bool should_align_right_in_pretty_formats() const override { return false; 
}
     bool text_can_contain_only_valid_utf8() const override { return true; }
     bool is_comparable() const override { return false; }
-    // TODO:
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
 
     bool equals(const IDataType& rhs) const override { return typeid(rhs) == 
typeid(*this); }
 
diff --git a/be/src/vec/data_types/data_type_decimal.h 
b/be/src/vec/data_types/data_type_decimal.h
index b6a11897deb..c41f484f9b6 100644
--- a/be/src/vec/data_types/data_type_decimal.h
+++ b/be/src/vec/data_types/data_type_decimal.h
@@ -225,9 +225,6 @@ public:
     bool text_can_contain_only_valid_utf8() const override { return true; }
     bool is_comparable() const override { return true; }
     bool is_value_represented_by_number() const override { return true; }
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
     bool have_maximum_size_of_value() const override { return true; }
     size_t get_size_of_value_in_memory() const override { return 
sizeof(FieldType); }
 
diff --git a/be/src/vec/data_types/data_type_hll.h 
b/be/src/vec/data_types/data_type_hll.h
index ac0f8b17a2b..0d3f8d3ce1b 100644
--- a/be/src/vec/data_types/data_type_hll.h
+++ b/be/src/vec/data_types/data_type_hll.h
@@ -70,10 +70,6 @@ public:
     bool should_align_right_in_pretty_formats() const override { return false; 
}
     bool text_can_contain_only_valid_utf8() const override { return true; }
     bool is_comparable() const override { return false; }
-    // TODO:
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
 
     bool equals(const IDataType& rhs) const override { return typeid(rhs) == 
typeid(*this); }
 
diff --git a/be/src/vec/data_types/data_type_jsonb.h 
b/be/src/vec/data_types/data_type_jsonb.h
index fadcd719047..c1d3940d54b 100644
--- a/be/src/vec/data_types/data_type_jsonb.h
+++ b/be/src/vec/data_types/data_type_jsonb.h
@@ -75,9 +75,6 @@ public:
 
     bool have_subtypes() const override { return false; }
     bool is_comparable() const override { return false; }
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
     bool can_be_inside_low_cardinality() const override { return true; }
     std::string to_string(const IColumn& column, size_t row_num) const 
override;
     void to_string(const IColumn& column, size_t row_num, BufferWritable& 
ostr) const override;
diff --git a/be/src/vec/data_types/data_type_map.h 
b/be/src/vec/data_types/data_type_map.h
index 0c99dab8b3b..d47629fe975 100644
--- a/be/src/vec/data_types/data_type_map.h
+++ b/be/src/vec/data_types/data_type_map.h
@@ -80,10 +80,6 @@ public:
     bool is_comparable() const override {
         return key_type->is_comparable() && value_type->is_comparable();
     }
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
-
     const DataTypePtr& get_key_type() const { return key_type; }
     const DataTypePtr& get_value_type() const { return value_type; }
 
diff --git a/be/src/vec/data_types/data_type_nullable.h 
b/be/src/vec/data_types/data_type_nullable.h
index 53d359008a6..c5246e81e9c 100644
--- a/be/src/vec/data_types/data_type_nullable.h
+++ b/be/src/vec/data_types/data_type_nullable.h
@@ -87,10 +87,6 @@ public:
 
     bool equals(const IDataType& rhs) const override;
 
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return 
nested_data_type->is_value_unambiguously_represented_in_contiguous_memory_region();
-    }
-
     bool have_subtypes() const override { return true; }
     bool should_align_right_in_pretty_formats() const override {
         return nested_data_type->should_align_right_in_pretty_formats();
diff --git a/be/src/vec/data_types/data_type_number_base.h 
b/be/src/vec/data_types/data_type_number_base.h
index ffab211b8bc..2d2c32acdee 100644
--- a/be/src/vec/data_types/data_type_number_base.h
+++ b/be/src/vec/data_types/data_type_number_base.h
@@ -132,9 +132,6 @@ public:
     bool text_can_contain_only_valid_utf8() const override { return true; }
     bool is_comparable() const override { return true; }
     bool is_value_represented_by_number() const override { return true; }
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
     bool have_maximum_size_of_value() const override { return true; }
     size_t get_size_of_value_in_memory() const override {
         return sizeof(typename PrimitiveTypeTraits<T>::ColumnItemType);
diff --git a/be/src/vec/data_types/data_type_quantilestate.h 
b/be/src/vec/data_types/data_type_quantilestate.h
index 249b2d3d0eb..e7cac2548ba 100644
--- a/be/src/vec/data_types/data_type_quantilestate.h
+++ b/be/src/vec/data_types/data_type_quantilestate.h
@@ -66,10 +66,6 @@ public:
     bool should_align_right_in_pretty_formats() const override { return false; 
}
     bool text_can_contain_only_valid_utf8() const override { return true; }
     bool is_comparable() const override { return false; }
-    // TODO:
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
 
     bool equals(const IDataType& rhs) const override { return typeid(rhs) == 
typeid(*this); }
 
diff --git a/be/src/vec/data_types/data_type_string.h 
b/be/src/vec/data_types/data_type_string.h
index 1ac21fd1eaf..392a928573f 100644
--- a/be/src/vec/data_types/data_type_string.h
+++ b/be/src/vec/data_types/data_type_string.h
@@ -82,9 +82,6 @@ public:
 
     bool have_subtypes() const override { return false; }
     bool is_comparable() const override { return true; }
-    bool is_value_unambiguously_represented_in_contiguous_memory_region() 
const override {
-        return true;
-    }
     bool can_be_inside_low_cardinality() const override { return true; }
     std::string to_string(const IColumn& column, size_t row_num) const 
override;
     void to_string(const IColumn& column, size_t row_num, BufferWritable& 
ostr) const override;
diff --git a/be/test/vec/data_types/common_data_type_test.h 
b/be/test/vec/data_types/common_data_type_test.h
index ce6c61ec91f..5920f7ebb43 100644
--- a/be/test/vec/data_types/common_data_type_test.h
+++ b/be/test/vec/data_types/common_data_type_test.h
@@ -41,7 +41,7 @@
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
 //         get_field
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region, 
is_value_unambiguously_represented_in_fixed_size_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_fixed_size_contiguous_memory_region
 // 2. datatype creation with column: create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size),  get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -115,7 +115,6 @@ public:
         bool is_value_represented_by_number = false;
         PColumnMeta* pColumnMeta = nullptr;
         DataTypeSerDeSPtr serde = nullptr;
-        bool is_value_unambiguously_represented_in_contiguous_memory_region = 
false;
         Field default_field;
     };
     void SetUp() override {}
@@ -134,8 +133,6 @@ public:
         ASSERT_EQ(data_type->text_can_contain_only_valid_utf8(),
                   meta_info.text_can_contain_only_valid_utf8);
         ASSERT_EQ(data_type->have_maximum_size_of_value(), 
meta_info.have_maximum_size_of_value);
-        
ASSERT_EQ(data_type->is_value_unambiguously_represented_in_contiguous_memory_region(),
-                  
meta_info.is_value_unambiguously_represented_in_contiguous_memory_region);
         if (is_decimal(data_type->get_primitive_type()) || 
data_type->is_nullable() ||
             data_type->get_primitive_type() == TYPE_STRUCT ||
             data_type->get_primitive_type() == INVALID_TYPE ||
diff --git a/be/test/vec/data_types/data_type_agg_state_test.cpp 
b/be/test/vec/data_types/data_type_agg_state_test.cpp
index 0897a333e16..4616d00bb06 100644
--- a/be/test/vec/data_types/data_type_agg_state_test.cpp
+++ b/be/test/vec/data_types/data_type_agg_state_test.cpp
@@ -45,7 +45,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -91,7 +91,6 @@ TEST_P(DataTypeAggStateTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = Field::create_field<TYPE_STRING>(String()),
     };
     helper->meta_info_assert(datatype_agg_state_count, 
agg_state_meta_info_to_assert);
diff --git a/be/test/vec/data_types/data_type_array_test.cpp 
b/be/test/vec/data_types/data_type_array_test.cpp
index 089d3d64620..4e86298ee43 100644
--- a/be/test/vec/data_types/data_type_array_test.cpp
+++ b/be/test/vec/data_types/data_type_array_test.cpp
@@ -46,7 +46,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -358,9 +358,6 @@ TEST_F(DataTypeArrayTest, MetaInfoTest) {
                 .is_null_literal = false,
                 .is_value_represented_by_number = false,
                 .pColumnMeta = col_meta.get(),
-                
.is_value_unambiguously_represented_in_contiguous_memory_region =
-                        nested_type
-                                
->is_value_unambiguously_represented_in_contiguous_memory_region(),
                 .default_field = Field::create_field<TYPE_ARRAY>(a),
         };
         DataTypePtr arr = remove_nullable(type);
diff --git a/be/test/vec/data_types/data_type_bitmap_test.cpp 
b/be/test/vec/data_types/data_type_bitmap_test.cpp
index a05af25d975..c5e0dfd26c9 100644
--- a/be/test/vec/data_types/data_type_bitmap_test.cpp
+++ b/be/test/vec/data_types/data_type_bitmap_test.cpp
@@ -41,7 +41,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -82,7 +82,6 @@ TEST_P(DataTypeBitMapTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = 
Field::create_field<TYPE_BITMAP>(BitmapValue::empty_bitmap()),
     };
     helper->meta_info_assert(dt_bitmap, bitmap_meta_info_to_assert);
diff --git a/be/test/vec/data_types/data_type_datetime_v1_test.cpp 
b/be/test/vec/data_types/data_type_datetime_v1_test.cpp
index d7470bb7311..726d4c82b94 100644
--- a/be/test/vec/data_types/data_type_datetime_v1_test.cpp
+++ b/be/test/vec/data_types/data_type_datetime_v1_test.cpp
@@ -82,7 +82,6 @@ TEST_F(DataTypeDateTimeV1Test, simple_func_test) {
         EXPECT_TRUE(dt.text_can_contain_only_valid_utf8());
         EXPECT_TRUE(dt.is_comparable());
         EXPECT_TRUE(dt.is_value_represented_by_number());
-        
EXPECT_TRUE(dt.is_value_unambiguously_represented_in_contiguous_memory_region());
         EXPECT_TRUE(dt.have_maximum_size_of_value());
         EXPECT_EQ(dt.get_size_of_value_in_memory(), sizeof(FieldType));
         EXPECT_TRUE(dt.can_be_inside_low_cardinality());
diff --git a/be/test/vec/data_types/data_type_decimal_test.cpp 
b/be/test/vec/data_types/data_type_decimal_test.cpp
index 8678e2600b2..d245110dc7d 100644
--- a/be/test/vec/data_types/data_type_decimal_test.cpp
+++ b/be/test/vec/data_types/data_type_decimal_test.cpp
@@ -210,7 +210,6 @@ TEST_F(DataTypeDecimalTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = true,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = Field::create_field<TYPE_DECIMAL32>(
                     DecimalField<Decimal32>(0, tmp_dt->get_scale())),
     };
@@ -259,7 +258,6 @@ TEST_F(DataTypeDecimalTest, simple_func_test) {
         EXPECT_TRUE(dt.text_can_contain_only_valid_utf8());
         EXPECT_TRUE(dt.is_comparable());
         EXPECT_TRUE(dt.is_value_represented_by_number());
-        
EXPECT_TRUE(dt.is_value_unambiguously_represented_in_contiguous_memory_region());
         EXPECT_TRUE(dt.have_maximum_size_of_value());
         EXPECT_EQ(dt.get_size_of_value_in_memory(), sizeof(FieldType));
         EXPECT_FALSE(dt.can_be_inside_low_cardinality());
diff --git a/be/test/vec/data_types/data_type_fixed_length_object_test.cpp 
b/be/test/vec/data_types/data_type_fixed_length_object_test.cpp
index d4ea17a3314..7951baf9dce 100644
--- a/be/test/vec/data_types/data_type_fixed_length_object_test.cpp
+++ b/be/test/vec/data_types/data_type_fixed_length_object_test.cpp
@@ -42,7 +42,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -82,7 +82,6 @@ TEST_P(DataTypeFixedLengthObjectTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
false,
             .default_field = Field::create_field<TYPE_STRING>(String()),
     };
     helper->meta_info_assert(datatype_fixed_length, 
bitmap_meta_info_to_assert);
diff --git a/be/test/vec/data_types/data_type_hll_test.cpp 
b/be/test/vec/data_types/data_type_hll_test.cpp
index 53fc4ffbb63..a08e1027435 100644
--- a/be/test/vec/data_types/data_type_hll_test.cpp
+++ b/be/test/vec/data_types/data_type_hll_test.cpp
@@ -41,7 +41,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -83,7 +83,6 @@ TEST_P(DataTypeHLLTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = 
Field::create_field<TYPE_HLL>(HyperLogLog::empty()),
     };
     helper->meta_info_assert(dt_hll, hll_meta_info_to_assert);
diff --git a/be/test/vec/data_types/data_type_ip_test.cpp 
b/be/test/vec/data_types/data_type_ip_test.cpp
index aa3c3388944..6322b6d813d 100644
--- a/be/test/vec/data_types/data_type_ip_test.cpp
+++ b/be/test/vec/data_types/data_type_ip_test.cpp
@@ -39,7 +39,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to), from_string (ReadBuffer &rb, 
IColumn *column)
@@ -90,30 +90,27 @@ TEST_F(DataTypeIPTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = true,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = Field::create_field<TYPE_IPV4>(IPv4(0)),
     };
     auto ipv6_type_descriptor =
             
DataTypeFactory::instance().create_data_type(PrimitiveType::TYPE_IPV6, false);
     auto col_meta6 = std::make_shared<PColumnMeta>();
     col_meta6->set_type(PGenericType_TypeId_IPV6);
-    DataTypeMetaInfo ipv6_meta_info = {
-            .type_id = PrimitiveType::TYPE_IPV6,
-            .type_as_type_descriptor = ipv6_type_descriptor,
-            .family_name = "IPv6",
-            .has_subtypes = false,
-            .storage_field_type = doris::FieldType::OLAP_FIELD_TYPE_IPV6,
-            .should_align_right_in_pretty_formats = true,
-            .text_can_contain_only_valid_utf8 = true,
-            .have_maximum_size_of_value = true,
-            .size_of_value_in_memory = sizeof(IPv6),
-            .precision = size_t(-1),
-            .scale = size_t(-1),
-            .is_null_literal = false,
-            .is_value_represented_by_number = true,
-            .pColumnMeta = col_meta6.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
-            .default_field = Field::create_field<TYPE_IPV6>(IPv6(0))};
+    DataTypeMetaInfo ipv6_meta_info = {.type_id = PrimitiveType::TYPE_IPV6,
+                                       .type_as_type_descriptor = 
ipv6_type_descriptor,
+                                       .family_name = "IPv6",
+                                       .has_subtypes = false,
+                                       .storage_field_type = 
doris::FieldType::OLAP_FIELD_TYPE_IPV6,
+                                       .should_align_right_in_pretty_formats = 
true,
+                                       .text_can_contain_only_valid_utf8 = 
true,
+                                       .have_maximum_size_of_value = true,
+                                       .size_of_value_in_memory = sizeof(IPv6),
+                                       .precision = size_t(-1),
+                                       .scale = size_t(-1),
+                                       .is_null_literal = false,
+                                       .is_value_represented_by_number = true,
+                                       .pColumnMeta = col_meta6.get(),
+                                       .default_field = 
Field::create_field<TYPE_IPV6>(IPv6(0))};
     meta_info_assert(dt_ipv4, ipv4_meta_info_to_assert);
     meta_info_assert(dt_ipv6, ipv6_meta_info);
 }
diff --git a/be/test/vec/data_types/data_type_jsonb_test.cpp 
b/be/test/vec/data_types/data_type_jsonb_test.cpp
index 33ae72af807..aa86a28d5b3 100644
--- a/be/test/vec/data_types/data_type_jsonb_test.cpp
+++ b/be/test/vec/data_types/data_type_jsonb_test.cpp
@@ -99,7 +99,6 @@ TEST_F(DataTypeJsonbTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = Field::create_field<TYPE_JSONB>(JsonbField())};
     auto tmp_dt = 
DataTypeFactory::instance().create_data_type(PrimitiveType::TYPE_JSONB, false);
     helper->meta_info_assert(tmp_dt, meta_info_to_assert);
@@ -264,7 +263,6 @@ TEST_F(DataTypeJsonbTest, simple_func_test) {
         EXPECT_FALSE(dt.have_subtypes());
         EXPECT_FALSE(dt.should_align_right_in_pretty_formats());
         EXPECT_FALSE(dt.is_comparable());
-        
EXPECT_TRUE(dt.is_value_unambiguously_represented_in_contiguous_memory_region());
         EXPECT_FALSE(dt.have_maximum_size_of_value());
         EXPECT_TRUE(dt.can_be_inside_low_cardinality());
 
diff --git a/be/test/vec/data_types/data_type_number_test.cpp 
b/be/test/vec/data_types/data_type_number_test.cpp
index b76229c1c65..c6f8da974d9 100644
--- a/be/test/vec/data_types/data_type_number_test.cpp
+++ b/be/test/vec/data_types/data_type_number_test.cpp
@@ -128,7 +128,6 @@ TEST_F(DataTypeNumberTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = true,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = Field::create_field<TYPE_TINYINT>((Int8)0),
     };
     auto tmp_dt = 
DataTypeFactory::instance().create_data_type(PrimitiveType::TYPE_TINYINT, 
false);
@@ -444,7 +443,6 @@ TEST_F(DataTypeNumberTest, simple_func_test) {
         EXPECT_TRUE(dt.text_can_contain_only_valid_utf8());
         EXPECT_TRUE(dt.is_comparable());
         EXPECT_TRUE(dt.is_value_represented_by_number());
-        
EXPECT_TRUE(dt.is_value_unambiguously_represented_in_contiguous_memory_region());
         EXPECT_TRUE(dt.have_maximum_size_of_value());
         EXPECT_EQ(dt.get_size_of_value_in_memory(), sizeof(FieldType));
         EXPECT_TRUE(dt.can_be_inside_low_cardinality());
diff --git a/be/test/vec/data_types/data_type_quantile_state_test.cpp 
b/be/test/vec/data_types/data_type_quantile_state_test.cpp
index b89e87f37e6..342e3a5852a 100644
--- a/be/test/vec/data_types/data_type_quantile_state_test.cpp
+++ b/be/test/vec/data_types/data_type_quantile_state_test.cpp
@@ -41,7 +41,7 @@
 //         text_can_contain_only_valid_utf8
 //         have_maximum_size_of_value, get_maximum_size_of_value_in_memory, 
get_size_of_value_in_memory
 //         get_precision, get_scale
-//         is_null_literal, is_value_represented_by_number, 
is_value_unambiguously_represented_in_contiguous_memory_region
+//         is_null_literal, is_value_represented_by_number
 // 2. datatype creation with column : create_column, create_column_const 
(size_t size, const Field &field), create_column_const_with_default_value 
(size_t size), get_uncompressed_serialized_bytes (const IColumn &column, int 
be_exec_version)
 // 3. serde related: get_serde (int nesting_level=1)
 //          to_string (const IColumn &column, size_t row_num, BufferWritable 
&ostr), to_string (const IColumn &column, size_t row_num), to_string_batch 
(const IColumn &column, ColumnString &column_to)
@@ -83,7 +83,6 @@ TEST_P(DataTypeQuantileStateTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = 
Field::create_field<TYPE_QUANTILE_STATE>(QuantileState()),
     };
     helper->meta_info_assert(datatype_quantile_state, 
quantile_state_meta_info_to_assert);
diff --git a/be/test/vec/data_types/data_type_string_test.cpp 
b/be/test/vec/data_types/data_type_string_test.cpp
index 8d03c98dc87..26470e4e6d3 100644
--- a/be/test/vec/data_types/data_type_string_test.cpp
+++ b/be/test/vec/data_types/data_type_string_test.cpp
@@ -101,7 +101,6 @@ TEST_F(DataTypeStringTest, MetaInfoTest) {
             .is_null_literal = false,
             .is_value_represented_by_number = false,
             .pColumnMeta = col_meta.get(),
-            .is_value_unambiguously_represented_in_contiguous_memory_region = 
true,
             .default_field = Field::create_field<TYPE_STRING>(""),
     };
     auto tmp_dt = 
DataTypeFactory::instance().create_data_type(PrimitiveType::TYPE_STRING, false);
@@ -266,7 +265,6 @@ TEST_F(DataTypeStringTest, simple_func_test) {
         EXPECT_FALSE(dt.have_subtypes());
         EXPECT_FALSE(dt.should_align_right_in_pretty_formats());
         EXPECT_TRUE(dt.is_comparable());
-        
EXPECT_TRUE(dt.is_value_unambiguously_represented_in_contiguous_memory_region());
         EXPECT_FALSE(dt.have_maximum_size_of_value());
         EXPECT_TRUE(dt.can_be_inside_low_cardinality());
 
diff --git a/be/test/vec/data_types/data_type_time_v2_test.cpp 
b/be/test/vec/data_types/data_type_time_v2_test.cpp
index 4ca5b7dd61e..45497ba8d6b 100644
--- a/be/test/vec/data_types/data_type_time_v2_test.cpp
+++ b/be/test/vec/data_types/data_type_time_v2_test.cpp
@@ -108,7 +108,6 @@ TEST_F(DataTypeDateTimeV2Test, simple_func_test) {
         EXPECT_TRUE(dt.text_can_contain_only_valid_utf8());
         EXPECT_TRUE(dt.is_comparable());
         EXPECT_TRUE(dt.is_value_represented_by_number());
-        
EXPECT_TRUE(dt.is_value_unambiguously_represented_in_contiguous_memory_region());
         EXPECT_TRUE(dt.have_maximum_size_of_value());
         EXPECT_EQ(dt.get_size_of_value_in_memory(), sizeof(FieldType));
         EXPECT_TRUE(dt.can_be_inside_low_cardinality());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to