Include groups invited to ancestral groups as Code Owners
What does this MR do and why?
Include groups invited to ancestral groups as Code Owners
This change allows groups that have been shared into the project's group or any ancestor of that group to be specified as a Code Owner in the project's CODEOWNERS file.
Only direct members of the group are eligible.
References
Related to: Acceptable CODEOWNERS Groups Should Inherit fro... (#288851)
Currently, as per the CODEOWNERS documentation for the CODEOWNERS
file to reference a group it is not under you must first add that group to the project.
This MR aims to make sure that groups invited to other groups are inherited by their subprojects as CODEOWNERS
.
How to set up and validate locally
- Setup a project with the following structure
group
|-- dev-group
|-- reporter-group
|-- product-group
|-- project
dev-group
reporter-group
- Invite
group/dev-group
anddev-group
togroup
with a maximum role of developer - Invite
group/reporter-group
andreporter-group
togroup
with a maximum role of reporter - Invite a developer to each group. Make sure there's a unique developer for each.
- Setup a code owners file in
group/product-group/project
and include all groups - View a file in the project repo and look at the code owners, they should include
group/dev-group
developers+ anddev-group
developers+ and excludegroup/reporter-group
members andreporter-group
members
Query
Query generated using entries in gitlab-org/gitlab
's CODEOWNERS
file
https://console.postgres.ai/gitlab/gitlab-production-main/sessions/43688/commands/133433
SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM ((SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" INNER JOIN "project_group_links" ON "namespaces"."id" = "project_group_links"."group_id" WHERE "namespaces"."type" = 'Group' AND "project_group_links"."project_id" = 278964 AND "namespaces"."id" IN (SELECT "routes"."source_id" FROM "routes" WHERE "routes"."source_type" = 'Namespace' AND ((LOWER(routes.path) = LOWER('gitlab-org/maintainers/rails-backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/database')) OR (LOWER(routes.path) = LOWER('gl-dx/maintainers')) OR (LOWER(routes.path) = LOWER('gl-dx/tooling-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/delivery')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/cicd-templates')) OR (LOWER(routes.path) = LOWER('gitlab-org/tw-leadership')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/kas-version-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/development-leaders')) OR (LOWER(routes.path) = LOWER('project_278964_bot_e2e6cca5e3b0076fdecec369cccb9e18')) OR (LOWER(routes.path) = LOWER('gl-gitaly')) OR (LOWER(routes.path) = LOWER('project_278964_bot_bd38289efeb650826d995b5f830ca9cb')) OR (LOWER(routes.path) = LOWER('gl-dx')) OR (LOWER(routes.path) = LOWER('gitlab-org/technical-writing/tw-docops')) OR (LOWER(routes.path) = LOWER('marcel.amirault')) OR (LOWER(routes.path) = LOWER('gitlab-com/localization/maintainers')) OR (LOWER(routes.path) = LOWER('fabiopitino')) OR (LOWER(routes.path) = LOWER('grzesiek')) OR (LOWER(routes.path) = LOWER('stanhu')) OR (LOWER(routes.path) = LOWER('cwoolley-gitlab')) OR (LOWER(routes.path) = LOWER('tkuah')) OR (LOWER(routes.path) = LOWER('igor.drozdov')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/clickhouse')) OR (LOWER(routes.path) = LOWER('gl-dx/pipeline-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-com/gl-security/appsec')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/workspaces/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/workspaces/frontend')) OR (LOWER(routes.path) = LOWER('dappelt')) OR (LOWER(routes.path) = LOWER('ngeorge1')) OR (LOWER(routes.path) = LOWER('dstull')) OR (LOWER(routes.path) = LOWER('dblessing')) OR (LOWER(routes.path) = LOWER('mkozono')) OR (LOWER(routes.path) = LOWER('patrickbajao')) OR (LOWER(routes.path) = LOWER('gitlab-org/distribution')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-insights/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-insights/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/composition-analysis-be')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/dynamic-analysis')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-policies/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-policies/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/secret-detection')) OR (LOWER(routes.path) = LOWER('reprazent')) OR (LOWER(routes.path) = LOWER('kerrizor')) OR (LOWER(routes.path) = LOWER('garyh')) OR (LOWER(routes.path) = LOWER('jwoodwardgl')) OR (LOWER(routes.path) = LOWER('code-review-be/engineers')) OR (LOWER(routes.path) = LOWER('slashmanov')) OR (LOWER(routes.path) = LOWER('iamphill')) OR (LOWER(routes.path) = LOWER('thomasrandolph')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/platform-insights/engineers/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/plan-stage/optimize-group/engineers/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/platform-insights/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/plan-stage/optimize-group/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/analytics-instrumentation/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth/experiment-devs')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/legal-reviewers')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/gitlab-workhorse')) OR (LOWER(routes.path) = LOWER('proglottis')) OR (LOWER(routes.path) = LOWER('toon')) OR (LOWER(routes.path) = LOWER('gl-docsteam')) OR (LOWER(routes.path) = LOWER('axil')) OR (LOWER(routes.path) = LOWER('eread')) OR (LOWER(routes.path) = LOWER('idurham')) OR (LOWER(routes.path) = LOWER('lciutacu')) OR (LOWER(routes.path) = LOWER('kpaizee')) OR (LOWER(routes.path) = LOWER('emily.sahlani')) OR (LOWER(routes.path) = LOWER('lyspin')) OR (LOWER(routes.path) = LOWER('rsarangadharan')) OR (LOWER(routes.path) = LOWER('brendan777')) OR (LOWER(routes.path) = LOWER('z_painter')) OR (LOWER(routes.path) = LOWER('ashrafkhamis')) OR (LOWER(routes.path) = LOWER('sselhorn')) OR (LOWER(routes.path) = LOWER('fneill')) OR (LOWER(routes.path) = LOWER('msedlakjakubowski')) OR (LOWER(routes.path) = LOWER('aqualls')) OR (LOWER(routes.path) = LOWER('rdickenson')) OR (LOWER(routes.path) = LOWER('scawood')) OR (LOWER(routes.path) = LOWER('jglassman1')) OR (LOWER(routes.path) = LOWER('rlehmann1')) OR (LOWER(routes.path) = LOWER('phillipwells')) OR (LOWER(routes.path) = LOWER('gitlab-org/search-team/migration-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/security-policies-frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/threat-insights-frontend-team')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/threat-insights-backend-team')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth')) OR (LOWER(routes.path) = LOWER('OmarQunsulGitlab')) OR (LOWER(routes.path) = LOWER('bmarjanovic')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/cicd-verify')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/authentication/approvers')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/product-analytics/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/authorization/approvers')) OR (LOWER(routes.path) = LOWER('abdwdd')) OR (LOWER(routes.path) = LOWER('alexpooley')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/static-analysis')) OR (LOWER(routes.path) = LOWER('jfullam')) OR (LOWER(routes.path) = LOWER('Darwinjs')) OR (LOWER(routes.path) = LOWER('sbrightwell')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/package-stage/container-registry-group')) OR (LOWER(routes.path) = LOWER('ayufan')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/fuzzing-be')) OR (LOWER(routes.path) = LOWER('mbenayoun')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/verify/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/runner-fleet-team/backend-approvers')) OR (LOWER(routes.path) = LOWER('gitlab-com/gl-infra/tenant-scale/organizations/backend-engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/compliance/engineering')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered/duo-chat')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered/mcp-tool-review-board')) OR (LOWER(routes.path) = LOWER('gitlab-org/code-creation/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/fe')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/be')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/foundations/personal-productivity/engineering')) OR (LOWER(routes.path) = LOWER('gitlab-org/foundations/design-system/engineering')) OR (LOWER(routes.path) = LOWER('DylanGriffith')) OR (LOWER(routes.path) = LOWER('rymai')) OR (LOWER(routes.path) = LOWER('tigerwnz')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/frontend')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/rails-backend')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/quality')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/technical-writer')) OR (LOWER(routes.path) = LOWER('luciezhao')) OR (LOWER(routes.path) = LOWER('nhxnguyen')) OR (LOWER(routes.path) = LOWER('gitlab-org/geo-team/geo-backend')) OR (LOWER(routes.path) = LOWER('zcuddy')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/vulnerability-research')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-platform-management-group')))))
UNION
(SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (9970) AND "namespaces"."id" IN (SELECT "routes"."source_id" FROM "routes" WHERE "routes"."source_type" = 'Namespace' AND ((LOWER(routes.path) = LOWER('gitlab-org/maintainers/rails-backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/database')) OR (LOWER(routes.path) = LOWER('gl-dx/maintainers')) OR (LOWER(routes.path) = LOWER('gl-dx/tooling-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/delivery')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/cicd-templates')) OR (LOWER(routes.path) = LOWER('gitlab-org/tw-leadership')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/kas-version-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/development-leaders')) OR (LOWER(routes.path) = LOWER('project_278964_bot_e2e6cca5e3b0076fdecec369cccb9e18')) OR (LOWER(routes.path) = LOWER('gl-gitaly')) OR (LOWER(routes.path) = LOWER('project_278964_bot_bd38289efeb650826d995b5f830ca9cb')) OR (LOWER(routes.path) = LOWER('gl-dx')) OR (LOWER(routes.path) = LOWER('gitlab-org/technical-writing/tw-docops')) OR (LOWER(routes.path) = LOWER('marcel.amirault')) OR (LOWER(routes.path) = LOWER('gitlab-com/localization/maintainers')) OR (LOWER(routes.path) = LOWER('fabiopitino')) OR (LOWER(routes.path) = LOWER('grzesiek')) OR (LOWER(routes.path) = LOWER('stanhu')) OR (LOWER(routes.path) = LOWER('cwoolley-gitlab')) OR (LOWER(routes.path) = LOWER('tkuah')) OR (LOWER(routes.path) = LOWER('igor.drozdov')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/clickhouse')) OR (LOWER(routes.path) = LOWER('gl-dx/pipeline-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-com/gl-security/appsec')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/workspaces/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/workspaces/frontend')) OR (LOWER(routes.path) = LOWER('dappelt')) OR (LOWER(routes.path) = LOWER('ngeorge1')) OR (LOWER(routes.path) = LOWER('dstull')) OR (LOWER(routes.path) = LOWER('dblessing')) OR (LOWER(routes.path) = LOWER('mkozono')) OR (LOWER(routes.path) = LOWER('patrickbajao')) OR (LOWER(routes.path) = LOWER('gitlab-org/distribution')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-insights/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-insights/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/composition-analysis-be')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/dynamic-analysis')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-policies/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-policies/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/secret-detection')) OR (LOWER(routes.path) = LOWER('reprazent')) OR (LOWER(routes.path) = LOWER('kerrizor')) OR (LOWER(routes.path) = LOWER('garyh')) OR (LOWER(routes.path) = LOWER('jwoodwardgl')) OR (LOWER(routes.path) = LOWER('code-review-be/engineers')) OR (LOWER(routes.path) = LOWER('slashmanov')) OR (LOWER(routes.path) = LOWER('iamphill')) OR (LOWER(routes.path) = LOWER('thomasrandolph')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/platform-insights/engineers/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/plan-stage/optimize-group/engineers/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/platform-insights/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/plan-stage/optimize-group/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/analytics-instrumentation/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth/experiment-devs')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/legal-reviewers')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/gitlab-workhorse')) OR (LOWER(routes.path) = LOWER('proglottis')) OR (LOWER(routes.path) = LOWER('toon')) OR (LOWER(routes.path) = LOWER('gl-docsteam')) OR (LOWER(routes.path) = LOWER('axil')) OR (LOWER(routes.path) = LOWER('eread')) OR (LOWER(routes.path) = LOWER('idurham')) OR (LOWER(routes.path) = LOWER('lciutacu')) OR (LOWER(routes.path) = LOWER('kpaizee')) OR (LOWER(routes.path) = LOWER('emily.sahlani')) OR (LOWER(routes.path) = LOWER('lyspin')) OR (LOWER(routes.path) = LOWER('rsarangadharan')) OR (LOWER(routes.path) = LOWER('brendan777')) OR (LOWER(routes.path) = LOWER('z_painter')) OR (LOWER(routes.path) = LOWER('ashrafkhamis')) OR (LOWER(routes.path) = LOWER('sselhorn')) OR (LOWER(routes.path) = LOWER('fneill')) OR (LOWER(routes.path) = LOWER('msedlakjakubowski')) OR (LOWER(routes.path) = LOWER('aqualls')) OR (LOWER(routes.path) = LOWER('rdickenson')) OR (LOWER(routes.path) = LOWER('scawood')) OR (LOWER(routes.path) = LOWER('jglassman1')) OR (LOWER(routes.path) = LOWER('rlehmann1')) OR (LOWER(routes.path) = LOWER('phillipwells')) OR (LOWER(routes.path) = LOWER('gitlab-org/search-team/migration-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/security-policies-frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/threat-insights-frontend-team')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/threat-insights-backend-team')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth')) OR (LOWER(routes.path) = LOWER('OmarQunsulGitlab')) OR (LOWER(routes.path) = LOWER('bmarjanovic')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/cicd-verify')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/authentication/approvers')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/product-analytics/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/authorization/approvers')) OR (LOWER(routes.path) = LOWER('abdwdd')) OR (LOWER(routes.path) = LOWER('alexpooley')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/static-analysis')) OR (LOWER(routes.path) = LOWER('jfullam')) OR (LOWER(routes.path) = LOWER('Darwinjs')) OR (LOWER(routes.path) = LOWER('sbrightwell')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/package-stage/container-registry-group')) OR (LOWER(routes.path) = LOWER('ayufan')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/fuzzing-be')) OR (LOWER(routes.path) = LOWER('mbenayoun')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/verify/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/runner-fleet-team/backend-approvers')) OR (LOWER(routes.path) = LOWER('gitlab-com/gl-infra/tenant-scale/organizations/backend-engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/compliance/engineering')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered/duo-chat')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered/mcp-tool-review-board')) OR (LOWER(routes.path) = LOWER('gitlab-org/code-creation/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/fe')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/be')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/foundations/personal-productivity/engineering')) OR (LOWER(routes.path) = LOWER('gitlab-org/foundations/design-system/engineering')) OR (LOWER(routes.path) = LOWER('DylanGriffith')) OR (LOWER(routes.path) = LOWER('rymai')) OR (LOWER(routes.path) = LOWER('tigerwnz')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/frontend')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/rails-backend')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/quality')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/technical-writer')) OR (LOWER(routes.path) = LOWER('luciezhao')) OR (LOWER(routes.path) = LOWER('nhxnguyen')) OR (LOWER(routes.path) = LOWER('gitlab-org/geo-team/geo-backend')) OR (LOWER(routes.path) = LOWER('zcuddy')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/vulnerability-research')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-platform-management-group')))))
UNION
(SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" INNER JOIN "group_group_links" ON "namespaces"."id" = "group_group_links"."shared_with_group_id" WHERE "namespaces"."type" = 'Group' AND "group_group_links"."shared_group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (9970)) AND "group_group_links"."group_access" IN (30, 40, 50) AND "namespaces"."id" IN (SELECT "routes"."source_id" FROM "routes" WHERE "routes"."source_type" = 'Namespace' AND ((LOWER(routes.path) = LOWER('gitlab-org/maintainers/rails-backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/database')) OR (LOWER(routes.path) = LOWER('gl-dx/maintainers')) OR (LOWER(routes.path) = LOWER('gl-dx/tooling-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/delivery')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/cicd-templates')) OR (LOWER(routes.path) = LOWER('gitlab-org/tw-leadership')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/kas-version-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/development-leaders')) OR (LOWER(routes.path) = LOWER('project_278964_bot_e2e6cca5e3b0076fdecec369cccb9e18')) OR (LOWER(routes.path) = LOWER('gl-gitaly')) OR (LOWER(routes.path) = LOWER('project_278964_bot_bd38289efeb650826d995b5f830ca9cb')) OR (LOWER(routes.path) = LOWER('gl-dx')) OR (LOWER(routes.path) = LOWER('gitlab-org/technical-writing/tw-docops')) OR (LOWER(routes.path) = LOWER('marcel.amirault')) OR (LOWER(routes.path) = LOWER('gitlab-com/localization/maintainers')) OR (LOWER(routes.path) = LOWER('fabiopitino')) OR (LOWER(routes.path) = LOWER('grzesiek')) OR (LOWER(routes.path) = LOWER('stanhu')) OR (LOWER(routes.path) = LOWER('cwoolley-gitlab')) OR (LOWER(routes.path) = LOWER('tkuah')) OR (LOWER(routes.path) = LOWER('igor.drozdov')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/clickhouse')) OR (LOWER(routes.path) = LOWER('gl-dx/pipeline-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-com/gl-security/appsec')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/workspaces/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/workspaces/frontend')) OR (LOWER(routes.path) = LOWER('dappelt')) OR (LOWER(routes.path) = LOWER('ngeorge1')) OR (LOWER(routes.path) = LOWER('dstull')) OR (LOWER(routes.path) = LOWER('dblessing')) OR (LOWER(routes.path) = LOWER('mkozono')) OR (LOWER(routes.path) = LOWER('patrickbajao')) OR (LOWER(routes.path) = LOWER('gitlab-org/distribution')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-insights/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-insights/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/composition-analysis-be')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/dynamic-analysis')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-policies/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-policies/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/secret-detection')) OR (LOWER(routes.path) = LOWER('reprazent')) OR (LOWER(routes.path) = LOWER('kerrizor')) OR (LOWER(routes.path) = LOWER('garyh')) OR (LOWER(routes.path) = LOWER('jwoodwardgl')) OR (LOWER(routes.path) = LOWER('code-review-be/engineers')) OR (LOWER(routes.path) = LOWER('slashmanov')) OR (LOWER(routes.path) = LOWER('iamphill')) OR (LOWER(routes.path) = LOWER('thomasrandolph')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/platform-insights/engineers/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/plan-stage/optimize-group/engineers/backend')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/platform-insights/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/plan-stage/optimize-group/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/analytics-instrumentation/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth/experiment-devs')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/legal-reviewers')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/gitlab-workhorse')) OR (LOWER(routes.path) = LOWER('proglottis')) OR (LOWER(routes.path) = LOWER('toon')) OR (LOWER(routes.path) = LOWER('gl-docsteam')) OR (LOWER(routes.path) = LOWER('axil')) OR (LOWER(routes.path) = LOWER('eread')) OR (LOWER(routes.path) = LOWER('idurham')) OR (LOWER(routes.path) = LOWER('lciutacu')) OR (LOWER(routes.path) = LOWER('kpaizee')) OR (LOWER(routes.path) = LOWER('emily.sahlani')) OR (LOWER(routes.path) = LOWER('lyspin')) OR (LOWER(routes.path) = LOWER('rsarangadharan')) OR (LOWER(routes.path) = LOWER('brendan777')) OR (LOWER(routes.path) = LOWER('z_painter')) OR (LOWER(routes.path) = LOWER('ashrafkhamis')) OR (LOWER(routes.path) = LOWER('sselhorn')) OR (LOWER(routes.path) = LOWER('fneill')) OR (LOWER(routes.path) = LOWER('msedlakjakubowski')) OR (LOWER(routes.path) = LOWER('aqualls')) OR (LOWER(routes.path) = LOWER('rdickenson')) OR (LOWER(routes.path) = LOWER('scawood')) OR (LOWER(routes.path) = LOWER('jglassman1')) OR (LOWER(routes.path) = LOWER('rlehmann1')) OR (LOWER(routes.path) = LOWER('phillipwells')) OR (LOWER(routes.path) = LOWER('gitlab-org/search-team/migration-maintainers')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/security-policies-frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/threat-insights-frontend-team')) OR (LOWER(routes.path) = LOWER('gitlab-org/govern/threat-insights-backend-team')) OR (LOWER(routes.path) = LOWER('gitlab-org/growth')) OR (LOWER(routes.path) = LOWER('OmarQunsulGitlab')) OR (LOWER(routes.path) = LOWER('bmarjanovic')) OR (LOWER(routes.path) = LOWER('gitlab-org/maintainers/cicd-verify')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/authentication/approvers')) OR (LOWER(routes.path) = LOWER('gitlab-org/analytics-section/product-analytics/engineers/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/authorization/approvers')) OR (LOWER(routes.path) = LOWER('abdwdd')) OR (LOWER(routes.path) = LOWER('alexpooley')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/static-analysis')) OR (LOWER(routes.path) = LOWER('jfullam')) OR (LOWER(routes.path) = LOWER('Darwinjs')) OR (LOWER(routes.path) = LOWER('sbrightwell')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/package-stage/container-registry-group')) OR (LOWER(routes.path) = LOWER('ayufan')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/fuzzing-be')) OR (LOWER(routes.path) = LOWER('mbenayoun')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/verify/frontend')) OR (LOWER(routes.path) = LOWER('gitlab-org/ci-cd/runner-fleet-team/backend-approvers')) OR (LOWER(routes.path) = LOWER('gitlab-com/gl-infra/tenant-scale/organizations/backend-engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/software-supply-chain-security/compliance/engineering')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered/duo-chat')) OR (LOWER(routes.path) = LOWER('gitlab-org/ai-powered/mcp-tool-review-board')) OR (LOWER(routes.path) = LOWER('gitlab-org/code-creation/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/fe')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/be')) OR (LOWER(routes.path) = LOWER('gitlab-org/fulfillment/utilization/engineers')) OR (LOWER(routes.path) = LOWER('gitlab-org/foundations/personal-productivity/engineering')) OR (LOWER(routes.path) = LOWER('gitlab-org/foundations/design-system/engineering')) OR (LOWER(routes.path) = LOWER('DylanGriffith')) OR (LOWER(routes.path) = LOWER('rymai')) OR (LOWER(routes.path) = LOWER('tigerwnz')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/frontend')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/rails-backend')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/quality')) OR (LOWER(routes.path) = LOWER('jihulab/maintainers/technical-writer')) OR (LOWER(routes.path) = LOWER('luciezhao')) OR (LOWER(routes.path) = LOWER('nhxnguyen')) OR (LOWER(routes.path) = LOWER('gitlab-org/geo-team/geo-backend')) OR (LOWER(routes.path) = LOWER('zcuddy')) OR (LOWER(routes.path) = LOWER('gitlab-org/secure/vulnerability-research')) OR (LOWER(routes.path) = LOWER('gitlab-org/security-risk-management/security-platform-management-group')))))) namespaces WHERE "namespaces"."type" = 'Group'
PG Explain
[ HashAggregate (cost=311.28..311.31 rows=3 width=2399) (actual time=612.266..612.323 rows=58 loops=1)
Group Key: namespaces.id, namespaces.name, namespaces.path, namespaces.owner_id, namespaces.created_at, namespaces.updated_at, namespaces.type, namespaces.avatar, namespaces.membership_lock, namespaces.share_with_group_lock, namespaces.visibility_level, namespaces.request_access_enabled, namespaces.ldap_sync_status, namespaces.ldap_sync_error, namespaces.ldap_sync_last_update_at, namespaces.ldap_sync_last_successful_update_at, namespaces.ldap_sync_last_sync_at, namespaces.lfs_enabled, namespaces.parent_id, namespaces.shared_runners_minutes_limit, namespaces.repository_size_limit, namespaces.require_two_factor_authentication, namespaces.two_factor_grace_period, namespaces.project_creation_level, namespaces.runners_token, namespaces.file_template_project_id, namespaces.saml_discovery_token, namespaces.runners_token_encrypted, namespaces.custom_project_templates_group_id, namespaces.auto_devops_enabled, namespaces.extra_shared_runners_minutes_limit, namespaces.last_ci_minutes_notification_at, namespaces.last_ci_minutes_usage_notification_level, namespaces.subgroup_creation_level, namespaces.max_pages_size, namespaces.max_artifacts_size, namespaces.mentions_disabled, namespaces.default_branch_protection, namespaces.max_personal_access_token_lifetime, namespaces.push_rule_id, namespaces.shared_runners_enabled, namespaces.allow_descendants_override_disabled_shared_runners, namespaces.traversal_ids, namespaces.organization_id
Buffers: shared hit=346 read=427 dirtied=2
WAL: records=2 fpi=2 bytes=16098
I/O Timings: read=591.951 write=0.000
-> Append (cost=1.56..310.95 rows=3 width=2399) (actual time=27.865..611.504 rows=58 loops=1)
Buffers: shared hit=346 read=427 dirtied=2
WAL: records=2 fpi=2 bytes=16098
I/O Timings: read=591.951 write=0.000
-> Nested Loop (cost=1.56..280.52 rows=1 width=370) (actual time=27.863..610.342 rows=58 loops=1)
Buffers: shared hit=324 read=425 dirtied=2
WAL: records=2 fpi=2 bytes=16098
I/O Timings: read=591.051 write=0.000
-> Nested Loop (cost=0.99..269.95 rows=7 width=374) (actual time=11.511..278.745 rows=68 loops=1)
Buffers: shared hit=166 read=243
I/O Timings: read=267.782 write=0.000
-> Index Scan using index_project_group_links_on_project_id on public.project_group_links (cost=0.42..43.93 rows=63 width=4) (actual time=4.304..60.664 rows=68 loops=1)
Index Cond: (project_group_links.project_id = 278964)
Buffers: shared read=69
I/O Timings: read=59.991 write=0.000
-> Index Scan using index_namespaces_on_type_and_id on public.namespaces (cost=0.57..3.59 rows=1 width=370) (actual time=3.171..3.171 rows=1 loops=68)
Index Cond: (((namespaces.type)::text = 'Group'::text) AND (namespaces.id = project_group_links.group_id))
Buffers: shared hit=166 read=174
I/O Timings: read=207.791 write=0.000
-> Index Scan using index_routes_on_source_type_and_source_id on public.routes (cost=0.57..1.51 rows=1 width=4) (actual time=4.862..4.862 rows=1 loops=68)
Index Cond: (((routes.source_type)::text = 'Namespace'::text) AND (routes.source_id = namespaces.id))
Filter: ((lower((routes.path)::text) = 'gitlab-org/maintainers/rails-backend'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/database'::text) OR (lower((routes.path)::text) = 'gl-dx/maintainers'::text) OR (lower((routes.path)::text) = 'gl-dx/tooling-maintainers'::text) OR (lower((routes.path)::text) = 'gitlab-org/delivery'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/cicd-templates'::text) OR (lower((routes.path)::text) = 'gitlab-org/tw-leadership'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/kas-version-maintainers'::text) OR (lower((routes.path)::text) = 'gitlab-org/development-leaders'::text) OR (lower((routes.path)::text) = 'project_278964_bot_e2e6cca5e3b0076fdecec369cccb9e18'::text) OR (lower((routes.path)::text) = 'gl-gitaly'::text) OR (lower((routes.path)::text) = 'project_278964_bot_bd38289efeb650826d995b5f830ca9cb'::text) OR (lower((routes.path)::text) = 'gl-dx'::text) OR (lower((routes.path)::text) = 'gitlab-org/technical-writing/tw-docops'::text) OR (lower((routes.path)::text) = 'marcel.amirault'::text) OR (lower((routes.path)::text) = 'gitlab-com/localization/maintainers'::text) OR (lower((routes.path)::text) = 'fabiopitino'::text) OR (lower((routes.path)::text) = 'grzesiek'::text) OR (lower((routes.path)::text) = 'stanhu'::text) OR (lower((routes.path)::text) = 'cwoolley-gitlab'::text) OR (lower((routes.path)::text) = 'tkuah'::text) OR (lower((routes.path)::text) = 'igor.drozdov'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/clickhouse'::text) OR (lower((routes.path)::text) = 'gl-dx/pipeline-maintainers'::text) OR (lower((routes.path)::text) = 'gitlab-com/gl-security/appsec'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/workspaces/backend'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/workspaces/frontend'::text) OR (lower((routes.path)::text) = 'dappelt'::text) OR (lower((routes.path)::text) = 'ngeorge1'::text) OR (lower((routes.path)::text) = 'dstull'::text) OR (lower((routes.path)::text) = 'dblessing'::text) OR (lower((routes.path)::text) = 'mkozono'::text) OR (lower((routes.path)::text) = 'patrickbajao'::text) OR (lower((routes.path)::text) = 'gitlab-org/distribution'::text) OR (lower((routes.path)::text) = 'gitlab-org/security-risk-management/security-insights/backend'::text) OR (lower((routes.path)::text) = 'gitlab-org/security-risk-management/security-insights/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/secure/composition-analysis-be'::text) OR (lower((routes.path)::text) = 'gitlab-org/secure/dynamic-analysis'::text) OR (lower((routes.path)::text) = 'gitlab-org/security-risk-management/security-policies/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/security-risk-management/security-policies/backend'::text) OR (lower((routes.path)::text) = 'gitlab-org/secure/secret-detection'::text) OR (lower((routes.path)::text) = 'reprazent'::text) OR (lower((routes.path)::text) = 'kerrizor'::text) OR (lower((routes.path)::text) = 'garyh'::text) OR (lower((routes.path)::text) = 'jwoodwardgl'::text) OR (lower((routes.path)::text) = 'code-review-be/engineers'::text) OR (lower((routes.path)::text) = 'slashmanov'::text) OR (lower((routes.path)::text) = 'iamphill'::text) OR (lower((routes.path)::text) = 'thomasrandolph'::text) OR (lower((routes.path)::text) = 'gitlab-org/analytics-section/platform-insights/engineers/backend'::text) OR (lower((routes.path)::text) = 'gitlab-org/plan-stage/optimize-group/engineers/backend'::text) OR (lower((routes.path)::text) = 'gitlab-org/analytics-section/platform-insights/engineers/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/plan-stage/optimize-group/engineers/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/analytics-section/analytics-instrumentation/engineers'::text) OR (lower((routes.path)::text) = 'gitlab-org/growth/experiment-devs'::text) OR (lower((routes.path)::text) = 'gitlab-org/growth/engineers'::text) OR (lower((routes.path)::text) = 'gitlab-org/legal-reviewers'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/gitlab-workhorse'::text) OR (lower((routes.path)::text) = 'proglottis'::text) OR (lower((routes.path)::text) = 'toon'::text) OR (lower((routes.path)::text) = 'gl-docsteam'::text) OR (lower((routes.path)::text) = 'axil'::text) OR (lower((routes.path)::text) = 'eread'::text) OR (lower((routes.path)::text) = 'idurham'::text) OR (lower((routes.path)::text) = 'lciutacu'::text) OR (lower((routes.path)::text) = 'kpaizee'::text) OR (lower((routes.path)::text) = 'emily.sahlani'::text) OR (lower((routes.path)::text) = 'lyspin'::text) OR (lower((routes.path)::text) = 'rsarangadharan'::text) OR (lower((routes.path)::text) = 'brendan777'::text) OR (lower((routes.path)::text) = 'z_painter'::text) OR (lower((routes.path)::text) = 'ashrafkhamis'::text) OR (lower((routes.path)::text) = 'sselhorn'::text) OR (lower((routes.path)::text) = 'fneill'::text) OR (lower((routes.path)::text) = 'msedlakjakubowski'::text) OR (lower((routes.path)::text) = 'aqualls'::text) OR (lower((routes.path)::text) = 'rdickenson'::text) OR (lower((routes.path)::text) = 'scawood'::text) OR (lower((routes.path)::text) = 'jglassman1'::text) OR (lower((routes.path)::text) = 'rlehmann1'::text) OR (lower((routes.path)::text) = 'phillipwells'::text) OR (lower((routes.path)::text) = 'gitlab-org/search-team/migration-maintainers'::text) OR (lower((routes.path)::text) = 'gitlab-org/ai-powered'::text) OR (lower((routes.path)::text) = 'gitlab-org/govern/security-policies-frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/govern/threat-insights-frontend-team'::text) OR (lower((routes.path)::text) = 'gitlab-org/govern/threat-insights-backend-team'::text) OR (lower((routes.path)::text) = 'gitlab-org/growth'::text) OR (lower((routes.path)::text) = 'omarqunsulgitlab'::text) OR (lower((routes.path)::text) = 'bmarjanovic'::text) OR (lower((routes.path)::text) = 'gitlab-org/maintainers/cicd-verify'::text) OR (lower((routes.path)::text) = 'gitlab-org/software-supply-chain-security/authentication/approvers'::text) OR (lower((routes.path)::text) = 'gitlab-org/analytics-section/product-analytics/engineers/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/software-supply-chain-security/authorization/approvers'::text) OR (lower((routes.path)::text) = 'abdwdd'::text) OR (lower((routes.path)::text) = 'alexpooley'::text) OR (lower((routes.path)::text) = 'gitlab-org/secure/static-analysis'::text) OR (lower((routes.path)::text) = 'jfullam'::text) OR (lower((routes.path)::text) = 'darwinjs'::text) OR (lower((routes.path)::text) = 'sbrightwell'::text) OR (lower((routes.path)::text) = 'gitlab-org/ci-cd/package-stage/container-registry-group'::text) OR (lower((routes.path)::text) = 'ayufan'::text) OR (lower((routes.path)::text) = 'gitlab-org/secure/fuzzing-be'::text) OR (lower((routes.path)::text) = 'mbenayoun'::text) OR (lower((routes.path)::text) = 'gitlab-org/ci-cd/verify/frontend'::text) OR (lower((routes.path)::text) = 'gitlab-org/ci-cd/runner-fleet-team/backend-approvers'::text) OR (lower((routes.path)::text) = 'gitlab-com/gl-infra/tenant-scale/organizations/backend-engineers'::text) OR (lower((routes.path)::text) = 'gitlab-org/software-supply-chain-security/compliance/engineering'::text) OR (lower((routes.path)::text) = 'gitlab-org/ai-powered/duo-chat'::text) OR (lower((routes.path)::text) = 'gitlab-org/ai-powered/mcp-tool-review-board'::text) OR (lower((routes.path)::text) = 'gitlab-org/code-creation/engineers'::text) OR (lower((routes.path)::text) = 'gitlab-org/fulfillment/utilization/fe'::text) OR (lower((routes.path)::text) = 'gitlab-org/fulfillment/utilization/be'::text) OR (lower((routes.path)::text) = 'gitlab-org/fulfillment/utilization/engineers'::text) OR (lower((routes.path)::text) = 'gitlab-org/foundations/personal-productivity/engineering'::text) OR (lower((routes.path)::text) = 'gitlab-org/foundations/design-system/engineering'::text) OR (lower((routes.path)::text) = 'dylangriffith'::text) OR (lower((routes.path)::text) = 'rymai'::text) OR (lower((routes.path)::text) = 'tigerwnz'::text) OR (lower((routes.path)::text) = 'jihulab/maintainers/frontend'::text) OR (lower((routes.path)::text) = 'jihulab/maintainers/rails-backend'::text) OR (lower((routes.path)::text) = 'jihulab/maintainers/quality'::text) OR (lower((routes.path)::text) = 'jihulab/maintainers/technical-writer'::text) OR (lower((routes.path)::text) = 'luciezhao'::text) OR (lower((routes.path)::text) = 'nhxnguyen'::text) OR (lower((routes.path)::text) = 'gitlab-org/geo-team/geo-backend'::text) OR (lower((routes.path)::text) = 'zcuddy'::text) OR (lower((routes.path)::text) = 'gitlab-org/secure/vulnerability-research'::text) OR (lower((routes.path)::text) = 'gitlab-org/security-risk-management/security-platform-management-group'::text))
Rows Removed by Filter: 0
Buffers: shared hit=158 read=182 dirtied=2
WAL: records=2 fpi=2 bytes=16098
I/O Timings: read=323.270 write=0.000
-> Nested Loop (cost=1.14..12.12 rows=1 width=370) (actual time=0.977..0.978 rows=0 loops=1)
Buffers: shared hit=10 read=2
I/O Timings: read=0.900 write=0.000
-> Index Scan using index_namespaces_on_type_and_id on public.namespaces namespaces_1 (cost=0.57..7.74 rows=1 width=370) (actual time=0.975..0.976 rows=0 loops=1)
Index Cond: (((namespaces_1.type)::text = 'Group'::text) AND (namespaces_1.id = ANY ('{96,97,98}'::integer[])))
Buffers: shared hit=10 read=2
I/O Timings: read=0.900 write=0.000
-> Index Scan using index_routes_on_source_type_and_source_id on public.routes routes_1 (cost=0.57..4.23 rows=1 width=4) (actual time=0.000..0.000 rows=0 loops=0)
Index Cond: (((routes_1.source_type)::text = 'Namespace'::text) AND (routes_1.source_id = namespaces_1.id))
Filter: ((lower((routes_1.path)::text) = 'gitlab-org/maintainers/rails-backend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/database'::text) OR (lower((routes_1.path)::text) = 'gl-dx/maintainers'::text) OR (lower((routes_1.path)::text) = 'gl-dx/tooling-maintainers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/delivery'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/cicd-templates'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/tw-leadership'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/kas-version-maintainers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/development-leaders'::text) OR (lower((routes_1.path)::text) = 'project_278964_bot_e2e6cca5e3b0076fdecec369cccb9e18'::text) OR (lower((routes_1.path)::text) = 'gl-gitaly'::text) OR (lower((routes_1.path)::text) = 'project_278964_bot_bd38289efeb650826d995b5f830ca9cb'::text) OR (lower((routes_1.path)::text) = 'gl-dx'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/technical-writing/tw-docops'::text) OR (lower((routes_1.path)::text) = 'marcel.amirault'::text) OR (lower((routes_1.path)::text) = 'gitlab-com/localization/maintainers'::text) OR (lower((routes_1.path)::text) = 'fabiopitino'::text) OR (lower((routes_1.path)::text) = 'grzesiek'::text) OR (lower((routes_1.path)::text) = 'stanhu'::text) OR (lower((routes_1.path)::text) = 'cwoolley-gitlab'::text) OR (lower((routes_1.path)::text) = 'tkuah'::text) OR (lower((routes_1.path)::text) = 'igor.drozdov'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/clickhouse'::text) OR (lower((routes_1.path)::text) = 'gl-dx/pipeline-maintainers'::text) OR (lower((routes_1.path)::text) = 'gitlab-com/gl-security/appsec'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/workspaces/backend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/workspaces/frontend'::text) OR (lower((routes_1.path)::text) = 'dappelt'::text) OR (lower((routes_1.path)::text) = 'ngeorge1'::text) OR (lower((routes_1.path)::text) = 'dstull'::text) OR (lower((routes_1.path)::text) = 'dblessing'::text) OR (lower((routes_1.path)::text) = 'mkozono'::text) OR (lower((routes_1.path)::text) = 'patrickbajao'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/distribution'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/security-risk-management/security-insights/backend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/security-risk-management/security-insights/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/secure/composition-analysis-be'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/secure/dynamic-analysis'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/security-risk-management/security-policies/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/security-risk-management/security-policies/backend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/secure/secret-detection'::text) OR (lower((routes_1.path)::text) = 'reprazent'::text) OR (lower((routes_1.path)::text) = 'kerrizor'::text) OR (lower((routes_1.path)::text) = 'garyh'::text) OR (lower((routes_1.path)::text) = 'jwoodwardgl'::text) OR (lower((routes_1.path)::text) = 'code-review-be/engineers'::text) OR (lower((routes_1.path)::text) = 'slashmanov'::text) OR (lower((routes_1.path)::text) = 'iamphill'::text) OR (lower((routes_1.path)::text) = 'thomasrandolph'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/analytics-section/platform-insights/engineers/backend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/plan-stage/optimize-group/engineers/backend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/analytics-section/platform-insights/engineers/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/plan-stage/optimize-group/engineers/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/analytics-section/analytics-instrumentation/engineers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/growth/experiment-devs'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/growth/engineers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/legal-reviewers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/gitlab-workhorse'::text) OR (lower((routes_1.path)::text) = 'proglottis'::text) OR (lower((routes_1.path)::text) = 'toon'::text) OR (lower((routes_1.path)::text) = 'gl-docsteam'::text) OR (lower((routes_1.path)::text) = 'axil'::text) OR (lower((routes_1.path)::text) = 'eread'::text) OR (lower((routes_1.path)::text) = 'idurham'::text) OR (lower((routes_1.path)::text) = 'lciutacu'::text) OR (lower((routes_1.path)::text) = 'kpaizee'::text) OR (lower((routes_1.path)::text) = 'emily.sahlani'::text) OR (lower((routes_1.path)::text) = 'lyspin'::text) OR (lower((routes_1.path)::text) = 'rsarangadharan'::text) OR (lower((routes_1.path)::text) = 'brendan777'::text) OR (lower((routes_1.path)::text) = 'z_painter'::text) OR (lower((routes_1.path)::text) = 'ashrafkhamis'::text) OR (lower((routes_1.path)::text) = 'sselhorn'::text) OR (lower((routes_1.path)::text) = 'fneill'::text) OR (lower((routes_1.path)::text) = 'msedlakjakubowski'::text) OR (lower((routes_1.path)::text) = 'aqualls'::text) OR (lower((routes_1.path)::text) = 'rdickenson'::text) OR (lower((routes_1.path)::text) = 'scawood'::text) OR (lower((routes_1.path)::text) = 'jglassman1'::text) OR (lower((routes_1.path)::text) = 'rlehmann1'::text) OR (lower((routes_1.path)::text) = 'phillipwells'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/search-team/migration-maintainers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/ai-powered'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/govern/security-policies-frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/govern/threat-insights-frontend-team'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/govern/threat-insights-backend-team'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/growth'::text) OR (lower((routes_1.path)::text) = 'omarqunsulgitlab'::text) OR (lower((routes_1.path)::text) = 'bmarjanovic'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/maintainers/cicd-verify'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/software-supply-chain-security/authentication/approvers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/analytics-section/product-analytics/engineers/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/software-supply-chain-security/authorization/approvers'::text) OR (lower((routes_1.path)::text) = 'abdwdd'::text) OR (lower((routes_1.path)::text) = 'alexpooley'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/secure/static-analysis'::text) OR (lower((routes_1.path)::text) = 'jfullam'::text) OR (lower((routes_1.path)::text) = 'darwinjs'::text) OR (lower((routes_1.path)::text) = 'sbrightwell'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/ci-cd/package-stage/container-registry-group'::text) OR (lower((routes_1.path)::text) = 'ayufan'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/secure/fuzzing-be'::text) OR (lower((routes_1.path)::text) = 'mbenayoun'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/ci-cd/verify/frontend'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/ci-cd/runner-fleet-team/backend-approvers'::text) OR (lower((routes_1.path)::text) = 'gitlab-com/gl-infra/tenant-scale/organizations/backend-engineers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/software-supply-chain-security/compliance/engineering'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/ai-powered/duo-chat'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/ai-powered/mcp-tool-review-board'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/code-creation/engineers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/fulfillment/utilization/fe'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/fulfillment/utilization/be'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/fulfillment/utilization/engineers'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/foundations/personal-productivity/engineering'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/foundations/design-system/engineering'::text) OR (lower((routes_1.path)::text) = 'dylangriffith'::text) OR (lower((routes_1.path)::text) = 'rymai'::text) OR (lower((routes_1.path)::text) = 'tigerwnz'::text) OR (lower((routes_1.path)::text) = 'jihulab/maintainers/frontend'::text) OR (lower((routes_1.path)::text) = 'jihulab/maintainers/rails-backend'::text) OR (lower((routes_1.path)::text) = 'jihulab/maintainers/quality'::text) OR (lower((routes_1.path)::text) = 'jihulab/maintainers/technical-writer'::text) OR (lower((routes_1.path)::text) = 'luciezhao'::text) OR (lower((routes_1.path)::text) = 'nhxnguyen'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/geo-team/geo-backend'::text) OR (lower((routes_1.path)::text) = 'zcuddy'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/secure/vulnerability-research'::text) OR (lower((routes_1.path)::text) = 'gitlab-org/security-risk-management/security-platform-management-group'::text))
Rows Removed by Filter: 0
I/O Timings: read=0.000 write=0.000
-> Nested Loop (cost=2.12..18.30 rows=1 width=370) (actual time=0.036..0.038 rows=0 loops=1)
Buffers: shared hit=12
I/O Timings: read=0.000 write=0.000
-> Nested Loop (cost=1.56..16.76 rows=1 width=378) (actual time=0.034..0.036 rows=0 loops=1)
Buffers: shared hit=12
I/O Timings: read=0.000 write=0.000
-> Nested Loop (cost=0.99..13.49 rows=1 width=8) (actual time=0.033..0.034 rows=0 loops=1)
Buffers: shared hit=12
I/O Timings: read=0.000 write=0.000
-> Index Only Scan using index_namespaces_on_type_and_id on public.namespaces namespaces_3 (cost=0.57..7.74 rows=1 width=4) (actual time=0.033..0.033 rows=0 loops=1)
Index Cond: ((namespaces_3.type = 'Group'::text) AND (namespaces_3.id = ANY ('{96,97,98}'::integer[])))
Heap Fetches: 0
Buffers: shared hit=12
I/O Timings: read=0.000 write=0.000
-> Index Scan using index_group_group_links_on_shared_group_and_shared_with_group on public.group_group_links (cost=0.42..5.73 rows=2 width=16) (actual time=0.000..0.000 rows=0 loops=0)
Index Cond: (group_group_links.shared_group_id = namespaces_3.id)
Filter: (group_group_links.group_access = ANY ('{30,40,50}'::integer[]))
Rows Removed by Filter: 0
I/O Timings: read=0.000 write=0.000
-> Index Scan using namespaces_pkey on public.namespaces namespaces_2 (cost=0.57..3.27 rows=1 width=370) (actual time=0.000..0.000 rows=0 loops=0)
Index Cond: (namespaces_2.id = group_group_links.shared_with_group_id)
Filter: ((namespaces_2.type)::text = 'Group'::text)
Rows Removed by Filter: 0
I/O Timings: read=0.000 write=0.000
-> Index Scan using index_routes_on_source_type_and_source_id on public.routes routes_2 (cost=0.57..1.51 rows=1 width=4) (actual time=0.000..0.000 rows=0 loops=0)
Index Cond: (((routes_2.source_type)::text = 'Namespace'::text) AND (routes_2.source_id = namespaces_2.id))
Filter: ((lower((routes_2.path)::text) = 'gitlab-org/maintainers/rails-backend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/database'::text) OR (lower((routes_2.path)::text) = 'gl-dx/maintainers'::text) OR (lower((routes_2.path)::text) = 'gl-dx/tooling-maintainers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/delivery'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/cicd-templates'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/tw-leadership'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/kas-version-maintainers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/development-leaders'::text) OR (lower((routes_2.path)::text) = 'project_278964_bot_e2e6cca5e3b0076fdecec369cccb9e18'::text) OR (lower((routes_2.path)::text) = 'gl-gitaly'::text) OR (lower((routes_2.path)::text) = 'project_278964_bot_bd38289efeb650826d995b5f830ca9cb'::text) OR (lower((routes_2.path)::text) = 'gl-dx'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/technical-writing/tw-docops'::text) OR (lower((routes_2.path)::text) = 'marcel.amirault'::text) OR (lower((routes_2.path)::text) = 'gitlab-com/localization/maintainers'::text) OR (lower((routes_2.path)::text) = 'fabiopitino'::text) OR (lower((routes_2.path)::text) = 'grzesiek'::text) OR (lower((routes_2.path)::text) = 'stanhu'::text) OR (lower((routes_2.path)::text) = 'cwoolley-gitlab'::text) OR (lower((routes_2.path)::text) = 'tkuah'::text) OR (lower((routes_2.path)::text) = 'igor.drozdov'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/clickhouse'::text) OR (lower((routes_2.path)::text) = 'gl-dx/pipeline-maintainers'::text) OR (lower((routes_2.path)::text) = 'gitlab-com/gl-security/appsec'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/workspaces/backend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/workspaces/frontend'::text) OR (lower((routes_2.path)::text) = 'dappelt'::text) OR (lower((routes_2.path)::text) = 'ngeorge1'::text) OR (lower((routes_2.path)::text) = 'dstull'::text) OR (lower((routes_2.path)::text) = 'dblessing'::text) OR (lower((routes_2.path)::text) = 'mkozono'::text) OR (lower((routes_2.path)::text) = 'patrickbajao'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/distribution'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/security-risk-management/security-insights/backend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/security-risk-management/security-insights/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/secure/composition-analysis-be'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/secure/dynamic-analysis'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/security-risk-management/security-policies/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/security-risk-management/security-policies/backend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/secure/secret-detection'::text) OR (lower((routes_2.path)::text) = 'reprazent'::text) OR (lower((routes_2.path)::text) = 'kerrizor'::text) OR (lower((routes_2.path)::text) = 'garyh'::text) OR (lower((routes_2.path)::text) = 'jwoodwardgl'::text) OR (lower((routes_2.path)::text) = 'code-review-be/engineers'::text) OR (lower((routes_2.path)::text) = 'slashmanov'::text) OR (lower((routes_2.path)::text) = 'iamphill'::text) OR (lower((routes_2.path)::text) = 'thomasrandolph'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/analytics-section/platform-insights/engineers/backend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/plan-stage/optimize-group/engineers/backend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/analytics-section/platform-insights/engineers/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/plan-stage/optimize-group/engineers/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/analytics-section/analytics-instrumentation/engineers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/growth/experiment-devs'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/growth/engineers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/legal-reviewers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/gitlab-workhorse'::text) OR (lower((routes_2.path)::text) = 'proglottis'::text) OR (lower((routes_2.path)::text) = 'toon'::text) OR (lower((routes_2.path)::text) = 'gl-docsteam'::text) OR (lower((routes_2.path)::text) = 'axil'::text) OR (lower((routes_2.path)::text) = 'eread'::text) OR (lower((routes_2.path)::text) = 'idurham'::text) OR (lower((routes_2.path)::text) = 'lciutacu'::text) OR (lower((routes_2.path)::text) = 'kpaizee'::text) OR (lower((routes_2.path)::text) = 'emily.sahlani'::text) OR (lower((routes_2.path)::text) = 'lyspin'::text) OR (lower((routes_2.path)::text) = 'rsarangadharan'::text) OR (lower((routes_2.path)::text) = 'brendan777'::text) OR (lower((routes_2.path)::text) = 'z_painter'::text) OR (lower((routes_2.path)::text) = 'ashrafkhamis'::text) OR (lower((routes_2.path)::text) = 'sselhorn'::text) OR (lower((routes_2.path)::text) = 'fneill'::text) OR (lower((routes_2.path)::text) = 'msedlakjakubowski'::text) OR (lower((routes_2.path)::text) = 'aqualls'::text) OR (lower((routes_2.path)::text) = 'rdickenson'::text) OR (lower((routes_2.path)::text) = 'scawood'::text) OR (lower((routes_2.path)::text) = 'jglassman1'::text) OR (lower((routes_2.path)::text) = 'rlehmann1'::text) OR (lower((routes_2.path)::text) = 'phillipwells'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/search-team/migration-maintainers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/ai-powered'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/govern/security-policies-frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/govern/threat-insights-frontend-team'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/govern/threat-insights-backend-team'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/growth'::text) OR (lower((routes_2.path)::text) = 'omarqunsulgitlab'::text) OR (lower((routes_2.path)::text) = 'bmarjanovic'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/maintainers/cicd-verify'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/software-supply-chain-security/authentication/approvers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/analytics-section/product-analytics/engineers/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/software-supply-chain-security/authorization/approvers'::text) OR (lower((routes_2.path)::text) = 'abdwdd'::text) OR (lower((routes_2.path)::text) = 'alexpooley'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/secure/static-analysis'::text) OR (lower((routes_2.path)::text) = 'jfullam'::text) OR (lower((routes_2.path)::text) = 'darwinjs'::text) OR (lower((routes_2.path)::text) = 'sbrightwell'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/ci-cd/package-stage/container-registry-group'::text) OR (lower((routes_2.path)::text) = 'ayufan'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/secure/fuzzing-be'::text) OR (lower((routes_2.path)::text) = 'mbenayoun'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/ci-cd/verify/frontend'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/ci-cd/runner-fleet-team/backend-approvers'::text) OR (lower((routes_2.path)::text) = 'gitlab-com/gl-infra/tenant-scale/organizations/backend-engineers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/software-supply-chain-security/compliance/engineering'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/ai-powered/duo-chat'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/ai-powered/mcp-tool-review-board'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/code-creation/engineers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/fulfillment/utilization/fe'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/fulfillment/utilization/be'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/fulfillment/utilization/engineers'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/foundations/personal-productivity/engineering'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/foundations/design-system/engineering'::text) OR (lower((routes_2.path)::text) = 'dylangriffith'::text) OR (lower((routes_2.path)::text) = 'rymai'::text) OR (lower((routes_2.path)::text) = 'tigerwnz'::text) OR (lower((routes_2.path)::text) = 'jihulab/maintainers/frontend'::text) OR (lower((routes_2.path)::text) = 'jihulab/maintainers/rails-backend'::text) OR (lower((routes_2.path)::text) = 'jihulab/maintainers/quality'::text) OR (lower((routes_2.path)::text) = 'jihulab/maintainers/technical-writer'::text) OR (lower((routes_2.path)::text) = 'luciezhao'::text) OR (lower((routes_2.path)::text) = 'nhxnguyen'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/geo-team/geo-backend'::text) OR (lower((routes_2.path)::text) = 'zcuddy'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/secure/vulnerability-research'::text) OR (lower((routes_2.path)::text) = 'gitlab-org/security-risk-management/security-platform-management-group'::text))
Rows Removed by Filter: 0
I/O Timings: read=0.000 write=0.000
Settings: effective_cache_size = '472585MB', jit = 'off', work_mem = '100MB', random_page_cost = '1.5', seq_page_cost = '4'
](https://console.postgres.ai/gitlab/gitlab-production-main/sessions/43688/commands/133433)```