[mb-commits] branch, mbs-3856-revert-barcode-search-fixup, created. MBS-3856: Do not remove cover art from false positives (fixup 9737724).

MusicBrainz Git Server <[email protected]> Sat, 09 Feb 2013 15:04:18 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1U4ByU-0008FM-H4@wiley>
The branch, mbs-3856-revert-barcode-search-fixup has been created
        at  e4fc527c9a67ea4e1764fdba4d401a42ae35e2a4 (commit)

- Log -----------------------------------------------------------------
commit e4fc527c9a67ea4e1764fdba4d401a42ae35e2a4
Author: Johannes Weißl <[email protected]>
Date:   Sat Feb 9 16:44:30 2013 +0100

    MBS-3856: Do not remove cover art from false positives (fixup 9737724).
    
    False positives are releases with at least one URL relationship that
    explains the cover art (e.g. ASIN), and at least one that does not
    explain it (e.g. free download).
    
    Thanks to nikki for the pointer!

diff --git a/lib/MusicBrainz/Script/RemoveBarcodeCoverArt.pm b/lib/MusicBrainz/Script/RemoveBarcodeCoverArt.pm
index ea1d232..ff0fee7 100644
--- a/lib/MusicBrainz/Script/RemoveBarcodeCoverArt.pm
+++ b/lib/MusicBrainz/Script/RemoveBarcodeCoverArt.pm
@@ -28,17 +28,22 @@ sub find_releases
     # Find all releases that have a cover art URL but no URL relationship
     # that would explain it.
     my $query = '
-        SELECT DISTINCT ON (release.id)
-            release.id AS r_id
+        SELECT release.id AS r_id
         FROM release
         JOIN release_coverart ON release.id = release_coverart.id
-        LEFT JOIN l_release_url l ON ( l.entity0 = release.id )
-        LEFT JOIN link ON ( link.id = l.link )
-        LEFT JOIN link_type ON (
-          link_type.id = link.link_type AND
-          link_type.name IN (' . placeholders(@url_types) . ')
+        WHERE release_coverart.cover_art_url IS NOT NULL AND
+        release.id NOT IN (
+            SELECT DISTINCT release.id
+            FROM release
+            JOIN release_coverart ON release.id = release_coverart.id
+            LEFT JOIN l_release_url l ON ( l.entity0 = release.id )
+            LEFT JOIN link ON ( link.id = l.link )
+            LEFT JOIN link_type ON (
+              link_type.id = link.link_type AND
+              link_type.name IN (' . placeholders(@url_types) . ')
+            )
+            WHERE link_type.name IS NOT NULL
         )
-        WHERE link_type.name IS NULL
         ORDER BY release.id';
 
     return query_to_list($self->c->sql, sub {

-----------------------------------------------------------------------


hooks/post-receive
-- 
mb_server

_______________________________________________
MusicBrainz-commits mailing list
[email protected]
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits