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 f39bd1189f3 [fix](binlog) Fix add partition record sql (#35461) f39bd1189f3 is described below commit f39bd1189f3eaada90df202ea367a725f0177e35 Author: walter <w41te...@gmail.com> AuthorDate: Tue May 28 15:24:37 2024 +0800 [fix](binlog) Fix add partition record sql (#35461) 1. support adding a temporary partition 2. remove extra parentheses in the list partition value set 3. support unpartitioned partition item --- .../apache/doris/binlog/AddPartitionRecord.java | 32 +++++++++++++++------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/binlog/AddPartitionRecord.java b/fe/fe-core/src/main/java/org/apache/doris/binlog/AddPartitionRecord.java index 9bc5ff7da0f..852c0b45d87 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/binlog/AddPartitionRecord.java +++ b/fe/fe-core/src/main/java/org/apache/doris/binlog/AddPartitionRecord.java @@ -22,6 +22,7 @@ import org.apache.doris.catalog.ListPartitionItem; import org.apache.doris.catalog.Partition; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.PartitionKey; +import org.apache.doris.catalog.RangePartitionItem; import org.apache.doris.catalog.ReplicaAllocation; import org.apache.doris.persist.PartitionPersistInfo; import org.apache.doris.persist.gson.GsonUtils; @@ -69,23 +70,34 @@ public class AddPartitionRecord { this.isMutable = partitionPersistInfo.isMutable(); StringBuilder sb = new StringBuilder(); - sb.append("ADD PARTITION ").append("`").append(partition.getName()).append("`").append(" VALUES "); - if (this.listPartitionItem.equals(ListPartitionItem.DUMMY_ITEM)) { + sb.append("ADD "); + if (isTempPartition) { + sb.append("TEMPORARY "); + } + sb.append("PARTITION `"); + sb.append(partition.getName()); + sb.append("` "); + + // See fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java:addPartition for details. + if (!this.range.equals(RangePartitionItem.DUMMY_ITEM)) { // range - sb.append("["); + sb.append("VALUES ["); sb.append(range.lowerEndpoint().toSql()); sb.append(", "); sb.append(range.upperEndpoint().toSql()); - sb.append(")"); - } else { + sb.append(") (\"version_info\" = \""); + sb.append(partition.getVisibleVersion()); + sb.append("\");"); + } else if (!this.listPartitionItem.equals(ListPartitionItem.DUMMY_ITEM)) { // list - sb.append("IN ("); + sb.append("VALUES IN "); sb.append(((ListPartitionItem) listPartitionItem).toSql()); - sb.append(")"); + sb.append(" (\"version_info\" = \""); + sb.append(partition.getVisibleVersion()); + sb.append("\");"); + } else { + // unpartitioned. } - sb.append("(\"version_info\" = \""); - sb.append(partition.getVisibleVersion()).append("\""); - sb.append(");"); this.sql = sb.toString(); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org