diff --git a/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java b/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java index 7a5f3ef978bcd..d67cd23781322 100644 --- a/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java +++ b/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java @@ -80,7 +80,7 @@ public Void visitBackupStatement(BackupStmt backupStmt, ConnectContext context) String dbName = getDbName(backupStmt.getDbName(), context); Database database = getDatabase(dbName, context); analyzeLabelAndRepo(backupStmt.getLabel(), backupStmt.getRepoName()); - Map tblPartsMap = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER); + Map tblPartsMap = Maps.newTreeMap(); List tableRefs = backupStmt.getTableRefs(); // If TableRefs is empty, it means that we do not specify any table in Backup stmt. // We should backup all table in current database. @@ -253,7 +253,7 @@ public Void visitShowBackupStatement(ShowBackupStmt showBackupStmt, ConnectConte public Void visitRestoreStatement(RestoreStmt restoreStmt, ConnectContext context) { List tableRefs = restoreStmt.getTableRefs(); Set aliasSet = Sets.newHashSet(); - Map tblPartsMap = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER); + Map tblPartsMap = Maps.newTreeMap(); for (TableRef tableRef : tableRefs) { TableName tableName = tableRef.getName(); diff --git a/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeBackupRestoreTest.java b/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeBackupRestoreTest.java index ab243fa0fc3f0..062dbfedcf1f9 100644 --- a/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeBackupRestoreTest.java +++ b/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeBackupRestoreTest.java @@ -67,6 +67,8 @@ public void testBackup() { "PROPERTIES (\"type\" = \"full\",\"timeout\" = \"3600\");"); analyzeSuccess("BACKUP SNAPSHOT snapshot_pk_label TO `repo` ON ( tprimary ) " + "PROPERTIES (\"type\" = \"full\",\"timeout\" = \"3600\");"); + analyzeSuccess("BACKUP SNAPSHOT test.snapshot_label2 TO `repo` ON ( t3, T3 ) " + + "PROPERTIES (\"type\" = \"full\",\"timeout\" = \"3600\");"); analyzeFail("BACKUP SNAPSHOT test.snapshot_label2 TO `repo` ON ( t0, t0 ) " + "PROPERTIES (\"type\" = \"full\",\"timeout\" = \"3600\");"); analyzeFail("BACKUP SNAPSHOT test.snapshot_label2 TO `repo` ON ( t0, t1 ) " + diff --git a/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeTestUtil.java b/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeTestUtil.java index 23c631a1e1fc1..2ba43bac4fc0b 100644 --- a/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeTestUtil.java +++ b/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeTestUtil.java @@ -76,6 +76,30 @@ public static void init() throws Exception { "\"in_memory\" = \"false\"\n" + ");"); + starRocksAssert.withTable("CREATE TABLE `t3` (\n" + + " `v10` bigint NULL COMMENT \"\",\n" + + " `v11` bigint NULL COMMENT \"\",\n" + + " `v12` bigint NULL\n" + + ") ENGINE=OLAP\n" + + "DUPLICATE KEY(`v10`, `v11`, v12)\n" + + "DISTRIBUTED BY HASH(`v10`) BUCKETS 3\n" + + "PROPERTIES (\n" + + "\"replication_num\" = \"1\",\n" + + "\"in_memory\" = \"false\"\n" + + ");"); + + starRocksAssert.withTable("CREATE TABLE `T3` (\n" + + " `v10` bigint NULL COMMENT \"\",\n" + + " `v11` bigint NULL COMMENT \"\",\n" + + " `v12` bigint NULL\n" + + ") ENGINE=OLAP\n" + + "DUPLICATE KEY(`v10`, `v11`, v12)\n" + + "DISTRIBUTED BY HASH(`v10`) BUCKETS 3\n" + + "PROPERTIES (\n" + + "\"replication_num\" = \"1\",\n" + + "\"in_memory\" = \"false\"\n" + + ");"); + starRocksAssert.withTable("CREATE TABLE `tall` (\n" + " `ta` varchar(20) NULL COMMENT \"\",\n" + " `tb` smallint(6) NULL COMMENT \"\",\n" +