yangzhg commented on a change in pull request #5983:
URL: https://github.com/apache/incubator-doris/pull/5983#discussion_r646334458



##########
File path: be/test/olap/column_vector_test.cpp
##########
@@ -72,60 +72,70 @@ void test_read_write_scalar_column_vector(const TypeInfo* 
type_info, const uint8
 }
 
 template <FieldType item_type>
-void test_read_write_list_column_vector(const ArrayTypeInfo* list_type_info,
-                                        segment_v2::ordinal_t* ordinals, // n 
+ 1
-                                        size_t list_size, const uint8_t* 
src_item_data,
-                                        Collection* result) {
-    DCHECK(list_size > 1);
+void test_read_write_array_column_vector(const ArrayTypeInfo* array_type_info, 
size_t array_size, Collection* result) {
+    DCHECK(array_size > 1);
 
     using ItemType = typename TypeTraits<item_type>::CppType;
-    ItemType* src_item = (ItemType*)src_item_data;
     size_t ITEM_TYPE_SIZE = sizeof(ItemType);
 
-    TabletColumn list_column(OLAP_FIELD_AGGREGATION_NONE, 
OLAP_FIELD_TYPE_ARRAY);
+    TabletColumn array_column(OLAP_FIELD_AGGREGATION_NONE, 
OLAP_FIELD_TYPE_ARRAY);
     TabletColumn item_column(OLAP_FIELD_AGGREGATION_NONE, item_type, true, 0, 
0);
-    list_column.add_sub_column(item_column);
-    Field* field = FieldFactory::create(list_column);
+    array_column.add_sub_column(item_column);
+    Field* field = FieldFactory::create(array_column);
 
-    size_t list_init_size = list_size / 2;
+    size_t array_init_size = array_size / 2;
     std::unique_ptr<ColumnVectorBatch> cvb;
-    ASSERT_TRUE(ColumnVectorBatch::create(list_init_size, true, 
list_type_info, field, &cvb).ok());
+    ASSERT_TRUE(ColumnVectorBatch::create(array_init_size, true, 
array_type_info, field, &cvb).ok());
 
-    ArrayColumnVectorBatch* list_cvb = 
reinterpret_cast<ArrayColumnVectorBatch*>(cvb.get());
-    ColumnVectorBatch* item_cvb = list_cvb->elements();
+    auto* array_cvb = reinterpret_cast<ArrayColumnVectorBatch*>(cvb.get());
+    ColumnVectorBatch* item_cvb = array_cvb->elements();
+    ColumnVectorBatch* offset_cvb = array_cvb->offsets();
 
     // first write
-    list_cvb->put_item_ordinal(ordinals, 0, list_init_size + 1);
-    list_cvb->set_null_bits(0, list_init_size, false);
-    size_t first_write_item = ordinals[list_init_size] - ordinals[0];
+    for (size_t i = 0; i < array_init_size; ++i) {
+        memcpy(offset_cvb->mutable_cell_ptr(1 + i), &(result[i].length), 
sizeof(segment_v2::ordinal_t));
+        std::cout << array_cvb->item_offset(1 + i) << " ++++++++" << 1 + i << 
std::endl;

Review comment:
       remove this 




-- 
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.

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