Peoples and PeopleBaseItemMap are never written #12
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Peoples0 against upstream's 357;PeopleBaseItemMap0 against 9 151.Upstream populates both from container tags with every remote provider
disabled.
/Personsanswers200with an empty list as a result.Found by scanning
/mnt/media(285 movies, 289 shows, 74 music artists —~13 000 media files on a CIFS mount) with both this server and upstream
Jellyfin at the pinned commit, remote metadata and image fetchers disabled on
upstream so both were reading files only. Upstream was given the same mount
path so
MD5(UTF-16LE(path))agrees and rows compare directly.Fixed in
d822cde,fb611a4,3940e74and30a7e26.Verified against the real library: every billing upstream files on a track,
this server now files too — 8425 links, none of them out of order, and none of
them ours alone (was 0 rows).
PeopleBaseItemMapon a trackPeopleBaseItemMapon an albumPeoplesBy kind, on a track:
Artist4533,AlbumArtist3660,Composer232 — eachof them exactly upstream's.
The 726 that are left hang off
MusicAlbumrows, which upstream bills from thealbum's own artists. This server's albums carry none, which is #24 — the same
place the album-level provider ids went. The seven
Peoplesrows that go withthem are the album artists no track of theirs names.
Peoplesitself is 363 against 302 for one more reason: upstream looks a personup by a key
SQLitefolds and a key.NETfolds, and the two disagree about aletter no keyboard has — so
MØLis filed 28 times over there and once here. Aclient is shown one either way; only the table differs.
Three rounds of review, and the library found two more:
AlbumArtistscolumn fallsback to its artists where no tag named one, and both columns are split on
delimiters a name may contain. Billing off them credited an album artist to
1229 tracks that name none, and made two people of
Craig Armstrong & Joseph Ray. The billing reads the tags: one name howeverit is punctuated, and two only where the file wrote the tag twice.
ALBUM ARTISTis notalbum_artist. No format defines the first, so thereader upstream bills from does not see it — but the column prefers it. A file
carrying both is billed by the second, and 73 tracks here carry both.
a broken
album_artistframe ahead of a good one, and the album artist cameout as eight characters of the frame's own name. Upstream copies each tag over
whatever was under that key, so the last wins —
30a7e26fixes the row aswell as the billing.
A person's id is derived from their name and what they were credited as, the way
a value's is, so a rescan writes the row it wrote before. Upstream draws a fresh
guid for each, so that column is exempt from the database diff along with the
link that joins on it — as is
ItemValuesMap.ItemValueId, which had been leftout when
ItemValueswas exempted.