[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] silence SQLAlchemy warning about textual SQL expressions



---
 dak/manage_build_queues.py | 9 +++++----
 dak/update_suite.py        | 5 +++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/dak/manage_build_queues.py b/dak/manage_build_queues.py
index 6d5b3488..f69ed5e8 100755
--- a/dak/manage_build_queues.py
+++ b/dak/manage_build_queues.py
@@ -28,6 +28,7 @@
 import apt_pkg
 from datetime import datetime, timedelta
 import sys
+import sqlalchemy.sql as sql
 
 from daklib import daklog
 from daklib.archive import ArchiveTransaction
@@ -65,7 +66,7 @@ def clean(build_queue, transaction, now=None):
     # 1. Keep binaries that are in policy queues.
     # 2. Remove binaries that are not in suites.
     # 3. Remove binaries that have been in the build queue for some time.
-    query = """
+    query = sql.text("""
         SELECT b.*
           FROM binaries b
           JOIN bin_associations ba ON b.id = ba.bin
@@ -82,7 +83,7 @@ def clean(build_queue, transaction, now=None):
                 OR NOT EXISTS
                    (SELECT 1 FROM bin_associations ba2
                              JOIN suite_build_queue_copy sbqc ON sbqc.suite = ba2.suite
-                            WHERE ba2.bin = ba.bin AND sbqc.build_queue_id = :build_queue_id))"""
+                            WHERE ba2.bin = ba.bin AND sbqc.build_queue_id = :build_queue_id))""")
     binaries = session.query(DBBinary).from_statement(query) \
         .params({'build_queue_id': build_queue.queue_id, 'suite_id': suite.suite_id, 'delete_before': delete_before})
     for binary in binaries:
@@ -92,7 +93,7 @@ def clean(build_queue, transaction, now=None):
     # Remove sources
     # Conditions are similar as for binaries, but we also keep sources
     # if there is a binary in the build queue that uses it.
-    query = """
+    query = sql.text("""
         SELECT s.*
           FROM source s
           JOIN src_associations sa ON s.id = sa.source
@@ -114,7 +115,7 @@ def clean(build_queue, transaction, now=None):
                (SELECT 1 FROM bin_associations ba
                          JOIN binaries b ON ba.bin = b.id
                         WHERE ba.suite = :suite_id
-                          AND b.source = s.id)"""
+                          AND b.source = s.id)""")
     sources = session.query(DBSource).from_statement(query) \
         .params({'build_queue_id': build_queue.queue_id, 'suite_id': suite.suite_id, 'delete_before': delete_before})
     for source in sources:
diff --git a/dak/update_suite.py b/dak/update_suite.py
index 6043dd2c..26900256 100644
--- a/dak/update_suite.py
+++ b/dak/update_suite.py
@@ -22,6 +22,7 @@ import daklib.daklog
 import daklib.utils
 
 from sqlalchemy.orm.exc import NoResultFound
+import sqlalchemy.sql as sql
 import sys
 
 """
@@ -134,7 +135,7 @@ class SuiteUpdater(object):
             'additional_sources': additional_sources,
         }
 
-        return self.transaction.session.query(DBBinary).from_statement(query).params(params)
+        return self.transaction.session.query(DBBinary).from_statement(sql.text(query)).params(params)
 
     def query_new_sources(self):
         # Candidates are source packages in the origin suite, and optionally in its policy queue.
@@ -177,7 +178,7 @@ class SuiteUpdater(object):
 
         params = {'origin': self.origin.suite_id, 'target': self.target.suite_id}
 
-        return self.transaction.session.query(DBSource).from_statement(query).params(params)
+        return self.transaction.session.query(DBSource).from_statement(sql.text(query)).params(params)
 
     def _components_for_binary(self, binary, suite):
         session = self.transaction.session
-- 
2.11.0


Reply to: