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]