@Override public Map<QualifiedObjectName, ViewDefinition> getViews(Session session, QualifiedTablePrefix prefix) { requireNonNull(prefix, "prefix is null"); Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, prefix.getCatalogName()); Map<QualifiedObjectName, ViewDefinition> views = new LinkedHashMap<>(); if (catalog.isPresent()) { CatalogMetadata catalogMetadata = catalog.get(); SchemaTablePrefix tablePrefix = prefix.asSchemaTablePrefix(); for (ConnectorId connectorId : catalogMetadata.listConnectorIds()) { ConnectorMetadata metadata = catalogMetadata.getMetadataFor(connectorId); ConnectorSession connectorSession = session.toConnectorSession(connectorId); for (Entry<SchemaTableName, ConnectorViewDefinition> entry : metadata.getViews(connectorSession, tablePrefix).entrySet()) { QualifiedObjectName viewName = new QualifiedObjectName( prefix.getCatalogName(), entry.getKey().getSchemaName(), entry.getKey().getTableName()); views.put(viewName, deserializeView(entry.getValue().getViewData())); } } } return ImmutableMap.copyOf(views); }
@Override public Optional<ViewDefinition> getView(Session session, QualifiedObjectName viewName) { Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, viewName.getCatalogName()); if (catalog.isPresent()) { CatalogMetadata catalogMetadata = catalog.get(); ConnectorId connectorId = catalogMetadata.getConnectorId(session, viewName); ConnectorMetadata metadata = catalogMetadata.getMetadataFor(connectorId); Map<SchemaTableName, ConnectorViewDefinition> views = metadata.getViews( session.toConnectorSession(connectorId), viewName.asSchemaTableName().toSchemaTablePrefix()); ConnectorViewDefinition view = views.get(viewName.asSchemaTableName()); if (view != null) { ViewDefinition definition = deserializeView(view.getViewData()); if (view.getOwner().isPresent()) { definition = definition.withOwner(view.getOwner().get()); } return Optional.of(definition); } } return Optional.empty(); }
for (ViewColumn column : deserializeView(entry.getValue().getViewData()).getColumns()) { columns.add(new ColumnMetadata(column.getName(), column.getType()));
@Override public Map<QualifiedObjectName, ViewDefinition> getViews(Session session, QualifiedTablePrefix prefix) { requireNonNull(prefix, "prefix is null"); SchemaTablePrefix tablePrefix = prefix.asSchemaTablePrefix(); Map<QualifiedObjectName, ViewDefinition> views = new LinkedHashMap<>(); for (ConnectorEntry connectorEntry : allConnectorsFor(prefix.getCatalogName())) { ConnectorMetadata metadata = connectorEntry.getMetadata(session); ConnectorSession connectorSession = session.toConnectorSession(connectorEntry.getCatalog()); for (Entry<SchemaTableName, ConnectorViewDefinition> entry : metadata.getViews(connectorSession, tablePrefix).entrySet()) { QualifiedObjectName viewName = new QualifiedObjectName( prefix.getCatalogName(), entry.getKey().getSchemaName(), entry.getKey().getTableName()); views.put(viewName, deserializeView(entry.getValue().getViewData())); } } return ImmutableMap.copyOf(views); }
@Override public Optional<ViewDefinition> getView(Session session, QualifiedObjectName viewName) { ConnectorEntry entry = getConnectorFor(session, viewName); if (entry != null) { ConnectorMetadata metadata = entry.getMetadata(session); Map<SchemaTableName, ConnectorViewDefinition> views = metadata.getViews( session.toConnectorSession(entry.getCatalog()), viewName.asSchemaTableName().toSchemaTablePrefix()); ConnectorViewDefinition view = views.get(viewName.asSchemaTableName()); if (view != null) { return Optional.of(deserializeView(view.getViewData())); } } return Optional.empty(); }
for (ViewColumn column : deserializeView(entry.getValue().getViewData()).getColumns()) { columns.add(new ColumnMetadata(column.getName(), column.getType()));