Ejemplo n.º 1
0
  @Override
  public Map<QualifiedTableName, List<ColumnMetadata>> listTableColumns(
      QualifiedTablePrefix prefix) {
    checkNotNull(prefix, "prefix is null");

    LinkedHashMap<QualifiedTableName, List<ColumnMetadata>> tableColumns = new LinkedHashMap<>();
    for (ConnectorMetadataEntry connectorMetadata : allConnectorsFor(prefix.getCatalogName())) {
      for (Entry<SchemaTableName, List<ColumnMetadata>> entry :
          connectorMetadata
              .getMetadata()
              .listTableColumns(prefix.asSchemaTablePrefix())
              .entrySet()) {
        QualifiedTableName tableName =
            new QualifiedTableName(
                prefix.getCatalogName(),
                entry.getKey().getSchemaName(),
                entry.getKey().getTableName());
        if (!tableColumns.containsKey(tableName)) {
          tableColumns.put(tableName, entry.getValue());
        }
      }
    }
    return ImmutableMap.copyOf(tableColumns);
  }