BigW Consortium Gitlab

Skip to content
  • Yorick Peterse's avatar
    b7abba0c
    Revamp trending projects query · b7abba0c
    Yorick Peterse authored
    This changes the query to use a COUNT nested in an INNER JOIN, instead
    of a COUNT plus a GROUP BY. There are two reasons for this:
    
    1. Using a COUNT in an INNER JOIN can be quite a bit faster.
    2. The use of a GROUP BY means that method calls such as "any?"
       (and everything else that calls "count") operate on a Hash that
       counts the amount of notes on a per project basis, instead of just
       counting the total amount of projects.
    
    The query has been moved into Project.trending as its logic is simple
    enough. As a result of this testing the TrendingProjectsFinder class
    simply involves testing if the right methods are called, removing the
    need for setting up database records.
    b7abba0c
    Revamp trending projects query
    Yorick Peterse authored
    This changes the query to use a COUNT nested in an INNER JOIN, instead
    of a COUNT plus a GROUP BY. There are two reasons for this:
    
    1. Using a COUNT in an INNER JOIN can be quite a bit faster.
    2. The use of a GROUP BY means that method calls such as "any?"
       (and everything else that calls "count") operate on a Hash that
       counts the amount of notes on a per project basis, instead of just
       counting the total amount of projects.
    
    The query has been moved into Project.trending as its logic is simple
    enough. As a result of this testing the TrendingProjectsFinder class
    simply involves testing if the right methods are called, removing the
    need for setting up database records.
Loading