dimas-b commented on code in PR #4091:
URL: https://github.com/apache/polaris/pull/4091#discussion_r3024701574


##########
runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogHandler.java:
##########
@@ -302,6 +291,23 @@ public ListNamespacesResponse listNamespaces(Namespace 
parent) {
     return catalogHandlerUtils().listNamespaces(namespaceCatalog, parent);
   }
 
+  public ListNamespacesResponse listNamespaces(
+      Namespace parent, String pageToken, Integer pageSize) {
+    PolarisAuthorizableOperation op = 
PolarisAuthorizableOperation.LIST_NAMESPACES;
+    authorizeBasicNamespaceOperationOrThrow(op, parent);
+
+    if (isFederated) {
+      return catalogHandlerUtils().listNamespaces(namespaceCatalog, parent, 
pageToken, pageSize);
+    } else {
+      PageToken pageRequest = PageToken.build(pageToken, pageSize, 
this::shouldDecodeToken);
+      var results = ((IcebergCatalog) baseCatalog).listNamespaces(parent, 
pageRequest);

Review Comment:
   That assumption is in the new code - it checks the `isFedeated` flag, and 
performs an unchecked (no `instanceof`) cast here. This means the code assumes 
that `baseCatalog` if `isFedeated == false`, which is based purely on 
`ConnectionConfigInfoDpo` and it is not clear how `ConnectionConfigInfoDpo` 
affects the type of `baseCatalog`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to