OIiveirra commented on code in PR #69032:
URL: https://github.com/apache/doris/pull/69032#discussion_r4321985988


##########
be/src/core/data_type_serde/data_type_varbinary_serde.cpp:
##########
@@ -121,9 +132,9 @@ Status 
DataTypeVarbinarySerDe::write_column_to_mysql_binary(const IColumn& colum
                                                             int64_t row_idx, 
bool col_const,
                                                             const 
FormatOptions& options) const {
     auto col_index = index_check_const(row_idx, col_const);
-    const auto& data = assert_cast<const 
ColumnVarbinary&>(column).get_data()[col_index];
+    const auto data = column.get_data_at(col_index);

Review Comment:
   已改为 `const auto&`,直接引用具体列中的 `StringView`。



##########
be/src/core/data_type_serde/data_type_varbinary_serde.cpp:
##########
@@ -66,7 +77,7 @@ class VarbinaryParquetConsumer final : public 
ParquetFixedValueConsumer,
     }
 
 private:
-    ColumnVarbinary& _column;

Review Comment:
   空间类型与 VARBINARY 都存储原始二进制,因此复用了 SerDe。现已按具体列类型分别实例化共享实现,保留 VARBINARY 原有访问路径。



##########
be/src/core/data_type_serde/data_type_varbinary_serde.cpp:
##########
@@ -135,15 +146,16 @@ Status 
DataTypeVarbinarySerDe::write_column_to_arrow(const IColumn& column, cons
                                                      int64_t start, int64_t 
end,
                                                      const cctz::time_zone& 
ctz) const {
     auto lambda_function = [&](auto& builder) -> Status {
-        const auto& varbinary_column_data = assert_cast<const 
ColumnVarbinary&>(column).get_data();
         for (size_t i = start; i < end; ++i) {
             if (null_map && (*null_map)[i]) {
                 RETURN_IF_ERROR(checkArrowStatus(builder.AppendNull(), column, 
builder));
                 continue;
             }
-            const auto& string_view = varbinary_column_data[i];
-            
RETURN_IF_ERROR(checkArrowStatus(builder.Append(string_view.data(), 
string_view.size()),
-                                             column, builder));
+            const auto string_view = column.get_data_at(i);

Review Comment:
   已改为 `const auto&`,在循环外取得具体列容器,循环内引用元素。



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to