This is an automated email from the ASF dual-hosted git repository. caiconghui pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push: new 6c91c825b8a [Enhancement](Spark Reader) support spark connecotr read datev2 and datetimev2 and bitmap (#26604) 6c91c825b8a is described below commit 6c91c825b8a6d51dbceb2384914619cbab8a3947 Author: GoGoWen <82132356+gogo...@users.noreply.github.com> AuthorDate: Tue Nov 14 10:50:01 2023 +0800 [Enhancement](Spark Reader) support spark connecotr read datev2 and datetimev2 and bitmap (#26604) --- be/src/util/arrow/row_batch.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/be/src/util/arrow/row_batch.cpp b/be/src/util/arrow/row_batch.cpp index 01ce8d45978..9564b7767c4 100644 --- a/be/src/util/arrow/row_batch.cpp +++ b/be/src/util/arrow/row_batch.cpp @@ -43,6 +43,7 @@ #include "runtime/row_batch.h" #include "util/arrow/utils.h" #include "util/types.h" +#include "vec/runtime/vdatetime_value.h" namespace doris { @@ -76,8 +77,11 @@ Status convert_to_arrow_type(const TypeDescriptor& type, std::shared_ptr<arrow:: case TYPE_HLL: case TYPE_LARGEINT: case TYPE_DATE: + case TYPE_DATEV2: case TYPE_DATETIME: + case TYPE_DATETIMEV2: case TYPE_STRING: + case TYPE_OBJECT: *result = arrow::utf8(); break; case TYPE_DECIMALV2: @@ -218,6 +222,7 @@ public: case TYPE_VARCHAR: case TYPE_CHAR: case TYPE_HLL: + case TYPE_OBJECT: case TYPE_STRING: { const StringValue* string_val = (const StringValue*)(cell_ptr); if (string_val->len == 0) { @@ -229,6 +234,22 @@ public: } break; } + case TYPE_DATEV2: { + const vectorized::DateV2Value<vectorized::DateV2ValueType>* date_val = + (const vectorized::DateV2Value<vectorized::DateV2ValueType>*)(cell_ptr); + char buf[64]; + int len = date_val->to_buffer(buf); + ARROW_RETURN_NOT_OK(builder.Append(buf, len)); + break; + } + case TYPE_DATETIMEV2: { + const vectorized::DateV2Value<vectorized::DateTimeV2ValueType>* datetime_val = + (const vectorized::DateV2Value<vectorized::DateTimeV2ValueType>*)(cell_ptr); + char buf[64]; + int len = datetime_val->to_buffer(buf); + ARROW_RETURN_NOT_OK(builder.Append(buf, len)); + break; + } case TYPE_DATE: case TYPE_DATETIME: { char buf[64]; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org