theoryxu commented on code in PR #4273:
URL: https://github.com/apache/gravitino/pull/4273#discussion_r1697821830


##########
iceberg/iceberg-common/src/main/java/org/apache/gravitino/iceberg/common/ops/IcebergTableOpsProvider.java:
##########
@@ -0,0 +1,28 @@
+package org.apache.gravitino.iceberg.common.ops;
+
+import java.util.Optional;
+import org.apache.gravitino.iceberg.common.IcebergConfig;
+
+/**
+ * IcebergTableOpsProvider is an interface defining how iceberg rest catalog 
server gets iceberg
+ * catalogs.
+ */
+public interface IcebergTableOpsProvider {
+
+  /** @param config The configuration parameters for creating Provider. */
+  void initialize(IcebergConfig config);
+
+  /**
+   * @param prefix the path param send by clients.
+   * @return the instance of IcebergTableOps.
+   */
+  IcebergTableOps getIcebergTableOps(String prefix);
+
+  /**
+   * Get a path prefix using by clients.
+   *
+   * @param warehouse the identifier for an iceberg catalog.
+   * @return a path prefix.
+   */
+  Optional<String> getPrefix(String warehouse);

Review Comment:
   I saw that `warehouse` is not only a location but could also be an 
identifier in the iceberg rest catalog spec. And Tabular takes it as an 
identifier.
   
   But I don't yet have solid proof of the relation between `warehouse` and 
`prefix `.
   
   I'll ask the iceberg community and try to figure it out. But before that, I 
will remove this method.



-- 
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