nastra commented on code in PR #7880:
URL: https://github.com/apache/iceberg/pull/7880#discussion_r1252062959
##########
core/src/main/java/org/apache/iceberg/inmemory/InMemoryCatalog.java:
##########
@@ -287,6 +294,69 @@ public List<Namespace> listNamespaces(Namespace namespace)
throws NoSuchNamespac
public void close() throws IOException {
namespaces.clear();
tables.clear();
+ views.clear();
+ }
+
+ @Override
+ public List<TableIdentifier> listViews(Namespace namespace) {
+ if (!namespaceExists(namespace) && !namespace.isEmpty()) {
+ throw new NoSuchNamespaceException(
+ "Cannot list views for namespace. Namespace does not exist: %s",
namespace);
+ }
+
+ return views.keySet().stream()
+ .filter(t -> namespace.isEmpty() || t.namespace().equals(namespace))
+ .sorted(Comparator.comparing(TableIdentifier::toString))
+ .collect(Collectors.toList());
+ }
+
+ @Override
+ public View loadView(TableIdentifier identifier) {
+ if (isValidIdentifier(identifier) && views.containsKey(identifier)) {
+ return new BaseView(newViewOps(identifier), fullTableName(name(),
identifier));
Review Comment:
good point and this relates to
https://github.com/apache/iceberg/issues/7419.
Shall we maybe pass the catalog name and the identifier to the view? Or do
you think we won't need the catalog name and we should just keep the identifier
and change the `View` API to return `TableIdentifier identifier()` rather than
`String name()`?
--
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]