This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 8930f42fa9 [Improve](serde) support text serde for nested 
type-array/map pick from #22738 (#23514)
8930f42fa9 is described below

commit 8930f42fa9c2463a90a6ed256d8d44d3698dc8a8
Author: amory <wangqian...@selectdb.com>
AuthorDate: Fri Aug 25 22:40:49 2023 +0800

    [Improve](serde) support text serde for nested type-array/map pick from 
#22738 (#23514)
---
 be/src/vec/data_types/data_type_decimal.h                  | 2 +-
 be/src/vec/data_types/serde/data_type_date64_serde.cpp     | 1 +
 be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp | 1 +
 be/src/vec/data_types/serde/data_type_datev2_serde.cpp     | 1 +
 be/src/vec/data_types/serde/data_type_decimal_serde.cpp    | 1 +
 be/src/vec/data_types/serde/data_type_decimal_serde.h      | 4 +++-
 be/src/vec/data_types/serde/data_type_jsonb_serde.cpp      | 3 ++-
 be/src/vec/data_types/serde/data_type_number_serde.cpp     | 3 +++
 be/src/vec/data_types/serde/data_type_serde.h              | 1 +
 9 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/be/src/vec/data_types/data_type_decimal.h 
b/be/src/vec/data_types/data_type_decimal.h
index 78c30c673c..138f277c3f 100644
--- a/be/src/vec/data_types/data_type_decimal.h
+++ b/be/src/vec/data_types/data_type_decimal.h
@@ -249,7 +249,7 @@ public:
     void to_string(const IColumn& column, size_t row_num, BufferWritable& 
ostr) const override;
     Status from_string(ReadBuffer& rb, IColumn* column) const override;
     DataTypeSerDeSPtr get_serde() const override {
-        return std::make_shared<DataTypeDecimalSerDe<T>>(scale);
+        return std::make_shared<DataTypeDecimalSerDe<T>>(scale, precision);
     };
 
     /// Decimal specific
diff --git a/be/src/vec/data_types/serde/data_type_date64_serde.cpp 
b/be/src/vec/data_types/serde/data_type_date64_serde.cpp
index d6a8986b7f..6afe531eab 100644
--- a/be/src/vec/data_types/serde/data_type_date64_serde.cpp
+++ b/be/src/vec/data_types/serde/data_type_date64_serde.cpp
@@ -23,6 +23,7 @@
 
 #include "gutil/casts.h"
 #include "vec/columns/column_const.h"
+#include "vec/io/io_helper.h"
 
 namespace doris {
 namespace vectorized {
diff --git a/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp 
b/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp
index 2205c21c6a..368932217e 100644
--- a/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp
+++ b/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp
@@ -23,6 +23,7 @@
 
 #include "gutil/casts.h"
 #include "vec/columns/column_const.h"
+#include "vec/io/io_helper.h"
 
 namespace doris {
 namespace vectorized {
diff --git a/be/src/vec/data_types/serde/data_type_datev2_serde.cpp 
b/be/src/vec/data_types/serde/data_type_datev2_serde.cpp
index 0025086abd..6c86a7c990 100644
--- a/be/src/vec/data_types/serde/data_type_datev2_serde.cpp
+++ b/be/src/vec/data_types/serde/data_type_datev2_serde.cpp
@@ -23,6 +23,7 @@
 
 #include "gutil/casts.h"
 #include "vec/columns/column_const.h"
+#include "vec/io/io_helper.h"
 
 namespace doris {
 namespace vectorized {
diff --git a/be/src/vec/data_types/serde/data_type_decimal_serde.cpp 
b/be/src/vec/data_types/serde/data_type_decimal_serde.cpp
index f639a94e64..e356b5dc0a 100644
--- a/be/src/vec/data_types/serde/data_type_decimal_serde.cpp
+++ b/be/src/vec/data_types/serde/data_type_decimal_serde.cpp
@@ -26,6 +26,7 @@
 #include "gutil/casts.h"
 #include "vec/columns/column_decimal.h"
 #include "vec/common/arithmetic_overflow.h"
+#include "vec/io/io_helper.h"
 
 namespace doris {
 
diff --git a/be/src/vec/data_types/serde/data_type_decimal_serde.h 
b/be/src/vec/data_types/serde/data_type_decimal_serde.h
index 9ac2dacf6e..1bde810e87 100644
--- a/be/src/vec/data_types/serde/data_type_decimal_serde.h
+++ b/be/src/vec/data_types/serde/data_type_decimal_serde.h
@@ -63,8 +63,9 @@ public:
         __builtin_unreachable();
     }
 
-    DataTypeDecimalSerDe(int scale_)
+    DataTypeDecimalSerDe(int scale_, int precision_)
             : scale(scale_),
+             precision(precision_),
               scale_multiplier(decimal_scale_multiplier<typename 
T::NativeType>(scale)) {}
 
     void serialize_one_cell_to_text(const IColumn& column, int row_num, 
BufferWritable& bw,
@@ -105,6 +106,7 @@ private:
                                   int row_idx, bool col_const) const;
 
     int scale;
+    int precision;
     const T::NativeType scale_multiplier;
     mutable char buf[T::max_string_length()];
 };
diff --git a/be/src/vec/data_types/serde/data_type_jsonb_serde.cpp 
b/be/src/vec/data_types/serde/data_type_jsonb_serde.cpp
index b2546b8aec..9b78d51982 100644
--- a/be/src/vec/data_types/serde/data_type_jsonb_serde.cpp
+++ b/be/src/vec/data_types/serde/data_type_jsonb_serde.cpp
@@ -17,7 +17,8 @@
 
 #include "data_type_jsonb_serde.h"
 
-#include <arrow/array/builder_binary.h>
+#include "arrow/array/builder_binary.h"
+#include "runtime/jsonb_value.h"
 namespace doris {
 namespace vectorized {
 
diff --git a/be/src/vec/data_types/serde/data_type_number_serde.cpp 
b/be/src/vec/data_types/serde/data_type_number_serde.cpp
index 8bb3473c07..474d37225f 100644
--- a/be/src/vec/data_types/serde/data_type_number_serde.cpp
+++ b/be/src/vec/data_types/serde/data_type_number_serde.cpp
@@ -22,6 +22,9 @@
 #include <type_traits>
 
 #include "gutil/casts.h"
+#include "gutil/strings/numbers.h"
+#include "util/mysql_global.h"
+#include "vec/io/io_helper.h"
 
 namespace doris {
 namespace vectorized {
diff --git a/be/src/vec/data_types/serde/data_type_serde.h 
b/be/src/vec/data_types/serde/data_type_serde.h
index 15d44bf692..59ca3d0291 100644
--- a/be/src/vec/data_types/serde/data_type_serde.h
+++ b/be/src/vec/data_types/serde/data_type_serde.h
@@ -29,6 +29,7 @@
 #include "vec/columns/column_nullable.h"
 #include "vec/common/pod_array.h"
 #include "vec/common/pod_array_fwd.h"
+#include "vec/common/string_buffer.hpp"
 #include "vec/core/types.h"
 
 namespace arrow {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to