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]