[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: