diff --git a/standalone-metastore/metastore-rest-catalog/src/main/java/org/apache/iceberg/rest/HMSCatalogAdapter.java b/standalone-metastore/metastore-rest-catalog/src/main/java/org/apache/iceberg/rest/HMSCatalogAdapter.java index 885e30063528..d087f9793c10 100644 --- a/standalone-metastore/metastore-rest-catalog/src/main/java/org/apache/iceberg/rest/HMSCatalogAdapter.java +++ b/standalone-metastore/metastore-rest-catalog/src/main/java/org/apache/iceberg/rest/HMSCatalogAdapter.java @@ -241,7 +241,17 @@ private ListNamespacesResponse listNamespaces(Map vars) { } else { namespace = Namespace.empty(); } - return castResponse(ListNamespacesResponse.class, CatalogHandlers.listNamespaces(asNamespaceCatalog, namespace)); + String pageToken = PropertyUtil.propertyAsString(vars, "pageToken", null); + String pageSize = PropertyUtil.propertyAsString(vars, "pageSize", null); + if (pageSize != null) { + return castResponse( + ListNamespacesResponse.class, + CatalogHandlers.listNamespaces(asNamespaceCatalog, namespace, pageToken, pageSize)); + } else { + return castResponse( + ListNamespacesResponse.class, + CatalogHandlers.listNamespaces(asNamespaceCatalog, namespace)); + } } private CreateNamespaceResponse createNamespace(Object body) { @@ -278,7 +288,15 @@ private UpdateNamespacePropertiesResponse updateNamespace(Map va private ListTablesResponse listTables(Map vars) { Namespace namespace = namespaceFromPathVars(vars); - return castResponse(ListTablesResponse.class, CatalogHandlers.listTables(catalog, namespace)); + String pageToken = PropertyUtil.propertyAsString(vars, "pageToken", null); + String pageSize = PropertyUtil.propertyAsString(vars, "pageSize", null); + if (pageSize != null) { + return castResponse( + ListTablesResponse.class, + CatalogHandlers.listTables(catalog, namespace, pageToken, pageSize)); + } else { + return castResponse(ListTablesResponse.class, CatalogHandlers.listTables(catalog, namespace)); + } } private LoadTableResponse createTable(Map vars, Object body) {