github-actions[bot] commented on code in PR #65770:
URL: https://github.com/apache/doris/pull/65770#discussion_r3602482953


##########
be/src/core/block/block.h:
##########
@@ -448,6 +448,15 @@ class MutableBlock {
     DataTypes _data_types;
     std::vector<std::string> _names;
 
+    void materialize_const_column(size_t position) {

Review Comment:
   [P1] Make the row-append APIs const-aware too
   
   This helper is only called by the two merge paths, but 
`MutableBlock::add_row()` and both `add_rows()` overloads still append directly 
to `_columns`. Those destinations can also remain `ColumnConst`: for example, 
`_partition_block()` seeds a persistent buffer with `in_block->clone_empty()`, 
and `ColumnConst::clone_resized(0)` preserves the first block's nested value. 
After the first append, a later valid block with the same type but a different 
constant value is rejected by `ColumnConst::insert_indices_from()` (and a full 
source is also rejected by the sibling append methods). Please extend the 
shared append handling so both the destination and any const source are 
materialized, or are otherwise handled without assuming one per-block value 
persists across later blocks, and cover two `add_rows()` calls with different 
constants. Otherwise the same representation mismatch still breaks 
partitioned-join/local-exchange accumulation.



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