diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java index ffb2abdf62..4afc17d527 100644 --- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -8562,8 +8562,8 @@ public NotificationEventResponse getNextNotification(NotificationEventRequest rq } private void lockForUpdate() throws MetaException { - String selectQuery = "select \"NEXT_EVENT_ID\" from \"NOTIFICATION_SEQUENCE\""; - String selectForUpdateQuery = sqlGenerator.addForUpdateClause(selectQuery); + String selectForUpdateQuery = + sqlGenerator.addForUpdateClause(sqlGenerator.selectFromNotificationSequence()); new RetryingExecutor(conf, () -> { Query query = pm.newQuery("javax.jdo.query.SQL", selectForUpdateQuery); query.setUnique(true); diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/tools/SQLGenerator.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/tools/SQLGenerator.java index 8268af9559..b076b86ca8 100644 --- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/tools/SQLGenerator.java +++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/tools/SQLGenerator.java @@ -169,4 +169,16 @@ public String addLimitClause(int numRows, String noSelectsqlQuery) throws MetaEx throw new MetaException(msg); } } + + private static final String DEFAULT_SELECT = "select NEXT_EVENT_ID from NOTIFICATION_SEQUENCE"; + private static final String POSTGRES_SELECT = "select \"NEXT_EVENT_ID\" from \"NOTIFICATION_SEQUENCE\""; + + public String selectFromNotificationSequence() { + switch (dbProduct) { + case POSTGRES: + return POSTGRES_SELECT; + default: + return DEFAULT_SELECT; + } + } }