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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]