From 6e50120279711d79f882c3ba08416caececac0f1 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jun 24 2020 08:40:46 +0000 Subject: PR#2301: avoid redundant clauses and joins in query_buildroots() Merges #2301 https://pagure.io/koji/pull-request/2301 Fixes: #2300 https://pagure.io/koji/issue/2300 query_buildroots can perform redundant joins --- diff --git a/hub/kojihub.py b/hub/kojihub.py index a32018e..8b499a9 100644 --- a/hub/kojihub.py +++ b/hub/kojihub.py @@ -5365,9 +5365,6 @@ def query_buildroots(hostID=None, tagID=None, state=None, rpmID=None, archiveID= # run separate queries for picking smallest candidate set candidate_buildroot_ids = set() if rpmID is not None: - joins.insert(0, 'buildroot_listing ON buildroot.id = buildroot_listing.buildroot_id') - fields.append(('buildroot_listing.is_update', 'is_update')) - clauses.append('buildroot_listing.rpm_id = %(rpmID)i') query = QueryProcessor(columns=['buildroot_id'], tables=['buildroot_listing'], clauses=['rpm_id = %(rpmID)i'], opts={'asList': True}, values=locals()) @@ -5377,8 +5374,6 @@ def query_buildroots(hostID=None, tagID=None, state=None, rpmID=None, archiveID= return _applyQueryOpts([], queryOpts) if archiveID is not None: - joins.insert(0, 'buildroot_archives ON buildroot.id = buildroot_archives.buildroot_id') - clauses.append('buildroot_archives.archive_id = %(archiveID)i') query = QueryProcessor(columns=['buildroot_id'], tables=['buildroot_archives'], clauses=['archive_id = %(archiveID)i'], opts={'asList': True}, values=locals()) @@ -5391,7 +5386,6 @@ def query_buildroots(hostID=None, tagID=None, state=None, rpmID=None, archiveID= return _applyQueryOpts([], queryOpts) if taskID is not None: - clauses.append('standard_buildroot.task_id = %(taskID)i') query = QueryProcessor(columns=['buildroot_id'], tables=['standard_buildroot'], clauses=['task_id = %(taskID)i'], opts={'asList': True}, values=locals())