- 18 3月, 2016 1 次提交
-
-
由 Yorick Peterse 提交于
The avatar logic has been moved from Project to Repository as this makes caching easier. The logic itself in turn has been changed so that the logo file names are cached in Redis. This cache is flushed upon pushing a commit but _only_ if: 1. The commit was pushed to the default branch 2. The commit actually changes any of the logo files If no branch or commit is given the cache is flushed anyway, this ensures that calling Repository#expire_cache without any arguments still flushes the avatar cache (e.g. this is used when removing a project). Fixes gitlab-org/gitlab-ce#14363
-
- 15 3月, 2016 2 次提交
-
-
由 Yorick Peterse 提交于
The queries that are UNION'd together don't need any eager loading (since we really only use the resulting SQL instead of having ActiveRecord actually run the queries). By dropping any eager loaded associations queries such as the following work instead of producing a SQL error: Project.all.includes(:namespace).search('foo')
-
由 Kamil Trzcinski 提交于
This solves the problem with caching the nil value with instance variable. Without this the every time we ask for external_issue_tracker we built AR and potentially do SQL query
-
- 14 3月, 2016 1 次提交
-
-
由 Zeger-Jan van de Weg 提交于
-
- 12 3月, 2016 6 次提交
-
-
由 Yorick Peterse 提交于
We can just use "arel_table" in these cases instead of "SomeClass.arel_table".
-
由 Yorick Peterse 提交于
Similar to the changes made to Project.search the method Project.search_by_title now also uses Arel so it can automatically use ILIKE/LIKE instead of the lower() function.
-
由 Yorick Peterse 提交于
This chance is broken up in two steps: 1. Use ILIKE on PostgreSQL and LIKE on MySQL, instead of using "WHERE lower(x) LIKE lower(y)" as ILIKE is significantly faster than using lower(). In many cases the use of lower() will force a slow sequence scan. 2. Instead of using 1 query that searches both projects and namespaces using a JOIN we're using 2 separate queries that are UNION'd together. Using a JOIN would force a slow sequence scan, using a UNION avoids this. This method now uses Arel as Arel automatically uses ILIKE on PostgreSQL and LIKE on MySQL, removing the need to handle this manually.
-
由 Dmitriy Zaporozhets 提交于
Signed-off-by: NDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
由 Dmitriy Zaporozhets 提交于
Signed-off-by: NDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
由 Dmitriy Zaporozhets 提交于
Signed-off-by: NDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
- 10 3月, 2016 1 次提交
-
-
由 Yorick Peterse 提交于
The method Project#ci_services would load all services into memory (including _all_ their columns) and then use Enumerable#select to reduce the list. Project#ci_service in turn would further reduce this list down to just 1 Service instance. Instead of doing all this in Ruby we can just offload the work to the database, reducing the amount of time spent in these methods. These changes reduce the time of the first call to Project#ci_services from around 240 ms to around 10 ms, though the final timings will vary based on database load. Because Project#ci_service is memoized there's no further overhead introduced by using a database query. Fixes gitlab-org/gitlab-ce#14186
-
- 09 3月, 2016 1 次提交
-
-
- 08 3月, 2016 13 次提交
-
-
由 James Lopez 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
removes automatic setting of main_language to project for it to set a main language you have now to make a commit to the project
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
由 tiagonbotelho 提交于
-
- 07 3月, 2016 2 次提交
-
-
由 Jacob Vosmaer 提交于
-
由 Rubén Dávila 提交于
-
- 05 3月, 2016 1 次提交
-
-
由 Rubén Dávila 提交于
Make methods return ActiveRecord Relations instead of Arrays.
-
- 04 3月, 2016 1 次提交
-
-
由 Jacob Vosmaer 提交于
-
- 03 3月, 2016 1 次提交
-
-
由 Rubén Dávila 提交于
-
- 02 3月, 2016 1 次提交
-
-
由 James Lopez 提交于
-
- 26 2月, 2016 1 次提交
-
-
由 Yorick Peterse 提交于
This ensures that if a project is later re-created using the old path it doesn't end up re-using the old cache. This also ensures we don't keep the cache around until its expired by Redis itself. Fixes gitlab-org/gitlab-ce#13790
-
- 25 2月, 2016 2 次提交
-
-
由 James Lopez 提交于
-
由 James Lopez 提交于
-
- 23 2月, 2016 1 次提交
-
-
由 Yorick Peterse 提交于
This keeps all the cache expiration code in a single file/class instead of spreading it all across the codebase.
-
- 17 2月, 2016 1 次提交
-
-
由 Rémy Coutable 提交于
Fixes #13367.
-
- 16 2月, 2016 1 次提交
-
-
由 Yorick Peterse 提交于
The "default_branch" argument is never used and the "project" argument isn't optional.
-
- 12 2月, 2016 1 次提交
-
-
由 Kirill Zaitsev 提交于
- Add `avatar_url`, `description`, `git_ssh_url`, `git_http_url`, `path_with_namespace` and `default_branch` in `project` in push, issue, merge-request and note webhooks data - Deprecate the `ssh_url` in favor of `git_ssh_url` and `http_url` in favor of `git_http_url` in `project` for push, issue, merge-request and note webhooks data - Deprecate the `repository` key in push, issue, merge-request and note webhooks data, use `project` instead
-
- 08 2月, 2016 1 次提交
-
-
由 Yorick Peterse 提交于
This caches the output of the following methods: * Repository#empty? * Repository#has_visible_content? * Repository#root_ref The cache for Repository#has_visible_content? is flushed whenever a commit is pushed to a new branch or an existing branch is removed. The cache for Repository#root_ref is only flushed whenever a user changes the default branch of a project. The cache for Repository#empty? is never explicitly flushed as there's no need for it.
-
- 05 2月, 2016 1 次提交
-
-
由 James Lopez 提交于
-