Module SkhcDb.QuerySource

Module representing more complex queries used inside shakuhachi.

Sourceval musics : ?rev:bool -> Database.t -> (MusicFile.t -> Album.t -> (string * Roles.t) Ids.Map.t -> SkhcMetadata.Metadata.Values.t SkhcMetadata.Metadata.Properties.t -> 'a option) -> ('a list, Sqlite3.Rc.t * string) result

musics db f queries all musics inside db and applies f to every element, keeping all Some elements returned by f. If rev, elements are returned in the reversed order.

  • before 0.3.0,

    no rev optional argument.

Sourceval music : Database.t -> int64 -> (MusicFile.t -> Album.t -> (string * Roles.t) Ids.Map.t -> SkhcMetadata.Metadata.Values.t SkhcMetadata.Metadata.Properties.t -> 'a option) -> ('a option, Sqlite3.Rc.t * string) result

music db f queries the music with id inside db and applies f to it, keeping it if Some is returned by f.

  • since 0.3.0
Sourceval albums : ?rev:bool -> Database.t -> (Album.t -> Album.Stats.t -> (string * Roles.t) Ids.Map.t -> 'a option) -> ('a list, Sqlite3.Rc.t * string) result

albums db f queries all albums inside db and applies f to every element, keeping all Some elements returned by f. If rev, elements are returned in the reversed order.

  • before 0.3.0,

    no rev optional argument.

Sourceval album : Database.t -> int64 -> (Album.t -> Album.Stats.t -> (string * Roles.t) Ids.Map.t -> 'a option) -> ('a option, Sqlite3.Rc.t * string) result

album db id f queries the album with id inside db and applies f to it, keeping it if Some is returned by f.

  • since 0.3.0
Sourceval artists : Database.t -> (Artist.t -> 'a option) -> ('a list, Sqlite3.Rc.t * string) result

artists db f queries all artists inside db and applies f to every element, keeping all Some elements returned by f.