This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 6fc19c1246913697fc224e294e5200de592af49f Author: Jack Drogon <[email protected]> AuthorDate: Wed Sep 20 17:33:35 2023 +0800 [feature](restore) Add thrift RestoreSnapshotRequest support table alias (#24547) Signed-off-by: Jack Drogon <[email protected]> --- .../main/java/org/apache/doris/backup/Snapshot.java | 4 ---- .../org/apache/doris/service/FrontendServiceImpl.java | 18 ++++++++++++++++-- gensrc/thrift/FrontendService.thrift | 1 + 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/Snapshot.java b/fe/fe-core/src/main/java/org/apache/doris/backup/Snapshot.java index b26cb2e1e7..e31309b19a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/Snapshot.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/Snapshot.java @@ -31,9 +31,6 @@ public class Snapshot { @SerializedName(value = "jobInfo") private byte[] jobInfo = null; - @SerializedName(value = "createTime") - private String createTime = null; - public Snapshot() { } @@ -63,7 +60,6 @@ public class Snapshot { + "label='" + label + '\'' + ", meta=" + meta + ", jobInfo=" + jobInfo - + ", createTime='" + createTime + '\'' + '}'; } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index 96d0063d6e..caf1329cee 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -18,6 +18,7 @@ package org.apache.doris.service; import org.apache.doris.alter.SchemaChangeHandler; +import org.apache.doris.analysis.AbstractBackupTableRefClause; import org.apache.doris.analysis.AddColumnsClause; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.ColumnDef; @@ -25,6 +26,7 @@ import org.apache.doris.analysis.LabelName; import org.apache.doris.analysis.RestoreStmt; import org.apache.doris.analysis.SetType; import org.apache.doris.analysis.TableName; +import org.apache.doris.analysis.TableRef; import org.apache.doris.analysis.TypeDef; import org.apache.doris.analysis.UserIdentity; import org.apache.doris.backup.Snapshot; @@ -169,6 +171,7 @@ import org.apache.doris.thrift.TStreamLoadPutResult; import org.apache.doris.thrift.TTableIndexQueryStats; import org.apache.doris.thrift.TTableMetadataNameIds; import org.apache.doris.thrift.TTableQueryStats; +import org.apache.doris.thrift.TTableRef; import org.apache.doris.thrift.TTableStatus; import org.apache.doris.thrift.TUpdateExportTaskStatusRequest; import org.apache.doris.thrift.TUpdateFollowerStatsCacheRequest; @@ -2758,11 +2761,22 @@ public class FrontendServiceImpl implements FrontendService.Iface { TStatus status = new TStatus(TStatusCode.OK); result.setStatus(status); - LabelName label = new LabelName(request.getDb(), request.getLabelName()); String repoName = request.getRepoName(); Map<String, String> properties = request.getProperties(); - RestoreStmt restoreStmt = new RestoreStmt(label, repoName, null, properties, request.getMeta(), + AbstractBackupTableRefClause restoreTableRefClause = null; + if (request.isSetTableRefs()) { + List<TableRef> tableRefs = new ArrayList<>(); + for (TTableRef tTableRef : request.getTableRefs()) { + tableRefs.add(new TableRef(new TableName(tTableRef.getTable()), tTableRef.getAliasName())); + } + + if (tableRefs.size() > 0) { + boolean isExclude = false; + restoreTableRefClause = new AbstractBackupTableRefClause(isExclude, tableRefs); + } + } + RestoreStmt restoreStmt = new RestoreStmt(label, repoName, restoreTableRefClause, properties, request.getMeta(), request.getJobInfo()); restoreStmt.setIsBeingSynced(); LOG.trace("restore snapshot info, restoreStmt: {}", restoreStmt); diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index d792323867..c70222fea4 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -1048,6 +1048,7 @@ struct TGetSnapshotResult { struct TTableRef { 1: optional string table + 3: optional string alias_name } struct TRestoreSnapshotRequest { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
