From a11ae2cd51d41f74d3587ab8044289bfb3d88755 Mon Sep 17 00:00:00 2001 From: Tiewei Fang <43782773+BePPPower@users.noreply.github.com> Date: Mon, 22 Apr 2024 23:39:30 +0800 Subject: [PATCH] [Fix](Jdbc-Hive) fix the order of partition keys (#33963) The partition key information recorded in PARTITION_KEYS table is sorted according to the INTEGER_IDX field, so we need to add an 'order by' clause to ensure that the obtained partition names are ordered. --- .../doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java index a98e71d4b2..a0c2aa29ab 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java @@ -229,7 +229,7 @@ public class PostgreSQLJdbcHMSCachedClient extends JdbcHMSCachedClient { private List getPartitionValues(int partitionId) { String sql = String.format("SELECT \"PART_KEY_VAL\" FROM \"PARTITION_KEY_VALS\"" - + " WHERE \"PART_ID\" = " + partitionId); + + " WHERE \"PART_ID\" = " + partitionId + " ORDER BY \"INTEGER_IDX\""); if (LOG.isDebugEnabled()) { LOG.debug("getPartitionValues exec sql: {}", sql); } @@ -366,7 +366,7 @@ public class PostgreSQLJdbcHMSCachedClient extends JdbcHMSCachedClient { private List getTablePartitionKeys(int tableId) { String sql = "SELECT \"PKEY_NAME\", \"PKEY_TYPE\", \"PKEY_COMMENT\" from \"PARTITION_KEYS\"" - + " WHERE \"TBL_ID\"= " + tableId; + + " WHERE \"TBL_ID\"= " + tableId + " ORDER BY \"INTEGER_IDX\""; if (LOG.isDebugEnabled()) { LOG.debug("getTablePartitionKeys exec sql: {}", sql); }