Minimize the queries used when retrieve builds. Previously, we'd call out to SQL extra times per build.

This commit is contained in:
Joseph Schorr 2015-05-07 21:11:15 -04:00
parent e99ae67e58
commit 3627de103c
5 changed files with 34 additions and 17 deletions

View file

@ -2291,10 +2291,12 @@ def load_token_data(code):
def _get_build_base_query():
return (RepositoryBuild
.select(RepositoryBuild, RepositoryBuildTrigger, BuildTriggerService, Repository,
Namespace)
Namespace, User)
.join(Repository)
.join(Namespace, on=(Repository.namespace_user == Namespace.id))
.switch(RepositoryBuild)
.join(User, JOIN_LEFT_OUTER)
.switch(RepositoryBuild)
.join(RepositoryBuildTrigger, JOIN_LEFT_OUTER)
.join(BuildTriggerService, JOIN_LEFT_OUTER)
.order_by(RepositoryBuild.started.desc()))