Sayonara Player
Public Types | Public Member Functions | Protected Member Functions | List of all members
SC::Database Class Reference
Inheritance diagram for SC::Database:
DB::Base DB::LibraryDatabase DB::Module DB::Albums DB::Artists DB::Tracks DB::SearchableModule DB::SearchableModule DB::SearchableModule

Public Types

enum  ArtistIDField : uint8_t {
  AlbumArtistID,
  ArtistID
}
 

Public Member Functions

bool db_fetch_tracks (::DB::Query &q, MetaDataList &result) const override
 
bool db_fetch_albums (::DB::Query &q, AlbumList &result) const override
 
bool db_fetch_artists (::DB::Query &q, ArtistList &result) const override
 
ArtistId updateArtist (const Artist &artist) override
 
ArtistId insertArtistIntoDatabase (const Artist &artist) override
 
ArtistId insertArtistIntoDatabase (const QString &artist) override
 
AlbumId updateAlbum (const Album &album) override
 
AlbumId insertAlbumIntoDatabase (const Album &album) override
 
AlbumId insertAlbumIntoDatabase (const QString &album) override
 
bool updateTrack (const MetaData &md) override
 
bool store_metadata (const MetaDataList &v_md) override
 
bool insertTrackIntoDatabase (const MetaData &md, int artist_id, int album_id, int album_artist_id) override
 
bool insertTrackIntoDatabase (const MetaData &md, int artist_id, int album_id) override
 
bool apply_fixes () override
 
QString load_setting (const QString &key)
 
bool save_setting (const QString &key, const QString &value)
 
bool insert_setting (const QString &key, const QString &value)
 
bool getSearchInformation (SC::SearchInformationList &list)
 
QString fetch_query_albums (bool also_empty=false) const override
 
QString fetch_query_artists (bool also_empty=false) const override
 
QString fetch_query_tracks () const override
 
virtual bool close_db ()
 
virtual bool is_initialized ()
 
virtual void transaction ()
 
virtual void commit ()
 
virtual void rollback ()
 
QSqlDatabase db () const
 
DbId db_id () const
 
QString connection_name () const
 
