diff --git a/paimon-core/src/main/java/org/apache/paimon/rest/RESTCatalog.java b/paimon-core/src/main/java/org/apache/paimon/rest/RESTCatalog.java index fcf2d0525f04..6cdb23b5a54d 100644 --- a/paimon-core/src/main/java/org/apache/paimon/rest/RESTCatalog.java +++ b/paimon-core/src/main/java/org/apache/paimon/rest/RESTCatalog.java @@ -68,6 +68,7 @@ import java.io.IOException; import java.io.UncheckedIOException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -844,7 +845,9 @@ public void createView(Identifier identifier, View view, boolean ignoreIfExists) @Override public List listViews(String databaseName) throws DatabaseNotExistException { try { - return api.listViews(databaseName); + return CatalogUtils.isSystemDatabase(databaseName) + ? Collections.emptyList() + : api.listViews(databaseName); } catch (NoSuchResourceException e) { throw new DatabaseNotExistException(databaseName); } diff --git a/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java b/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java index 9998acd32029..7222f0df6c6b 100644 --- a/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java +++ b/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java @@ -840,6 +840,8 @@ public void testGetTable() throws Exception { .containsExactlyInAnyOrder( AllTableOptionsTable.ALL_TABLE_OPTIONS, CatalogOptionsTable.CATALOG_OPTIONS); + + assertThat(catalog.listViews(SYSTEM_DATABASE_NAME)).isEmpty(); } @Test