Skip to content

Add the ability to use != approved-by in merge request filter

Related to #218570 (closed)

What does this MR do?

We are adding the ability for users to search by approved-by != USER in the merge request filter list

Here is query for only Approved-by != User query

https://explain.depesz.com/s/Scto

Query:

SELECT
    merge_requests.*
FROM
    merge_requests
WHERE
    merge_requests.target_project_id = 278964
    AND (merge_requests.state_id IN (1))
    AND NOT (EXISTS (
            SELECT
                TRUE
            FROM
                approvals
            WHERE
                approvals.user_id IN (
                    SELECT
                        users.id
                    FROM
                        users
                    WHERE
                        users.username = 'mshaw')
                    AND approvals.merge_request_id = merge_requests.id))
    ORDER BY
        merge_requests.created_at DESC,
        merge_requests.id DESC
    LIMIT 20 OFFSET 0

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Marc Shaw

Merge request reports