yiguolei commented on code in PR #69070:
URL: https://github.com/apache/doris/pull/69070#discussion_r4355777416


##########
be/src/storage/segment/column_writer.cpp:
##########
@@ -305,10 +316,20 @@ Status ColumnWriter::create_agg_state_writer(const 
ColumnWriterOptions& opts,
     auto data_type = DataTypeFactory::instance().create_data_type(*column);
     const auto* agg_state_type = assert_cast<const 
DataTypeAggState*>(data_type.get());
     auto type = agg_state_type->get_serialized_type()->get_primitive_type();
-    if (type == PrimitiveType::TYPE_STRING || type == 
PrimitiveType::INVALID_TYPE ||
-        type == PrimitiveType::TYPE_FIXED_LENGTH_OBJECT || type == 
PrimitiveType::TYPE_BITMAP) {
-        *writer = std::unique_ptr<ColumnWriter>(
-                new ScalarColumnWriter(opts, 
std::make_shared<TabletColumn>(*column), file_writer));
+    // INVALID_TYPE has no storage conversion and is refused below with the 
other unsupported
+    // serialised types.
+    if (type == PrimitiveType::TYPE_STRING || type == 
PrimitiveType::TYPE_FIXED_LENGTH_OBJECT ||
+        type == PrimitiveType::TYPE_BITMAP) {
+        // The states are stored as the function serialises them: strings as 
VARCHAR, bitmaps

Review Comment:
   后面我们包一个aggstate writer把



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to