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


##########
be/src/core/data_type_serde/data_type_varbinary_serde.cpp:
##########
@@ -172,19 +183,18 @@ Status 
DataTypeVarbinarySerDe::write_column_to_arrow(const IColumn& column, cons
         auto& builder = 
assert_cast<arrow::FixedSizeBinaryBuilder&>(*array_builder);
         const int byte_width =
                 static_cast<const 
arrow::FixedSizeBinaryType&>(*array_builder->type()).byte_width();
-        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];
-            if (string_view.size() != byte_width) {
+            const auto string_view = column.get_data_at(i);

Review Comment:
   已改为 `const auto&`,保留 NULL 处理和固定长度检查。



##########
be/src/core/data_type_serde/data_type_varbinary_serde.cpp:
##########
@@ -343,14 +353,14 @@ Status 
DataTypeVarbinarySerDe::serialize_one_cell_to_json(const IColumn& column,
     auto result = check_column_const_set_readability(column, row_num);
     ColumnPtr ptr = result.first;
     row_num = result.second;
-    const auto& value = assert_cast<const 
ColumnVarbinary&>(*ptr).get_data_at(row_num);
+    const auto value = ptr->get_data_at(row_num);

Review Comment:
   已改为具体列访问并使用 `const` 引用,避免通过 `IColumn` 逐行虚调用。已补性能对照;Spatial 小值 JSON 仍有约 2.4% 
开销,结果已如实记录。



-- 
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