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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]