hililiwei commented on code in PR #6222:
URL: https://github.com/apache/iceberg/pull/6222#discussion_r1042027502
##########
flink/v1.16/flink/src/main/java/org/apache/iceberg/flink/FlinkCatalog.java:
##########
@@ -140,15 +142,25 @@ public Catalog catalog() {
return icebergCatalog;
}
- private Namespace toNamespace(String database) {
+ /** Append a new level to the base namespace */
+ private static Namespace appendLevel(Namespace baseNamespace, String
newLevel) {
String[] namespace = new String[baseNamespace.levels().length + 1];
System.arraycopy(baseNamespace.levels(), 0, namespace, 0,
baseNamespace.levels().length);
- namespace[baseNamespace.levels().length] = database;
+ namespace[baseNamespace.levels().length] = newLevel;
return Namespace.of(namespace);
}
TableIdentifier toIdentifier(ObjectPath path) {
- return TableIdentifier.of(toNamespace(path.getDatabaseName()),
path.getObjectName());
+ String objectName = path.getObjectName();
+ List<String> tableName = Splitter.on('$').splitToList(objectName);
+ if (tableName.size() == 2 && MetadataTableType.from(tableName.get(1)) !=
null) {
Review Comment:
`tableName.size() == 2 && MetadataTableType.from(tableName.get(1)) != null`
This condition seems to be sufficient to pick up the metadata table, and we
don't need to add additional precondition check. We just need to make sure that
the non-metadata table doesn't match the if branch, and it continues with the
old logic. Or have I misunderstood what you're trying to say?
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]