@Override public List<String> listSchemaNames(Session session, String catalogName) { checkCatalogName(catalogName); ImmutableSet.Builder<String> schemaNames = ImmutableSet.builder(); for (ConnectorEntry entry : allConnectorsFor(catalogName)) { ConnectorMetadata metadata = entry.getMetadata(session); schemaNames.addAll(metadata.listSchemaNames(session.toConnectorSession(entry.getCatalog()))); } return ImmutableList.copyOf(schemaNames.build()); }
@Override public List<QualifiedObjectName> listTables(Session session, QualifiedTablePrefix prefix) { requireNonNull(prefix, "prefix is null"); String schemaNameOrNull = prefix.getSchemaName().orElse(null); Set<QualifiedObjectName> tables = new LinkedHashSet<>(); for (ConnectorEntry entry : allConnectorsFor(prefix.getCatalogName())) { ConnectorMetadata metadata = entry.getMetadata(session); ConnectorSession connectorSession = session.toConnectorSession(entry.getCatalog()); for (QualifiedObjectName tableName : transform(metadata.listTables(connectorSession, schemaNameOrNull), convertFromSchemaTableName(prefix.getCatalogName()))) { tables.add(tableName); } } return ImmutableList.copyOf(tables); }
@Override public List<QualifiedObjectName> listViews(Session session, QualifiedTablePrefix prefix) { requireNonNull(prefix, "prefix is null"); String schemaNameOrNull = prefix.getSchemaName().orElse(null); Set<QualifiedObjectName> views = new LinkedHashSet<>(); for (ConnectorEntry entry : allConnectorsFor(prefix.getCatalogName())) { ConnectorMetadata metadata = entry.getMetadata(session); ConnectorSession connectorSession = session.toConnectorSession(entry.getCatalog()); for (QualifiedObjectName tableName : transform(metadata.listViews(connectorSession, schemaNameOrNull), convertFromSchemaTableName(prefix.getCatalogName()))) { views.add(tableName); } } return ImmutableList.copyOf(views); }
@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); }
for (ConnectorEntry connectorEntry : allConnectorsFor(prefix.getCatalogName())) { ConnectorMetadata metadata = connectorEntry.getMetadata(session);