Skip to content
Snippets Groups Projects
Select Git revision
  • move-gl-dropdown
  • improve-table-pagination-spec
  • move-markdown-preview
  • winh-fix-merge-request-spec
  • master default
  • index-namespaces-lower-name
  • winh-single-karma-test
  • 10-3-stable
  • 36782-replace-team-user-role-with-add_role-user-in-specs
  • winh-modal-internal-state
  • tz-ide-file-icons
  • 38869-milestone-select
  • update-autodevops-template
  • jivl-activate-repo-cookie-preferences
  • qa-add-deploy-key
  • docs-move-article-ldap
  • 40780-choose-file
  • 22643-manual-job-page
  • refactor-cluster-show-page-conservative
  • dm-sidekiq-versioning
  • v10.4.0.pre
  • v10.3.0
  • v10.3.0-rc5
  • v10.3.0-rc4
  • v10.3.0-rc3
  • v10.3.0-rc2
  • v10.2.5
  • v10.3.0-rc1
  • v10.0.7
  • v10.1.5
  • v10.2.4
  • v10.2.3
  • v10.2.2
  • v10.2.1
  • v10.3.0.pre
  • v10.2.0
  • v10.2.0-rc4
  • v10.2.0-rc3
  • v10.1.4
  • v10.2.0-rc2
40 results

project_authorization.rb

Forked from GitLab.org / GitLab FOSS
5911 commits behind the upstream repository.
  • Yorick Peterse's avatar
    f73193c3
    Smarter refreshing of authorized projects · f73193c3
    Yorick Peterse authored
    Prior to this commit the refreshing of authorized projects was done in
    two steps:
    
    1. Remove existing authorizations
    2. Insert a new list of all authorizations
    
    This can lead to a high amount of dead tuples as every time all rows are
    being replaced. For example, if a user with 100 authorizations is given
    access to a new project this would lead to:
    
    * 100 rows being removed
    * 101 new rows being inserted
    
    This commit changes the way this system works so it only removes/inserts
    what is necessary. Using the above example this would lead to only 1 new
    row being inserted, with the initial 100 being left untouched.
    
    Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/25257
    Verified
    f73193c3
    History
    Smarter refreshing of authorized projects
    Yorick Peterse authored
    Prior to this commit the refreshing of authorized projects was done in
    two steps:
    
    1. Remove existing authorizations
    2. Insert a new list of all authorizations
    
    This can lead to a high amount of dead tuples as every time all rows are
    being replaced. For example, if a user with 100 authorizations is given
    access to a new project this would lead to:
    
    * 100 rows being removed
    * 101 new rows being inserted
    
    This commit changes the way this system works so it only removes/inserts
    what is necessary. Using the above example this would lead to only 1 new
    row being inserted, with the initial 100 being left untouched.
    
    Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/25257
project_authorization.rb 725 B