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


##########
be/src/storage/partial_update_info.cpp:
##########
@@ -724,7 +724,7 @@ static void fill_non_primary_key_cell_for_row_store(
                 // store the generated auto-increment value in fixed partial 
update
                 new_col->insert_from(cur_col, block_pos);
             } else {
-                new_col->insert(tablet_column.get_vec_type()->get_default());
+                new_col->insert_default();

Review Comment:
   This is the row-store flexible partial-update branch, which is distinct from 
the existing comment on the column-store branch above. When 
`_probe_key_for_mow()` classifies an insert-after-delete row as `use_default` 
and the skipped column is read through row-store, this value is written into 
the rebuilt row. Switching from `get_default()` to `insert_default()` therefore 
also changes committed non-null complex values on this path 
(`[null]`/`{null:null}`/JSON `null` become `[]`/`{}`/SQL `NULL`). Please 
preserve the previous materialization here as well, otherwise row-store partial 
updates still regress even if the column-store path is fixed.



##########
be/src/storage/tablet/base_tablet.cpp:
##########
@@ -1125,7 +1125,7 @@ static void fill_cell_for_flexible_partial_update(
                 //       keep consistency between replicas
                 new_col->insert_from(cur_col, 
read_index_update[cast_set<uint32_t>(idx)]);
             } else {
-                new_col->insert(tablet_column.get_vec_type()->get_default());
+                new_col->insert_default();

Review Comment:
   This flexible publish path is separate from the fixed partial-update branch 
already discussed earlier in this file. For skipped non-null complex columns on 
an insert-after-delete row, `generate_new_block_for_flexible_partial_update()` 
reaches this helper with `use_default` and writes the value into the output 
rowset. Using `insert_default()` changes the committed contents from the old 
synthetic defaults to empty array/map or SQL NULL, so the flexible publish path 
needs the same compatibility fix rather than this mechanical replacement.



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