From 296ffd9919a731897a5e91d45c7966573d30e733 Mon Sep 17 00:00:00 2001 From: Refrain <113875799+0AyanamiRei@users.noreply.github.com> Date: Fri, 19 Dec 2025 02:54:19 +0800 Subject: [PATCH] [fix](load) Fix the sensitivity issue of load column mapping with expressions (#59149) Related PR: #58353 #56041 --- .../apache/doris/nereids/load/NereidsLoadScanProvider.java | 4 ++-- .../suites/load_p0/broker_load/test_s3_load_with_set.groovy | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsLoadScanProvider.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsLoadScanProvider.java index a2e6f4a3876dd3..52f5b3713a8a0c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsLoadScanProvider.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsLoadScanProvider.java @@ -62,11 +62,11 @@ import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.TreeSet; /** * process column mapping expressions, delete conditions and sequence columns @@ -165,7 +165,7 @@ private void fillContextExprMap(List columnDescList, Ne // (k1, k2, tmpk3 = k1 + k2, k3 = k1 + k2) // so "tmpk3 = k1 + k2" is not needed anymore, we can skip it. List copiedColumnExprs = new ArrayList<>(columnDescs.size()); - Set constantMappingColumns = new HashSet<>(); + Set constantMappingColumns = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); for (NereidsImportColumnDesc importColumnDesc : columnDescs) { String mappingColumnName = importColumnDesc.getColumnName(); if (importColumnDesc.isColumn()) { diff --git a/regression-test/suites/load_p0/broker_load/test_s3_load_with_set.groovy b/regression-test/suites/load_p0/broker_load/test_s3_load_with_set.groovy index 4ca9054352aae1..17b699cefb22e3 100644 --- a/regression-test/suites/load_p0/broker_load/test_s3_load_with_set.groovy +++ b/regression-test/suites/load_p0/broker_load/test_s3_load_with_set.groovy @@ -49,7 +49,7 @@ suite("test_s3_load_with_set", "load_p0") { kd01 DATE NOT NULL, kd02 INT NULL, kd03 VARCHAR(256) NULL, - kd04 DATE NOT NULL + KD04 DATE NOT NULL ) DUPLICATE KEY(k00) DISTRIBUTED BY HASH(k00) BUCKETS 1