SkhcDb.AlbumParticipantSourceOperations on album's participant
type of album' participants
init ~album_id ~artist_id role creates a new relation by associated a music with album_id an artist with artist_id with a role.
equal a1 a2 tests whether a1 equals a2. All fields are used for the test.
insert db participant inserts participant inside db.
update_artist db old_id new_id replaces old_id by new_id.
val find :
compilation:bool ->
Database.t ->
(Artist.t * Role.t) list ->
Album.t ->
Album.t listfind ~compilation database artists album tries to find an album in database with the name album.name and at least an arist with the name is in artists unless compilation, in this case only the album.name is check to discriminate albums
val find_from_metadata :
compilation:bool ->
Database.t ->
SkhcMetadata.Metadata.t ->
Album.t listfind_from_metadata ~compilation database metadata is find but use metadata instead of database objects.
val find_or_insert :
compilation:bool ->
Database.t ->
(Artist.t * Role.t) list ->
Album.t ->
(Album.t, Sqlite3.Rc.t * string) resultfind_or_insert ~compilation database artists album tries to find an album in database with the name album.name and at least an arist with the name is in artists unless compilation, in this case only the album.name is check to discriminate albums. If no album is found, find_or_insert will try to insert album into database.