]> git.decadent.org.uk Git - dak.git/commitdiff
Merge remote-tracking branch 'nthykier/optimise-dominate'
authorAnsgar Burchardt <ansgar@debian.org>
Thu, 31 Dec 2015 11:26:26 +0000 (12:26 +0100)
committerAnsgar Burchardt <ansgar@debian.org>
Thu, 31 Dec 2015 11:26:26 +0000 (12:26 +0100)
dak/dominate.py

index 449b9595949f5cf830a8a9c130b56b00e7655357..52f1b17220cea6824e7b6d91deb3ba04e572ca9f 100755 (executable)
@@ -84,14 +84,15 @@ def obsoleteAllAssociations(suite, session):
     return fetch('old_and_unreferenced', query, { 'suite': suite }, session)
 
 def deleteAssociations(table, idList, session):
+    global Options
     query = """
         DELETE
             FROM %s
-            WHERE id = :id
+            WHERE id IN :idList
     """ % table
-    params = [{'id': id} for id in idList]
-    if len(params) == 0:
+    if not idList or Options['No-Action']:
         return
+    params = {'idList': tuple(idList)}
     session.execute(query, params)
 
 def doDaDoDa(suite, session):
@@ -140,7 +141,8 @@ def main():
         suites = [suite.suite_name for suite in query_suites]
         cnf['Obsolete::Options::Suite'] = str(','.join(suites))
 
-    Logger = daklog.Logger("dominate")
+    if not Options['No-Action']:
+       Logger = daklog.Logger("dominate")
     session = DBConn().session()
     for suite_name in utils.split_args(Options['Suite']):
         suite = session.query(Suite).filter_by(suite_name = suite_name).one()
@@ -156,7 +158,8 @@ def main():
         session.rollback()
     else:
         session.commit()
-    Logger.close()
+    if Logger:
+        Logger.close()
 
 if __name__ == '__main__':
     main()