private List fetchTables()

in zetasql-toolkit-spanner/src/main/java/com/google/zetasql/toolkit/catalog/spanner/SpannerResourceProviderImpl.java [164:184]


  private List<SimpleTable> fetchTables(Statement query) {
    Map<String, List<SimpleColumn>> tableColumns = new HashMap<>();

    try (ResultSet resultSet = this.dbClient.singleUse().executeQuery(query)) {
      while (resultSet.next()) {
        String tableName = resultSet.getString("table_name");
        String columnName = resultSet.getString("column_name");
        String columnTypeStr = resultSet.getString("spanner_type");
        Type columnType = ZetaSQLTypeParser.parse(columnTypeStr);
        SimpleColumn column = new SimpleColumn(tableName, columnName, columnType);
        tableColumns.computeIfAbsent(tableName, key -> new ArrayList<>()).add(column);
      }
    }

    return tableColumns.entrySet().stream()
        .map(
            tableAndColumns ->
                CatalogOperations.buildSimpleTable(
                    tableAndColumns.getKey(), tableAndColumns.getValue()))
        .collect(Collectors.toList());
  }