diff options
author | Helmut Grohne <helmut@subdivi.de> | 2020-10-08 22:13:57 +0200 |
---|---|---|
committer | Helmut Grohne <helmut@subdivi.de> | 2020-10-08 22:13:57 +0200 |
commit | f6d219e1a4fddc0abb11b2235866d072789d1a13 (patch) | |
tree | 0711dd8948bb355093d2754d594994951647b2b6 /build.py | |
parent | 3ee1cd729ef5dd6f1fcce76c4c27d7f50823b124 (diff) | |
download | crossqa-f6d219e1a4fddc0abb11b2235866d072789d1a13.tar.gz |
add build architecture to schema of depcheck table
Diffstat (limited to 'build.py')
-rwxr-xr-x | build.py | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -62,24 +62,28 @@ def main(): SELECT d.source, d.version, d.hostarch, r.id FROM depstate AS d JOIN buildrequests AS r - ON ? = ifnull(r.buildarch, d.buildarch) + ON d.buildarch = ifnull(r.buildarch, d.buildarch) AND d.hostarch = ifnull(r.hostarch, d.hostarch) AND d.source = r.source JOIN depcheck - ON d.hostarch = depcheck.architecture - WHERE d.satisfiable = 1 AND depcheck.giveback = 0 + ON d.buildarch = depcheck.buildarch + AND d.hostarch = depcheck.hostarch + WHERE d.buildarch = ? + AND d.satisfiable = 1 + AND depcheck.giveback = 0 AND NOT EXISTS (SELECT 1 FROM building WHERE d.source = building.source - OR (? = building.buildarch AND + OR (d.buildarch = building.buildarch AND d.hostarch = building.hostarch)) ORDER BY r.priority DESC, r.requesttime ASC, random() - LIMIT 1;""", (buildarch, buildarch)) + LIMIT 1;""", (buildarch,)) row = cur.fetchone() if not row: cur.execute(""" SELECT source, version, depstate.hostarch, NULL FROM depstate JOIN depcheck - ON depstate.hostarch = depcheck.architecture + ON depstate.buildarch = depcheck.buildarch + AND depstate.hostarch = depcheck.hostarch WHERE depstate.buildarch = ? AND satisfiable = 1 AND giveback = 0 ORDER BY random() LIMIT 1;""", (buildarch,)) @@ -112,8 +116,8 @@ def main(): (requestid,)) if giveback: cur.execute("""UPDATE depcheck SET giveback = 1 - WHERE architecture = ?;""", - (hostarch,)) + WHERE buildarch = ? AND architecture = ?;""", + (buildarch, hostarch,)) finally: with contextlib.closing(db.cursor()) as cur: cur.execute("DELETE FROM building WHERE pid = ?;", (os.getpid(),)) |