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]