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

Reply via email to