diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java index 49d187505dc3..3aa1edb47ea4 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java @@ -1878,6 +1878,9 @@ public List getForeignKeys(String catName, String parent_db_name, if (queryText.endsWith("AND")) { queryText = queryText.substring(0, queryText.length()-3); } + queryText += """ + ORDER BY %1$s."CONSTRAINT_NAME" ASC, %1$s."POSITION ASC" + """.formatted(KEY_CONSTRAINTS); List pms = new ArrayList(); pms.add(catName); if (foreign_db_name != null) { diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java index 8a2c94a6443d..b1f1eb19d645 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -11618,6 +11618,7 @@ private List getForeignKeysViaJdo(String catName, String parentDb if (foreignDbName != null) { params.add(foreignDbName); } + query.setOrdering("constraintName ascending, position ascending"); constraints = (Collection) query.executeWithArray(params.toArray(new String[0])); pm.retrieveAll(constraints);