17 static std::string MangleName(
const std::string& Name);
22 void CreateDBTables()
const;
24 SQLite::Transaction* curTransaction{
nullptr };
27 SQLite::Database* db{
nullptr };
30 inline std::pair<std::string, int> SongFromStatement(
32 SQLite::Statement& query)
const;
34 std::map<std::string, Song*>& hyperCache);
37 std::vector<std::pair<std::pair<std::string, unsigned int>,
Song*>*>&
39 void DeleteSongFromDBByCondition(
const std::string& condition)
const;
40 void DeleteSongFromDB(
Song* songPtr)
const;
41 void DeleteSongFromDBByDir(
const std::string& dir)
const;
42 void DeleteSongFromDBByDirHash(
unsigned int hash)
const;
43 static std::string GetCacheFilePath(
const std::string& sGroup,
44 const std::string& sPath);
45 unsigned GetCacheHash(
const std::string& path)
const;
46 bool delay_save_cache;
48 int64_t InsertStepsTimingData(
const TimingData& timing)
const;
49 int64_t InsertSteps(
Steps* pSteps, int64_t songID)
const;
50 bool LoadSongFromCache(
Song* song,
const std::string& dir);
51 bool CacheSong(
Song& song,
const std::string& dir)
const;
52 void StartTransaction();
53 void FinishTransaction();