- q = projectB.query("SELECT su.suite_name, c.name, a.arch_string, b.package, b.version, l.path, f.filename, f.id FROM suite su, bin_associations ba, binaries b, files f, component c, architecture a, location l WHERE ba.suite = su.id AND su.suite_name = 'stable' AND ba.bin = b.id AND f.id = b.file AND f.location = l.id AND (l.component = c.id OR (l.component = NULL and c.name = 'non-US/main')) AND b.architecture = a.id AND NOT (f.filename ~ '^potato/');");
+ q = projectB.query("""
+SELECT DISTINCT ON (f.id) c.name, a.arch_string, sec.section, b.package,
+ b.version, l.path, f.filename, f.id
+ FROM architecture a, bin_associations ba, binaries b, component c, files f,
+ location l, override o, section sec, suite su
+ WHERE su.suite_name = 'stable' AND ba.suite = su.id AND ba.bin = b.id
+ AND f.id = b.file AND f.location = l.id AND o.package = b.package
+ AND sec.id = o.section AND NOT (f.filename ~ '^potato/')
+ AND b.architecture = a.id AND l.component = c.id
+UNION SELECT DISTINCT ON (f.id) null, a.arch_string, sec.section, b.package,
+ b.version, l.path, f.filename, f.id
+ FROM architecture a, bin_associations ba, binaries b, component c, files f,
+ location l, override o, section sec, suite su
+ WHERE su.suite_name = 'stable' AND ba.suite = su.id AND ba.bin = b.id
+ AND f.id = b.file AND f.location = l.id AND o.package = b.package
+ AND sec.id = o.section AND NOT (f.filename ~ '^potato/')
+ AND b.architecture = a.id AND NOT EXISTS
+ (SELECT l.path FROM location l WHERE l.component IS NOT NULL AND f.location = l.id);
+""");