1. 14 Feb, 2017 1 commit
  2. 08 Feb, 2017 1 commit
  3. 07 Feb, 2017 2 commits
  4. 06 Feb, 2017 4 commits
  5. 03 Feb, 2017 1 commit
  6. 31 Jan, 2017 13 commits
  7. 30 Jan, 2017 1 commit
  8. 27 Jan, 2017 4 commits
  9. 25 Jan, 2017 1 commit
  10. 23 Jan, 2017 1 commit
  11. 15 Jan, 2017 2 commits
  12. 11 Jan, 2017 1 commit
  13. 08 Jan, 2017 1 commit
    • Yorick Peterse's avatar
      Remove the project_authorizations.id column · 969751d02ea0
      Yorick Peterse authored
      This column used to be a 32 bits integer, allowing for only a maximum of
      2 147 483 647 rows. Given enough users one can hit this limit pretty
      quickly, as was the case for GitLab.com.
      
      Changing this type to bigint (= 64 bits) would give us more space, but
      we'd eventually hit the same limit given enough users and projects. A
      much more sustainable solution is to simply drop the "id" column.
      
      There were only 2 lines of code depending on this column being present,
      and neither truly required it to be present. Instead the code now uses
      the "project_id" column combined with the "user_id" column. This means
      that instead of something like this:
      
          DELETE FROM project_authorizations
          WHERE user_id = X
          AND id = Y;
      
      We now run the following when removing rows:
      
          DELETE FROM project_authorizations
          WHERE user_id = X
          AND project_id = Y;
      
      Since both user_id and project_id are indexed this should not slow down
      the DELETE query.
      
      This commit also removes the "dependent: destroy" clause from the
      "project_authorizations" relation in the User and Project models.
      Keeping this prevents Rails from being able to remove data as it relies
      on an "id" column being present. Since the "project_authorizations"
      table has proper foreign keys set up (with cascading removals) we don't
      need to depend on any Rails logic.
      969751d02ea0
  14. 03 Jan, 2017 2 commits
  15. 24 Dec, 2016 2 commits
  16. 23 Dec, 2016 1 commit
  17. 21 Dec, 2016 1 commit
    • Markus Koller's avatar
      Add more storage statistics · 4571941f6307
      Markus Koller authored
      This adds counters for build artifacts and LFS objects, and moves
      the preexisting repository_size and commit_count from the projects
      table into a new project_statistics table.
      
      The counters are displayed in the administration area for projects
      and groups, and also available through the API for admins (on */all)
      and normal users (on */owned)
      
      The statistics are updated through ProjectCacheWorker, which can now
      do more granular updates with the new :statistics argument.
      4571941f6307
  18. 20 Dec, 2016 1 commit