You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2020/03/24 09:14:34 UTC
[incubator-doris] branch master updated: [BUG] Make default result
ordering of SHOW PARTITIONS statement be consist with 0.11 (#3184)
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 <ga...@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-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org