1. 12 3月, 2016 1 次提交
  2. 10 3月, 2016 1 次提交
  3. 01 3月, 2016 3 次提交
  4. 25 2月, 2016 1 次提交
  5. 20 2月, 2016 2 次提交
  6. 18 2月, 2016 2 次提交
  7. 10 2月, 2016 3 次提交
  8. 02 2月, 2016 2 次提交
  9. 23 1月, 2016 1 次提交
  10. 21 1月, 2016 1 次提交
  11. 19 1月, 2016 1 次提交
  12. 14 1月, 2016 1 次提交
  13. 09 1月, 2016 2 次提交
  14. 06 1月, 2016 1 次提交
  15. 03 1月, 2016 1 次提交
  16. 15 12月, 2015 2 次提交
  17. 12 12月, 2015 2 次提交
  18. 11 12月, 2015 1 次提交
  19. 09 12月, 2015 1 次提交
  20. 08 12月, 2015 1 次提交
  21. 03 12月, 2015 1 次提交
  22. 02 12月, 2015 1 次提交
  23. 19 11月, 2015 1 次提交
  24. 18 11月, 2015 7 次提交
    • Y
      Don't pluck project IDs in User#owned_projects · 26482bdd
      Yorick Peterse 提交于
      This won't work efficiently if you happen to have a lot of projects.
      26482bdd
    • Y
      Apply CI scope changes to the User model · 73f302ed
      Yorick Peterse 提交于
      These changes are based on those from commit
      03f5ff75, except they use a UNION
      instead of plucking IDs into memory.
      73f302ed
    • Y
      Refactor User#authorized_groups/projects · e116a356
      Yorick Peterse 提交于
      These methods no longer include public groups/projects (that don't
      belong to the actual user) as this is handled by the various finder
      classes now. This also removes the need for passing extra arguments.
      
      Note that memoizing was removed _explicitly_. For whatever reason doing
      so messes up the users controller to a point where it claims a certain
      user does _not_ have access to certain groups/projects when it does have
      access. Existing code shouldn't be affected as these methods are only
      called in ways that they'd run queries anyway (e.g. a combination of
      "any?" and "each" which would run 2 queries regardless of memoizing).
      e116a356
    • Y
      Refactor getting user groups/projects/contributions · 5fcd9986
      Yorick Peterse 提交于
      This new setup no longer loads any IDs into memory using "pluck",
      instead using SQL UNIONs to merge the various datasets together. This
      results in greatly improved query performance as well as a reduction of
      memory usage.
      
      The old setup was in particular problematic when requesting the
      authorized projects _including_ public/internal projects as this would
      result in roughly 65000 project IDs being loaded into memory. These IDs
      would in turn be passed to other queries.
      5fcd9986
    • Y
      Prefix table names for User UNIONs · bfd9855a
      Yorick Peterse 提交于
      bfd9855a
    • Y
      Use SQL::Union for User#authorized_groups · 189c40c3
      Yorick Peterse 提交于
      This removes the need for plucking any IDs into Ruby.
      189c40c3
    • Y
      Use SQL::Union for User#authorized_projects · 028bd227
      Yorick Peterse 提交于
      This allows retrieving of the list of authorized projects using a single
      query, without having to load any IDs into Ruby. This in turn also means
      we can remove the method User#authorized_projects_id.
      028bd227