This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new de0ec3c939c [Opt](partial update) Init partial update related fields 
only when it's partial update (#59930)
de0ec3c939c is described below

commit de0ec3c939c967fcdb7bbacfc4246fc9740e2666
Author: bobhan1 <[email protected]>
AuthorDate: Sat Jan 24 02:03:49 2026 +0800

    [Opt](partial update) Init partial update related fields only when it's 
partial update (#59930)
---
 be/src/olap/partial_update_info.cpp | 39 +++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/be/src/olap/partial_update_info.cpp 
b/be/src/olap/partial_update_info.cpp
index 666932df661..0cbcd8c83ac 100644
--- a/be/src/olap/partial_update_info.cpp
+++ b/be/src/olap/partial_update_info.cpp
@@ -72,34 +72,35 @@ Status PartialUpdateInfo::init(int64_t tablet_id, int64_t 
txn_id, const TabletSc
             }
         }
     }
-
-    for (auto i = 0; i < tablet_schema.num_columns(); ++i) {
-        if (partial_update_mode == 
UniqueKeyUpdateModePB::UPDATE_FIXED_COLUMNS) {
-            auto tablet_column = tablet_schema.column(i);
-            if (!partial_update_input_columns.contains(tablet_column.name())) {
-                missing_cids.emplace_back(i);
-                if (!tablet_column.has_default_value() && 
!tablet_column.is_nullable() &&
-                    tablet_schema.auto_increment_column() != 
tablet_column.name()) {
-                    can_insert_new_rows_in_partial_update = false;
+    if (is_partial_update()) {
+        for (auto i = 0; i < tablet_schema.num_columns(); ++i) {
+            if (partial_update_mode == 
UniqueKeyUpdateModePB::UPDATE_FIXED_COLUMNS) {
+                auto tablet_column = tablet_schema.column(i);
+                if 
(!partial_update_input_columns.contains(tablet_column.name())) {
+                    missing_cids.emplace_back(i);
+                    if (!tablet_column.has_default_value() && 
!tablet_column.is_nullable() &&
+                        tablet_schema.auto_increment_column() != 
tablet_column.name()) {
+                        can_insert_new_rows_in_partial_update = false;
+                    }
+                } else {
+                    update_cids.emplace_back(i);
+                }
+                if (auto_increment_column == tablet_column.name()) {
+                    is_schema_contains_auto_inc_column = true;
                 }
             } else {
-                update_cids.emplace_back(i);
-            }
-            if (auto_increment_column == tablet_column.name()) {
-                is_schema_contains_auto_inc_column = true;
-            }
-        } else {
-            // in flexible partial update, missing cids is all non sort keys' 
cid
-            if (i >= tablet_schema.num_key_columns()) {
-                missing_cids.emplace_back(i);
+                // in flexible partial update, missing cids is all non sort 
keys' cid
+                if (i >= tablet_schema.num_key_columns()) {
+                    missing_cids.emplace_back(i);
+                }
             }
         }
+        _generate_default_values_for_missing_cids(tablet_schema);
     }
     is_strict_mode = is_strict_mode_;
     is_input_columns_contains_auto_inc_column =
             is_fixed_partial_update() &&
             partial_update_input_columns.contains(auto_increment_column);
-    _generate_default_values_for_missing_cids(tablet_schema);
     return Status::OK();
 }
 


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

Reply via email to