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

Gabriel39 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 1144ee01374 [fix](iceberg) Adjust TIcebergTableSink thrift ids for 4.1 
compatibility (#68822)
1144ee01374 is described below

commit 1144ee01374b9a3e3aca2ae68829ba8116b3b429
Author: daidai <[email protected]>
AuthorDate: Sat Oct 10 10:06:44 2026 +0800

    [fix](iceberg) Adjust TIcebergTableSink thrift ids for 4.1 compatibility 
(#68822)
    
    ### What problem does this PR solve?
    
    Issue Number: N/A
    
    Related PR: #68532
    
    Problem Summary:
    `branch-4.1` already uses `TIcebergTableSink` field id 19 for
    `static_partition_null_keys`, while master used the same id for
    `nan_count_field_ids`. Keep the shared field aligned across branches:
    reserve 19 for `static_partition_null_keys` (same definition as 4.1) and
    move `nan_count_field_ids` to 20. Both fields are still bound by name in
    the generated code, so no caller changes are needed.
    
    ### Release note
    
    None
    
    ### Check List (For Author)
    
    - Test
        - [ ] Regression test
        - [ ] Unit Test
        - [x] Manual test (add detailed scripts or steps below)
    - `thrift -I gensrc/thrift --gen cpp gensrc/thrift/DataSinks.thrift`
    succeeds, and the generated `TIcebergTableSink` still exposes
    `static_partition_null_keys` (set<string>) and `nan_count_field_ids`
    (vector<int32_t>) by name.
        - [ ] No need to test or manual test. Explain why:
    - [ ] This is a refactor/code format and no logic has been changed.
            - [ ] Previous test can cover this change.
            - [ ] No code files have been changed.
            - [ ] Other reason
    
    - Behavior changed:
        - [x] No.
        - [ ] Yes.
    
    - Does this need documentation?
        - [x] No.
        - [ ] Yes.
    
    ### Check List (For Reviewer who merge this PR)
    
    - [ ] Confirm the release note
    - [ ] Confirm test cases
    - [ ] Confirm document
    - [ ] Add branch pick label
---
 gensrc/thrift/DataSinks.thrift | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gensrc/thrift/DataSinks.thrift b/gensrc/thrift/DataSinks.thrift
index 82eadf65e46..bd44c8bad29 100644
--- a/gensrc/thrift/DataSinks.thrift
+++ b/gensrc/thrift/DataSinks.thrift
@@ -494,12 +494,14 @@ struct TIcebergTableSink {
     17: optional TIcebergWriteType write_type = TIcebergWriteType.INSERT;
     // Unset keeps collection enabled for rolling upgrades with older FEs.
     18: optional bool collect_column_stats;
+    // Thrift map values cannot be null. These keys distinguish SQL NULL from 
text and empty bytes.
+    19: optional set<string> static_partition_null_keys;
     // Iceberg field ids of the FLOAT/DOUBLE fields whose NaN count would 
survive the table's metrics policy
     // (effective mode != none). Counting a NaN is an extra pass over the data 
-- unlike the other statistics,
     // which the parquet footer already carries -- so BE must not pay it for a 
field FE would then drop.
     // Unset or empty means count nothing: an older FE does not read 
nan_value_counts back, so counting for it
     // would be pure waste, and a table whose float fields are all 
metrics-disabled has nothing to report.
-    19: optional list<i32> nan_count_field_ids;
+    20: optional list<i32> nan_count_field_ids;
 }
 
 struct TIcebergRewritableDeleteFileSet {


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

Reply via email to