When this is the case, I’m guessing it’s appropriate to take the least significant recording (the single, not the album) and give it a disambiguation comment of “single”. Indeed, “single” is the 8th most common release_group disambiguation comment, with 46 entries so far. Sure, it’s redundant as the database already knows all this information (and more semantically, at that), but it’s a handy shortcut that can simplify Picard scripts for people who own both and want to keep them separate. They can simply tell Picard “if this release_group has a disambiguation comment of ‘single’, then note that in brackets after its name”:
If this is appropriate, then it seems like something that can be automated. A script can periodically look at the entire database, and submit an edit that adds a “single” disambiguation comment, for any single released by an artist who released an album of the same name.
As a proof of method, I imported the database and pulled out a list of candidate release_group global IDs:
mysql> CREATE TABLE release_groups (id int unsigned NOT NULL AUTO_INCREMENT, gid binary(36), name char(128), artist_id int unsigned, release_type_id int unsigned, comment char(128), primary key (id), index (name), index (artist_id), index (release_type_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8; mysql> LOAD DATA INFILE '<location>/mbdump/release_group' INTO TABLE release_groups COLUMNS TERMINATED BY ' '; mysql> SELECT release_group_single.gid FROM release_groups AS release_group_single CROSS JOIN release_groups AS release_group_album ON release_group_album.artist_id = release_group_single.artist_id AND release_group_album.name = release_group_single.name AND release_group_album.release_type_id = 1 WHERE release_group_single.release_type_id = 2 AND release_group_single.comment = '';
This gives a list of 5865 release_group global IDs of singles that have the same name as albums by the same artist. I believe they would all benefit from being given a disambiguation comment of “single”. Should someone create a robot to do this? Or is this an abuse of the release_group’s disambiguation comment?