private List<String> tableNames() {
    List<String> result = new ArrayList<>();
    try (ResultSet rs = conn.getMetaData().getTables(null, null, null, null)) {
      while (rs.next()) {
        String table = rs.getString("TABLE_NAME");
        if (VALID_TABLE_NAME.matcher(table).matches()) {
          result.add(table);
        }
      }
    } catch (SQLException e) {
      throwFatalException(e);
    }
    return result;
  }
Returns a JDBC connection to the sqlite file. Input can be the sqlite file itself or a zip file containing it.
planetiler-core/src/main/java/com/onthegomap/planetiler/reader/NaturalEarthReader.java