• 
      

    Avoid fetching a StatusUpdate per Review on the review request page.

    Review Request #14313 — Created Jan. 29, 2025 and submitted — Latest diff uploaded

    Information

    Review Board
    release-7.1.x

    Reviewers

    We had code in the review request page that checked for the presence of
    the Review.status_update attribute. This in turn triggered a query for
    the object on the other end of that relation, regardless of whether it
    existed. That led to a useless query per review, especially since we had
    already fetched all status updates on the page.

    This change adds some pre-processing, creating a map of reviews to
    status updates, and utilizes that map instead of performing the
    attribute check.

    This offers a pretty large savings on most review requests.

    Unit tests passed.

    Verified in Django Debug Toolbar that the repeated SQL queries for
    status updates were no longer present.

    Commits

    Files