dennishuo commented on code in PR #1231:
URL: https://github.com/apache/polaris/pull/1231#discussion_r2013034014


##########
service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java:
##########
@@ -1189,6 +1189,20 @@ private class BasePolarisTableOperations extends 
BaseMetastoreTableOperations {
       this.tableFileIO = defaultFileIO;
     }
 
+    protected PolarisResolvedPathWrapper getTablePath(TableIdentifier 
tableIdentifier) {

Review Comment:
   Yeah, after chatting more with @eric-maynard we talked about how the 
inclusion of `metadataLocation` doesn't *have* to necessarily pollute the 
GenericTableEntity; and we will want to embrace polymorphism and inheritance on 
the Java class hierarchy anyways that isn't necessarily 1:1 with the type enum. 
For example, `CatalogEntity` might benefit from splitting into 
`InternalCatalogEntity` and `ExternalCatalogEntity` in the near future even 
though both are `CATALOG` EntityType.
   
   And given the plans for how `StorageConfigInfo` is intended to be inherited 
from the parent hierarchy, we eventually want:
   
       interface HasStorageConfiguration
       class CatalogEntity extends PolarisEntity implements 
HasStorageConfiguration
       class NamespaceEntity extends PolarisEntity implements 
HasStorageConfiguration
   
   So if we reuse `TABLE_LIKE` we get the benefits of the existing semantics of 
"name-collision grouping" already, and also things like `getParentNamespace` 
intending to be common across GenericTables and IcebergTables.
   
   The main downside is that sub-subtypes get more messy if we want 
DELTA_GENERIC_TABLE instead of only GENERIC_TABLE, but as we mentioned the 
subtype hierarchy probably needs to be extended anyways, and in the meantime 
`TABLE_LIKE` is better for fitting into the existing behavior of the actual 
primary-key/index fields of the persistence model.



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