Skip to content

Performance fixes for permission queries#5172

Open
philippthun wants to merge 1 commit into
cloudfoundry:mainfrom
sap-contributions:extend-perf-fixes
Open

Performance fixes for permission queries#5172
philippthun wants to merge 1 commit into
cloudfoundry:mainfrom
sap-contributions:extend-perf-fixes

Conversation

@philippthun

Copy link
Copy Markdown
Member

PR #5157 introduced authorized_space_ids_subquery and authorized_org_ids_subquery. These methods avoid unnecessary subplans on the spaces / organizations tables on every permission lookup and are now also used by:

  • Permissions#readable_security_group_guids_query
  • Permissions#readable_space_quota_guids
  • Permissions#is_org_manager?
  • Membership#authorized_space_guids_subquery
  • Membership#authorized_org_guids_subquery
  • Service-credential-binding fetchers
  • Service-offering / service-plan list fetchers

The service-offering / service-plan list fetchers now take both *_ids_query and *_query; the id-query feeds the always-executed permission filter, the full query is consulted only on guid-filtered requests.

Also removes the now-dead membership helper from v3/application_controller.rb (no V3 controller calls it after #5094).

  • I have reviewed the contributing guide

  • I have viewed, signed, and submitted the Contributor License Agreement

  • I have made this pull request to the main branch

  • I have run all the unit tests using bundle exec rake

  • I have run CF Acceptance Tests

PR cloudfoundry#5157 introduced authorized_space_ids_subquery and
authorized_org_ids_subquery. These methods avoid unnecessary subplans on
the spaces / organizations tables on every permission lookup and are now
also used by:

- Permissions#readable_security_group_guids_query
- Permissions#readable_space_quota_guids
- Permissions#is_org_manager?
- Membership#authorized_space_guids_subquery
- Membership#authorized_org_guids_subquery
- Service-credential-binding fetchers
- Service-offering / service-plan list fetchers

The service-offering / service-plan list fetchers now take both
*_ids_query and *_query; the id-query feeds the always-executed
permission filter, the full query is consulted only on guid-filtered
requests.

Also removes the now-dead 'membership' helper from
v3/application_controller.rb (no V3 controller calls it after cloudfoundry#5094).
@philippthun philippthun marked this pull request as ready for review June 10, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant