diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java index c8e7ef6c4e..9ff06b2907 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java @@ -91,7 +91,7 @@ public class GroupCommitPlanner { } TStreamLoadPutRequest streamLoadPutRequest = new TStreamLoadPutRequest(); if (targetColumnNames != null) { - streamLoadPutRequest.setColumns(String.join(",", targetColumnNames)); + streamLoadPutRequest.setColumns("`" + String.join("`,`", targetColumnNames) + "`"); if (targetColumnNames.stream().anyMatch(col -> col.equalsIgnoreCase(Column.SEQUENCE_COL))) { streamLoadPutRequest.setSequenceCol(Column.SEQUENCE_COL); } diff --git a/regression-test/data/insert_p0/insert_group_commit_into.out b/regression-test/data/insert_p0/insert_group_commit_into.out index 71a1473e1e..7c39453d47 100644 --- a/regression-test/data/insert_p0/insert_group_commit_into.out +++ b/regression-test/data/insert_p0/insert_group_commit_into.out @@ -103,6 +103,10 @@ q 50 3 3 3 4 4 4 +-- !sql -- +1 test +2 or + -- !sql -- 1 a 10 2 b -1 @@ -207,3 +211,7 @@ q 50 3 3 3 4 4 4 +-- !sql -- +1 test +2 or + diff --git a/regression-test/suites/insert_p0/insert_group_commit_into.groovy b/regression-test/suites/insert_p0/insert_group_commit_into.groovy index b7c6cc4e3c..dc681feb3f 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_into.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_into.groovy @@ -444,5 +444,41 @@ suite("insert_group_commit_into") { } } finally { } + + // column name contains keyword + tableName = "insert_group_commit_into_with_keyword" + table = dbName + "." + tableName + try { + // create table + sql """ drop table if exists ${table}; """ + sql """ + CREATE TABLE IF NOT EXISTS ${table} + ( + k1 INT, + `or` varchar(50) + ) + DUPLICATE KEY(`k1`) + DISTRIBUTED BY HASH(`k1`) + BUCKETS 1 PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + connect(user = context.config.jdbcUser, password = context.config.jdbcPassword, url = context.config.jdbcUrl) { + sql """ set group_commit = async_mode; """ + if (item == "nereids") { + sql """ set enable_nereids_dml = true; """ + sql """ set enable_nereids_planner = true; """ + sql """ set enable_fallback_to_original_planner = false; """ + } else { + sql """ set enable_nereids_dml = false; """ + } + group_commit_insert """ insert into ${table} values(1, 'test'); """, 1 + group_commit_insert """ insert into ${table}(k1,`or`) values (2,"or"); """, 1 + getRowCount(2) + qt_sql """ select * from ${table}; """ + } + } finally { + } } } \ No newline at end of file