]> err.no Git - dak/commitdiff
Use sub-SELECT instead of LEFT OUTER JOIN.
authorAnsgar Burchardt <ansgar@debian.org>
Wed, 31 Aug 2011 08:08:33 +0000 (08:08 +0000)
committerAnsgar Burchardt <ansgar@debian.org>
Wed, 31 Aug 2011 08:08:33 +0000 (08:08 +0000)
dak/rm.py

index b9d0a108053b16e34d3b814875df4ac960f1935a..03d12f0f8108012b459d835b4dd0c63e0523b031 100755 (executable)
--- a/dak/rm.py
+++ b/dak/rm.py
@@ -126,13 +126,10 @@ def reverse_depends_check(removals, suite, arches=None, session=None):
 
         statement = '''
             SELECT b.id, b.package, s.source, c.name as component,
-                bmd.value as depends, bmp.value as provides
+                (SELECT bmd.value FROM binaries_metadata bmd WHERE bmd.bin_id = b.id AND bmd.key_id = :metakey_d_id) AS depends,
+                (SELECT bmp.value FROM binaries_metadata bmp WHERE bmp.bin_id = b.id AND bmp.key_id = :metakey_p_id) AS provides
                 FROM binaries b
                 JOIN bin_associations ba ON b.id = ba.bin AND ba.suite = :suite_id
-                LEFT OUTER JOIN binaries_metadata bmd
-                    ON b.id = bmd.bin_id AND bmd.key_id = :metakey_d_id
-                LEFT OUTER JOIN binaries_metadata bmp
-                    ON b.id = bmp.bin_id AND bmp.key_id = :metakey_p_id
                 JOIN source s ON b.source = s.id
                 JOIN files f ON b.file = f.id
                 JOIN location l ON f.location = l.id