This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new e794bb6 [BUG] Make default result ordering of SHOW PARTITIONS statement be consist with 0.11 (#3184) e794bb6 is described below commit e794bb69b779edb4cdedb5e89e78b9b91ba47c9d Author: Dayue Gao <gaoda...@meituan.com> AuthorDate: Tue Mar 24 17:14:27 2020 +0800 [BUG] Make default result ordering of SHOW PARTITIONS statement be consist with 0.11 (#3184) --- .../java/org/apache/doris/catalog/OlapTable.java | 4 ---- .../doris/common/proc/PartitionsProcDir.java | 23 +++++++++++++--------- .../apache/doris/catalog/TempPartitionTest.java | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/fe/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/src/main/java/org/apache/doris/catalog/OlapTable.java index b783fc7..44e54cd 100644 --- a/fe/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -1444,10 +1444,6 @@ public class OlapTable extends Table { tempPartitions.dropAll(); } - public Collection<Partition> getAllTempPartitions() { - return tempPartitions.getAllPartitions(); - } - public boolean existTempPartitions() { return !tempPartitions.isEmpty(); } diff --git a/fe/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java b/fe/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java index 9d6d27b..a3c5a61 100644 --- a/fe/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java +++ b/fe/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java @@ -51,10 +51,10 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.stream.Collectors; @@ -209,18 +209,23 @@ public class PartitionsProcDir implements ProcDirInterface { List<List<Comparable>> partitionInfos = new ArrayList<List<Comparable>>(); db.readLock(); try { - Set<String> partitionsNames; - if (isTempPartition) { - partitionsNames = olapTable.getAllTempPartitions().stream().map(p -> p.getName()).collect(Collectors.toSet()); + List<Long> partitionIds; + PartitionInfo tblPartitionInfo = olapTable.getPartitionInfo(); + + // for range partitions, we return partitions in ascending range order by default. + // this is to be consistent with the behaviour before 0.12 + if (tblPartitionInfo.getType() == PartitionType.RANGE) { + RangePartitionInfo rangePartitionInfo = (RangePartitionInfo) tblPartitionInfo; + partitionIds = rangePartitionInfo.getSortedRangeMap(isTempPartition).stream() + .map(Map.Entry::getKey).collect(Collectors.toList()); } else { - partitionsNames = olapTable.getPartitions().stream().map(p -> p.getName()).collect(Collectors.toSet()); + Collection<Partition> partitions = isTempPartition ? olapTable.getTempPartitions() : olapTable.getPartitions(); + partitionIds = partitions.stream().map(Partition::getId).collect(Collectors.toList()); } Joiner joiner = Joiner.on(", "); - PartitionInfo tblPartitionInfo = olapTable.getPartitionInfo(); - for (String partName : partitionsNames) { - Partition partition = olapTable.getPartition(partName, isTempPartition); - long partitionId = partition.getId(); + for (Long partitionId : partitionIds) { + Partition partition = olapTable.getPartition(partitionId); List<Comparable> partitionInfo = new ArrayList<Comparable>(); String partitionName = partition.getName(); diff --git a/fe/src/test/java/org/apache/doris/catalog/TempPartitionTest.java b/fe/src/test/java/org/apache/doris/catalog/TempPartitionTest.java index 8449a8c..849848d 100644 --- a/fe/src/test/java/org/apache/doris/catalog/TempPartitionTest.java +++ b/fe/src/test/java/org/apache/doris/catalog/TempPartitionTest.java @@ -578,7 +578,7 @@ public class TempPartitionTest { OlapTable readTbl = (OlapTable) Table.read(in); Assert.assertEquals(tbl.getId(), readTbl.getId()); - Assert.assertEquals(tbl.getAllTempPartitions().size(), readTbl.getAllTempPartitions().size()); + Assert.assertEquals(tbl.getTempPartitions().size(), readTbl.getTempPartitions().size()); file.delete(); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org