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

Reply via email to