adonis0147 commented on code in PR #9466:
URL: https://github.com/apache/incubator-doris/pull/9466#discussion_r873543666


##########
be/src/vec/olap/olap_data_convertor.cpp:
##########
@@ -700,4 +621,55 @@ Status 
OlapBlockDataConvertor::OlapColumnDataConvertorDecimal::convert_to_olap()
     return Status::OK();
 }
 
-} // namespace doris::vectorized
\ No newline at end of file
+Status OlapBlockDataConvertor::OlapColumnDataConvertorArray::convert_to_olap() 
{
+    const ColumnArray* column_array = nullptr;
+    const DataTypeArray* data_type_ptr_array = nullptr;
+    if (_nullmap) {
+        const auto* nullable_column =
+                assert_cast<const ColumnNullable*>(_typed_column.column.get());
+        column_array =
+                assert_cast<const 
ColumnArray*>(nullable_column->get_nested_column_ptr().get());
+        data_type_ptr_array = assert_cast<const DataTypeArray*>(
+                (assert_cast<const 
DataTypeNullable*>(_typed_column.type.get())->get_nested_type())
+                        .get());
+    } else {
+        column_array = assert_cast<const 
ColumnArray*>(_typed_column.column.get());
+        data_type_ptr_array = assert_cast<const 
DataTypeArray*>(_typed_column.type.get());
+    }
+    assert(column_array);
+    assert(data_type_ptr_array);
+
+    CollectionValue* collection_value = _values.data();
+    for (int i = 0; i < _num_rows; ++i, ++collection_value) {
+        int64_t cur_pos = _row_pos + i;
+        int64_t prev_pos = cur_pos - 1;
+        if (_nullmap && _nullmap[cur_pos]) {
+            continue;
+        }
+        const auto& offsets = column_array->get_offsets();

Review Comment:
   Refined.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to