• Stan Hu's avatar
    Optimize issue search when sorting by due date and position · b9937fe6
    Stan Hu authored
    When searching for issues within a project or group, `IssuableFinder`
    has an optimization that uses a CTE to filter the list of authorized
    issues before searching within the list for text. This CTE optimization
    fence is currently only used when the user specifies a simple sorting
    parameter, such as `created_at`, and not popularity. These attributes
    are generally stored directly with the model, so the CTE can easily do
    an `ORDER BY` without joining another table (e.g. `award_emoji` for
    popularity).
    
    This commit adds the remaining simple sort attributes (due date,
    relative position) the `Issue` class. This should help speed up the
    search query and avoid a database statement timeout.
    
    Improves https://gitlab.com/gitlab-org/gitlab/issues/34661
    b9937fe6
issue_spec.rb 28.1 KB