Cleaning the music library
#16
(2014-10-13, 07:13)ilomambo Wrote: So basically, yes, there was a inconsistency between the album and album_artist tables which lead XBMC to show ghost artists.

Album_Artist is only populated when there is artist information that has been scraped. So there will not be a 1:1 match. The 'ghost artist' must be listed in the ALBUM table somewhere, and that entry most likely came from a tag, or an override from and MBID tag scrape.
Reply
#17
(2014-10-13, 13:37)whitebelly Wrote:
(2014-10-13, 07:13)ilomambo Wrote: So basically, yes, there was a inconsistency between the album and album_artist tables which lead XBMC to show ghost artists.

Album_Artist is only populated when there is artist information that has been scraped. So there will not be a 1:1 match. The 'ghost artist' must be listed in the ALBUM table somewhere, and that entry most likely came from a tag, or an override from and MBID tag scrape.

If that's the case, then album_artist is a subset of album, so every record in album_artist must have a correspondent record in the album table. In my case the correspondent record was missing so I had to clean album_artist orphan record.

A secondary effect of this was that I had artists linked to this orphan record which had no other entry elsewhere in the db, therefore became ghost artists. Had to clean them too.

I cannot explain the mechanism over the history of XBMC versions and MyMusicxx.db version + library cleanups that produced this situation. If I could, we would know it is a bug and find the proper solution. I can only assure you that I arrived to that state using solely XBMC updates and "clean library..." executions.

The album table does not have an Artist key (ID) only strArtist which is of type String and therefore unreliable as relational databases go (cannot assure uniqueness). Only if it had an idArtist key you can relate it to an Artist with certainty, that's why they created album_artist I think, I don't know why they did not use a single table with multiple keys, maybe there is a limitation on SQLite?
Reply
#18
Either make a proper bug report on track or test kodi sooner rather than later.
Reply
#19
(2014-10-13, 15:01)ilomambo Wrote: If that's the case, then album_artist is a subset of album, so every record in album_artist must have a correspondent record in the album table. In my case the correspondent record was missing so I had to clean album_artist orphan record.
I made an error. I was speaking of the Artist_Info table but stated Album_Artist. My apologies for the confusion.
Reply

Logout Mark Read Team Forum Stats Members Help
Cleaning the music library0