10#include <unordered_map>
19class GitHubDownloader;
30 std::unordered_map<std::string, PathInfo>
paths;
39 std::vector<std::string> repo_paths, duckdb::Connection &con,
bool use_cache);
42 std::string
get_path(
const std::string &key,
const std::string &table);
46 void react_on_rate_limit_reached(std::time_t reset_time);
47 void update_local_asset(
const std::string &key);
48 void cache_table(std::unordered_map<std::string, PathInfo>::iterator table_it);
52 std::vector<std::string> repo_paths_;
53 duckdb::Connection &con;
55 std::unordered_map<std::string, LocalAssetInfo> local_asset_info;
56 std::unordered_map<std::string, RemoteAssetInfo> remote_asset_info;
57 std::regex local_regex{R
"(^(\w+)_v(\d+)\.(\d+)$)"};
58 std::regex remote_regex{R"(^(\w+)_v(\d+)\.(\d+)\.zip$)"};
59 std::shared_mutex mtx_local;
ParquetManager(std::filesystem::path directory, const GitHubDownloader &downloader, std::vector< std::string > repo_paths, duckdb::Connection &con, bool use_cache)
std::string get_versions_info() const
std::string get_path(const std::string &key, const std::string &table)
std::unordered_map< std::string, PathInfo > paths