• Yorick Peterse's avatar
    Use a specialized class for querying events · aac1de46
    Yorick Peterse authored
    This changes various controllers to use the new EventCollection class
    for retrieving events. This class uses a JOIN LATERAL query on
    PostgreSQL to retrieve queries in a more efficient way, while falling
    back to a simpler / less efficient query for MySQL.
    
    The EventCollection class also includes a limit on the number of events
    to display to prevent malicious users from cycling through all events,
    as doing so could put a lot of pressure on the database.
    
    JOIN LATERAL is only supported on PostgreSQL starting with version 9.3.0
    and as such this optimisation is only used when using PostgreSQL 9.3 or
    newer.
    aac1de46
projects_controller.rb 1.44 KB