• Sean McGivern's avatar
    Make upcoming milestone work across projects · 750b2ff0
    Sean McGivern authored
    Before: we took the next milestone due across all projects in the
    search and found issues whose milestone title matched that
    one. Problems:
    
    1. The milestone could be closed.
    2. Different projects have milestones with different schedules.
    3. Different projects have milestones with different titles.
    4. Different projects can have milestones with different schedules, but
       the _same_ title. That means we could show issues from a past
       milestone, or one that's far in the future.
    
    After: gather the ID of the next milestone on each project we're looking
    at, and find issues with those milestone IDs. Problems:
    
    1. For a lot of projects, this can return a lot of IDs.
    2. The SQL query has to be different between Postgres and MySQL, because
       MySQL is much more lenient with HAVING: as well as the columns
       appearing in GROUP BY or in aggregate clauses, MySQL allows them to
       appear in the SELECT list (un-aggregated).
    750b2ff0
issuable_finder.rb 6.95 KB