zhiqiang-hhhh commented on code in PR #34689: URL: https://github.com/apache/doris/pull/34689#discussion_r1602510916
########## be/src/vec/data_types/data_type_date_time.cpp: ########## @@ -56,6 +56,14 @@ std::string DataTypeDateTime::to_string(const IColumn& column, size_t row_num) c return buf; } +std::string DataTypeDateTime::to_string(Int64 int_val) const { + doris::VecDateTimeValue value = binary_cast<Int64, doris::VecDateTimeValue>(int_val); + + char buf[64]; Review Comment: why 64? ########## be/src/vec/data_types/data_type_time_v2.cpp: ########## @@ -60,6 +60,14 @@ std::string DataTypeDateV2::to_string(const IColumn& column, size_t row_num) con return std::string {buf}; } +std::string DataTypeDateV2::to_string(UInt32 int_val) const { + DateV2Value<DateV2ValueType> val = binary_cast<UInt32, DateV2Value<DateV2ValueType>>(int_val); + + char buf[64]; Review Comment: why 64 ########## be/src/vec/data_types/data_type_number_base.cpp: ########## @@ -65,6 +65,19 @@ void DataTypeNumberBase<T>::to_string(const IColumn& column, size_t row_num, } } +template <typename T> +std::string DataTypeNumberBase<T>::to_string(const T& value) const { + if constexpr (std::is_same<T, int128_t>::value || std::is_same<T, uint128_t>::value || + std::is_same<T, UInt128>::value) { + return int128_to_string(value); + } else if constexpr (std::is_integral<T>::value) { + return std::to_string(value); + } else if constexpr (std::numeric_limits<T>::is_iec559) { + fmt::memory_buffer buffer; // only use in size-predictable type. + fmt::format_to(buffer, "{}", value); + return std::string(buffer.data(), buffer.size()); Review Comment: return fmt::format("{}", value); ########## be/src/vec/data_types/data_type_date.h: ########## @@ -60,6 +60,12 @@ class DataTypeDate final : public DataTypeNumberBase<Int64> { bool equals(const IDataType& rhs) const override; 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; + std::string to_string(Int64 int_val) const { + doris::VecDateTimeValue value = binary_cast<Int64, doris::VecDateTimeValue>(int_val); + char buf[64]; Review Comment: why 64? ########## be/src/vec/data_types/data_type_date_time.h: ########## @@ -84,6 +84,7 @@ class DataTypeDateTime final : public DataTypeNumberBase<Int64> { bool equals(const IDataType& rhs) const override; std::string to_string(const IColumn& column, size_t row_num) const override; + std::string to_string(Int64 value) const; Review Comment: maybe static ########## be/src/vec/data_types/data_type_date.h: ########## @@ -60,6 +60,12 @@ class DataTypeDate final : public DataTypeNumberBase<Int64> { bool equals(const IDataType& rhs) const override; 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; + std::string to_string(Int64 int_val) const { Review Comment: make static ? ########## be/src/vec/data_types/data_type_date_time.cpp: ########## @@ -56,6 +56,14 @@ std::string DataTypeDateTime::to_string(const IColumn& column, size_t row_num) c return buf; } +std::string DataTypeDateTime::to_string(Int64 int_val) const { Review Comment: maybe static? -- 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