Unionize the mega query - It needed more performance-based benefits

This commit is contained in:
Joseph Schorr 2015-10-07 10:00:12 -07:00
parent c3a411cd63
commit e8cb359d96
5 changed files with 41 additions and 36 deletions

View file

@ -496,12 +496,11 @@ def get_matching_user_namespaces(namespace_prefix, username, limit=10):
base_query = (Namespace
.select()
.distinct()
.limit(limit)
.join(Repository, on=(Repository.namespace_user == Namespace.id))
.join(RepositoryPermission, JOIN_LEFT_OUTER)
.where(Namespace.username ** (namespace_prefix + '%')))
return _basequery.filter_to_repos_for_user(base_query, username)
return _basequery.filter_to_repos_for_user(base_query, username).limit(limit)
def get_matching_users(username_prefix, robot_namespace=None,
organization=None):