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