X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcruft_report.py;h=ee1dcdef922a884cbe63d800584ef574fe5ace2a;hb=cac810b4aeb8fa34c8ccaa7dc35b081efddc606b;hp=b9ddf5f72a5a6adaf9e006f5a5487bf0b8d7750c;hpb=54a1e63df2a81a8f5e6f3148d59afcfeaa7b3495;p=dak.git diff --git a/dak/cruft_report.py b/dak/cruft_report.py index b9ddf5f7..ee1dcdef 100755 --- a/dak/cruft_report.py +++ b/dak/cruft_report.py @@ -198,10 +198,14 @@ def do_newer_version(lowersuite_name, highersuite_name, code, session): # Check for packages in $highersuite obsoleted by versions in $lowersuite q = session.execute(""" +WITH highersuite_maxversion AS (SELECT s.source AS source, max(s.version) AS version + FROM src_associations sa, source s + WHERE sa.suite = :highersuite_id AND sa.source = s.id group by s.source) SELECT s.source, s.version AS lower, s2.version AS higher - FROM src_associations sa, source s, source s2, src_associations sa2 + FROM src_associations sa, source s, source s2, src_associations sa2, highersuite_maxversion hm WHERE sa.suite = :highersuite_id AND sa2.suite = :lowersuite_id AND sa.source = s.id AND sa2.source = s2.id AND s.source = s2.source + AND hm.source = s.source AND hm.version < s2.version AND s.version < s2.version""", {'lowersuite_id': lowersuite.suite_id, 'highersuite_id': highersuite.suite_id}) ql = q.fetchall()