foxtail463 commented on code in PR #67295:
URL: https://github.com/apache/doris/pull/67295#discussion_r3948323639
##########
be/src/storage/tablet/base_tablet.cpp:
##########
@@ -1084,10 +1136,15 @@ Status
BaseTablet::generate_new_block_for_partial_update(
// rowid in the final block(start from 0, increase continuously) -> rowid
to read in update_block
std::map<uint32_t, uint32_t> read_index_update;
- // read current rowset first, if a row in the current rowset has delete
sign mark
- // we don't need to read values from old block
+ // Fixed partial updates only need their explicit update projection, so
reading the full
+ // row-store JSONB adds an unnecessary full-row allocation. UPSERT
rewrites keep the row-store
+ // path because it preserves the pre-VariantParse row representation.
+ const auto update_read_strategy =
partial_update_info->is_fixed_partial_update()
+ ?
FixedReadPlan::ReadStrategy::COLUMN_STORE
Review Comment:
rowstore 里存的和列里面不一样导致的,variant_type 特判一下?
--
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]