sunyuhan1998 commented on code in PR #10895:
URL: https://github.com/apache/gravitino/pull/10895#discussion_r3257095877


##########
lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/GravitinoLanceTableOperations.java:
##########
@@ -131,10 +159,61 @@ public DescribeTableResponse describeTable(
         Optional.ofNullable(table.properties().get(LANCE_TABLE_VERSION))
             .map(Long::valueOf)
             .orElse(null));
-    
response.setStorageOptions(LancePropertiesUtils.getLanceStorageOptions(table.properties()));
+
+    if (credentialPrivilege != null) {
+      response.setStorageOptions(
+          buildVendedStorageOptions(catalogName, catalog, table, 
credentialPrivilege));
+    } else {
+      
response.setStorageOptions(LancePropertiesUtils.getLanceStorageOptions(table.properties()));
+    }
+
     return response;
   }
 
+  private Map<String, String> buildVendedStorageOptions(
+      String catalogName, Catalog catalog, Table table, CredentialPrivilege 
credentialPrivilege) {

Review Comment:
   > It is reasonable for adding `table.supporsCredentials().getCredentials()`.
   
   Got it. We'll proceed with the table-level approach:
   
   1. `GenericCatalogOperations` implements `SupportsPathBasedCredentials`
   2. Server credential REST API adds `TABLE` type support
   3. Client-side `RelationalTable` implements `SupportsCredentials`
   4. Lance server uses `table.supportsCredentials().getCredentials()` and 
removes local credential generation
   
   We'll rework this PR accordingly. Thanks for the guidance!



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