• 
      

    Optimize the query for Group and Repository.objects.accessible_ids().

    Review Request #11605 — Created May 12, 2021 and submitted — Latest diff uploaded

    Information

    Review Board
    release-3.0.x

    Reviewers

    This is a small query improvement to accessible_ids() that removes
    the usage of DISTINCT when querying a list of accessible IDs for
    Group and Repository. This means less work needed by the database,
    removing the usage of a temporary table on MySQL. Any de-duplication
    will now be done in Python, by converting to a set first.

    It's a small performance improvement setting the stage for some larger
    work on improving query performance.

    Both versions of accessible() still uses DISTINCT by default, but
    this can be turned off by passing distinct=False.

    Unit tests passed.

    Compared the EXPLAIN output between the two versions of the query
    on MySQL

    Commits

    Files