[PATCH 06/11] check distinct(user) based on just user_id

Stephen Finucane stephen at that.guru
Sat Sep 1 00:11:28 AEST 2018


On Fri, 2018-08-10 at 18:01 +1000, Stewart Smith wrote:
> The logic to display the Check(s) on the patch list wants to really do a
> DISTINCT(user_id,context) ORDER BY DATE query, but with Django that is
> currently a bit Too Hard (at least for me).
> 
> But what we can do is from python just use the user_id rather than the
> user object itself. Same functionality, no join or prefetching users.
> 
> This saves a couple of hundred queries on the linuxppc/list/ view and
> makes loading it about 4x faster in terms of time spent in the db.
> 
> Signed-off-by: Stewart Smith <stewart at linux.ibm.com>

Easy win.

Reviewed-by: Stephen Finucane <stephen at that.guru>

Stephen

> ---
>  patchwork/models.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/patchwork/models.py b/patchwork/models.py
> index 15224ad69cfa..d356a6379ac3 100644
> --- a/patchwork/models.py
> +++ b/patchwork/models.py
> @@ -539,7 +539,7 @@ class Patch(SeriesMixin, Submission):
>  
>          for check in self.check_set.all():
>              ctx = check.context
> -            user = check.user
> +            user = check.user_id
>  
>              if user in unique and ctx in unique[user]:
>                  # recheck condition - ignore the older result




More information about the Patchwork mailing list