- 22 11月, 2017 2 次提交
-
-
由 Shinya Maeda 提交于
-
由 Yorick Peterse 提交于
This updates the composite index on ci_pipelines (project_id, ref, status) to also include the "id" column at the end. Adding this column to the index drastically improves the performance of queries used for getting the latest pipeline for a particular branch. For example, on project dashboards we'll run a query like the following: SELECT ci_pipelines.* FROM ci_pipelines WHERE ci_pipelines.project_id = 13083 AND ci_pipelines.ref = 'master' AND ci_pipelines.status = 'success' ORDER BY ci_pipelines.id DESC LIMIT 1; Limit (cost=0.43..58.88 rows=1 width=224) (actual time=26.956..26.956 rows=1 loops=1) Buffers: shared hit=6544 dirtied=16 -> Index Scan Backward using ci_pipelines_pkey on ci_pipelines (cost=0.43..830922.89 rows=14216 width=224) (actual time=26.954..26.954 rows=1 loops=1) Filter: ((project_id = 13083) AND ((ref)::text = 'master'::text) AND ((status)::text = 'success'::text)) Rows Removed by Filter: 6476 Buffers: shared hit=6544 dirtied=16 Planning time: 1.484 ms Execution time: 27.000 ms Because of the lack of "id" in the index we end up scanning over the primary key index, then applying a filter to filter out any remaining rows. The more pipelines a GitLab instance has the slower this will get. By adding "id" to the mentioned composite index we can change the above plan into the following: Limit (cost=0.56..2.01 rows=1 width=224) (actual time=0.034..0.034 rows=1 loops=1) Buffers: shared hit=5 -> Index Scan Backward using yorick_test on ci_pipelines (cost=0.56..16326.37 rows=11243 width=224) (actual time=0.033..0.033 rows=1 loops=1) Index Cond: ((project_id = 13083) AND ((ref)::text = 'master'::text) AND ((status)::text = 'success'::text)) Buffers: shared hit=5 Planning time: 0.695 ms Execution time: 0.061 ms This in turn leads to a best-case improvement of roughly 25 milliseconds, give or take a millisecond or two.
-
- 20 11月, 2017 1 次提交
-
-
由 Yorick Peterse 提交于
This adds various foreign keys and indexes to the "merge_requests" table as outlined in https://gitlab.com/gitlab-org/gitlab-ce/issues/31825. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/31825
-
- 17 11月, 2017 2 次提交
-
-
由 Bob Van Landuyt 提交于
-
由 Michael Kozono 提交于
-
- 10 11月, 2017 1 次提交
-
-
由 Yorick Peterse 提交于
This adds various foreign key constraints, indexes, missing NOT NULL constraints, and changes some column types from timestamp to timestamptz. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/31811
-
- 08 11月, 2017 2 次提交
-
-
由 Kamil Trzcinski 提交于
-
由 Shinya Maeda 提交于
-
- 07 11月, 2017 1 次提交
-
-
由 Kamil Trzcinski 提交于
-
- 06 11月, 2017 4 次提交
-
-
由 Alessio Caiazza 提交于
-
由 Markus Koller 提交于
-
由 Markus Koller 提交于
-
由 Kamil Trzcinski 提交于
-
- 03 11月, 2017 3 次提交
-
-
由 micael.bergeron 提交于
also, I refactored the MergeRequest#fetch_ref method to express the side-effect that this method has. MergeRequest#fetch_ref -> MergeRequest#fetch_ref! Repository#fetch_source_branch -> Repository#fetch_source_branch!
-
由 Shinya Maeda 提交于
-
由 Sean McGivern 提交于
We already had this the other way around (merge_request_diffs.merge_request_id), but this is needed to gather only the most recent diffs for a set of merge requests.
-
- 02 11月, 2017 3 次提交
-
-
由 Shinya Maeda 提交于
Fix out of sync with KubernetesService. Remove namespace pramas from controller. Use time_with_zone in schema. Remove Gcp::Clusters from safe_model_attributes.ym
-
由 Kamil Trzcinski 提交于
-
由 Douwe Maan 提交于
-
- 01 11月, 2017 3 次提交
-
-
由 Kamil Trzcinski 提交于
-
由 Kamil Trzcinski 提交于
-
由 Shinya Maeda 提交于
-
- 23 10月, 2017 2 次提交
-
-
由 Bob Van Landuyt 提交于
-
由 Shinya Maeda 提交于
-
- 17 10月, 2017 1 次提交
-
-
由 Bob Van Landuyt 提交于
-
- 13 10月, 2017 1 次提交
-
-
由 Vlad 提交于
-
- 07 10月, 2017 2 次提交
-
-
由 Bob Van Landuyt 提交于
When no fork network exists for the source projects, we create a new one with the correct source
-
由 Bob Van Landuyt 提交于
The fork network will keep track of the root project as long as it's present.
-
- 06 10月, 2017 1 次提交
-
-
由 Alessio Caiazza 提交于
-
- 05 10月, 2017 9 次提交
-
-
由 Kamil Trzcinski 提交于
-
由 Alessio Caiazza 提交于
-
由 Rubén Dávila 提交于
-
由 Rubén Dávila 提交于
-
由 Rubén Dávila 提交于
-
由 Rubén Dávila 提交于
Additionally we're delegating missing method calls on GpgKeySubkey to GpgKey since most of the info required when verifying a signature is found on GpgKey which is the parent of GpgKeySubkey
-
由 Rubén Dávila 提交于
-
由 Rubén Dávila 提交于
-
由 Grzegorz Bizon 提交于
Conflicts: db/schema.rb
-
- 04 10月, 2017 2 次提交
-
-
由 Valery Sizov 提交于
-
由 Kamil Trzcinski 提交于
-