zclllyybb commented on code in PR #19543: URL: https://github.com/apache/doris/pull/19543#discussion_r1195882080
########## be/src/vec/data_types/serde/data_type_array_serde.cpp: ########## @@ -83,5 +84,36 @@ void DataTypeArraySerDe::read_column_from_arrow(IColumn& column, const arrow::Ar arrow_nested_end_offset, ctz); } +template <bool is_binary_format> +Status DataTypeArraySerDe::_write_column_to_mysql( + const IColumn& column, std::vector<MysqlRowBuffer<is_binary_format>>& result, int row_idx, + int start, int end, int scale, bool col_const) const { + int buf_ret = 0; + auto& column_array = assert_cast<const ColumnArray&>(column); + auto& offsets = column_array.get_offsets(); + auto& data = column_array.get_data(); + for (ssize_t i = start; i < end; ++i) { + if (0 != buf_ret) { + return Status::InternalError("pack mysql buffer failed."); + } + const auto col_index = index_check_const(i, col_const); + LOG(WARNING) << "amory: " << col_index; Review Comment: remember to remove it~ ########## be/src/vec/data_types/serde/data_type_decimal_serde.h: ########## @@ -60,8 +61,49 @@ class DataTypeDecimalSerDe : public DataTypeSerDe { int end) const override; void read_column_from_arrow(IColumn& column, const arrow::Array* arrow_array, int start, int end, const cctz::time_zone& ctz) const override; + Status write_column_to_mysql(const IColumn& column, std::vector<MysqlRowBuffer<false>>& result, + int row_idx, int start, int end, int scale, + bool col_const) const override { + return _write_column_to_mysql(column, result, row_idx, start, end, scale, col_const); + } + + Status write_column_to_mysql(const IColumn& column, std::vector<MysqlRowBuffer<true>>& result, + int row_idx, int start, int end, int scale, + bool col_const) const override { + return _write_column_to_mysql(column, result, row_idx, start, end, scale, col_const); + } + +private: + template <bool is_binary_format> + Status _write_column_to_mysql(const IColumn& column, + std::vector<MysqlRowBuffer<is_binary_format>>& result, + int row_idx, int start, int end, int scale, bool col_const) const; }; +template <typename T> +template <bool is_binary_format> +Status DataTypeDecimalSerDe<T>::_write_column_to_mysql( + const IColumn& column, std::vector<MysqlRowBuffer<is_binary_format>>& result, int row_idx, + int start, int end, int scale, bool col_const) const { + int buf_ret = 0; + auto& data = static_cast<const ColumnDecimal<T>&>(column).get_data(); Review Comment: please make sure all uses like this are of form `assert_cast` -- 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: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org