DB::Query run_query (const QString &query, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QPair< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QMap< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query update (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QPair< QString, QVariant > &where_binding, const QString &error_message)
 update More...
 
DB::Query insert (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QString &error_message)
 
void clear ()
 
LibraryId library_id () const
 
void change_artistid_field (ArtistIDField field)
 
QString artistid_field () const override
 
QString artistname_field () const override
 
QSqlDatabase db () const
 
DbId db_id () const
 
virtual bool db_fetch_albums (Query &q, AlbumList &result) const
 
virtual AlbumId getAlbumID (const QString &album) const
 
virtual bool getAlbumByID (AlbumId id, Album &album) const
 
virtual bool getAlbumByID (AlbumId id, Album &album, bool also_empty) const
 
virtual bool getAllAlbums (AlbumList &result, bool also_empty) const
 
virtual bool getAllAlbumsByArtist (const IdList &artists, AlbumList &result, const ::Library::Filter &filter) const
 
virtual bool getAllAlbumsBySearchString (const ::Library::Filter &filter, AlbumList &result) const
 
virtual void updateAlbumCissearch ()
 
::Library::SearchModeMask search_mode ()
 
::Library::SearchModeMask search_mode ()
 
void update_search_mode ()
 
void update_search_mode ()
 
QString connection_name () const
 
QString connection_name () const
 
DB::Query run_query (const QString &query, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QPair< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QMap< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QPair< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query run_query (const QString &query, const QMap< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query update (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QPair< QString, QVariant > &where_binding, const QString &error_message)
 update More...
 
DB::Query update (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QPair< QString, QVariant > &where_binding, const QString &error_message)
 update More...
 
DB::Query insert (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QString &error_message)
 
DB::Query insert (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QString &error_message)
 
virtual bool db_fetch_artists (Query &q, ArtistList &result) const
 
virtual ArtistId getArtistID (const QString &artist) const
 
virtual bool getArtistByID (ArtistId id, Artist &artist) const
 
virtual bool getArtistByID (ArtistId id, Artist &artist, bool also_empty) const
 
virtual bool getAllArtists (ArtistList &result, bool also_empty) const
 
virtual bool getAllArtistsBySearchString (const ::Library::Filter &filter, ArtistList &result) const
 
virtual bool deleteArtist (ArtistId id)
 
virtual void updateArtistCissearch ()
 
virtual bool db_fetch_tracks (Query &q, MetaDataList &result) const
 
virtual int getNumTracks () const
 
virtual bool getAllTracks (MetaDataList &result) const
 
virtual bool getAllTracksByAlbum (const IdList &albumsIds, MetaDataList &result) const
 
virtual bool getAllTracksByAlbum (const IdList &albumIds, MetaDataList &result, const ::Library::Filter &filter, int discnumber) const
 
virtual bool getAllTracksByArtist (const IdList &artistIds, MetaDataList &result) const
 
virtual bool getAllTracksByArtist (const IdList &artistIds, MetaDataList &result, const ::Library::Filter &filter) const
 
virtual bool getAllTracksBySearchString (const ::Library::Filter &filter, MetaDataList &result) const
 
virtual MetaData getTrackById (TrackID id) const
 
virtual bool getTracksByIds (const QList< TrackID > &ids, MetaDataList &v_md) const
 
virtual MetaData getTrackByPath (const QString &path) const
 
virtual bool getMultipleTracksByPath (const QStringList &paths, MetaDataList &v_md) const
 
virtual bool insertTrackIntoDatabase (const MetaData &data, ArtistId artist_id, AlbumId album_id)
 
virtual bool insertTrackIntoDatabase (const MetaData &data, ArtistId artist_id, AlbumId album_id, ArtistId album_artist_id)
 
virtual bool updateTracks (const MetaDataList &lst)
 
virtual bool deleteTrack (TrackID id)
 
virtual bool deleteTracks (const MetaDataList &)
 
virtual bool deleteTracks (const IdList &ids)
 
virtual bool deleteInvalidTracks (const QString &library_path, MetaDataList &double_metadata)
 
virtual Util::Set< GenregetAllGenres () const
 
virtual void updateTrackCissearch ()
 
void deleteAllTracks (bool also_views)
 
void drop_track_view ()
 
void drop_search_view ()
 

Protected Member Functions

virtual bool create_db ()
 
virtual bool check_and_insert_column (const QString &tablename, const QString &column, const QString &sqltype, const QString &default_value)
 
virtual bool check_and_insert_column (const QString &tablename, const QString &column, const QString &sqltype)
 
virtual bool check_and_create_table (const QString &tablename, const QString &sql_create_str)
 
virtual bool check_and_drop_table (const QString &tablename)
 

Member Function Documentation

◆ update() [1/3]

DB::Query DB::Module::update ( const QString &  tablename,
const QMap< QString, QVariant > &  field_bindings,
const QPair< QString, QVariant > &  where_binding,
const QString &  error_message 
)
inherited

update

Parameters
tablenameName of table to update
field_bindingsFields to update
where_bindingWhere clause
error_message
Returns

◆ update() [2/3]

DB::Query DB::Module::update ( const QString &  tablename,
const QMap< QString, QVariant > &  field_bindings,
const QPair< QString, QVariant > &  where_binding,
const QString &  error_message 
)
inherited

update

Parameters
tablenameName of table to update
field_bindingsFields to update
where_bindingWhere clause
error_message
Returns

◆ update() [3/3]

DB::Query DB::Module::update ( const QString &  tablename,
const QMap< QString, QVariant > &  field_bindings,
const QPair< QString, QVariant > &  where_binding,
const QString &  error_message 
)
inherited

update

Parameters
tablenameName of table to update
field_bindingsFields to update
where_bindingWhere clause
error_message
Returns