- 31 May, 2017 33 commits
-
-
Filipa Lacerda authored
Update task_list to version 2.0.0 Closes #22470 See merge request !11525
-
Filipa Lacerda authored
Issue inline editing Closes #24873 See merge request !11322
-
Douwe Maan authored
Fixed the show_user_callout method See merge request !11689
-
Annabel Dunstone Gray authored
Ui improvements for count badges and permission badges See merge request !11805
-
Dimitrie Hoekstra authored
-
Douwe Maan authored
Improve /project API performance Closes #31855 and #31937 See merge request !11666
-
Annabel Dunstone Gray authored
Center loading spinner in issuable filters Closes #33137 See merge request !11818
-
Kamil Trzciński authored
Check only a merge ability for protected actions Closes #32618 See merge request !11648
-
Rémy Coutable authored
Ask for an example project for bug reports See merge request !11819
-
Rémy Coutable authored
Add tag_list param to project api Closes #33000 See merge request !11799
-
Kamil Trzciński authored
Add API support for pipeline schedule Closes #30892 See merge request !11307
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Rémy Coutable authored
Allow PostReceivePack to be enabled with Gitaly Closes gitaly#246 See merge request !11809
-
Mark Fletcher authored
* Bugs reported in the GitLab Issue trackers should be reproducible * Asking reporters to reproduce on GitLab.com is reasonable * It lets us know whether the issue still exists in latest * It ensures that the steps to reproduce are solid * It gives Developers a live example to work from * Reporter can verify the fix in the example project once shipped [skip ci]
-
winh authored
-
Rémy Coutable authored
Return nil when looking up config for unknown LDAP provider Closes #29342 See merge request !11804
-
Sean McGivern authored
Revert "Merge branch 'grpc-1.3.4' into 'master'" See merge request !11813
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Jacob Vosmaer (GitLab) authored
This reverts merge request !11645
-
vanadium23 authored
-
Alejandro Rodríguez authored
-
- 30 May, 2017 7 commits
-
-
Douwe Maan authored
-
Toon Claes authored
To avoid the use of slow queries, remove some deprecated methods and encourage the use of ProjectFinder to find projects.
-
Toon Claes authored
And use it in the API.
-
Toon Claes authored
Now it is possible to combine the :non_public parameter. This might be useful when a user wants to know the trending projects they are member of.
-
Toon Claes authored
The ProjectsFinder and GroupFinder both support the same set of params. And the `/api/v4/projects` and `/api/v4/group/:id/projects` also support the same set of params. But they do not match the Finder params. So use a helper method to transform them.
-
Toon Claes authored
Instead of applying WHERE on a UNION, apply the WHERE on each of the seperate SELECT statements, and do UNION on that. Local tests with about 2_000_000 projects: - 1_500_000 private projects - 40_000 internal projects - 400_000 public projects For the API endpoint `/api/v4/projects?visibility=private` the slowest query was: ```sql SELECT "projects".* FROM "projects" WHERE ... ``` The original query took 1073.8ms. The query refactored to UNION of SELECT/WHERE took 2.3ms. The original query was: ```sql SELECT "projects".* FROM "projects" WHERE "projects"."pending_delete" = $1 AND (projects.id IN (SELECT "projects"."id" FROM "projects" INNER JOIN "project_authorizations" ON "projects"."id" = "project_authorizations"."project_id" WHERE "projects"."pending_delete" = 'f' AND "project_authorizations"."user_id" = 23 UNION SELECT "projects"."id" FROM "projects" WHERE "projects"."visibility_level" IN (20, 10))) AND "projects"."visibility_level" = $2 AND "projects"."archived" = $3 ORDER BY "projects"."created_at" DESC LIMIT 20 OFFSET 0 [["pending_delete", "f"], ["visibility_level", 0], ["archived", "f"]] ``` The refactored query: ```sql SELECT "projects".* FROM "projects" WHERE "projects"."pending_delete" = $1 AND (projects.id IN (SELECT "projects"."id" FROM "projects" INNER JOIN "project_authorizations" ON "projects"."id" = "project_authorizations"."project_id" WHERE "projects"."pending_delete" = 'f' AND "project_authorizations"."user_id" = 23 AND "projects"."visibility_level" = 0 AND "projects"."archived" = 'f' UNION SELECT "projects"."id" FROM "projects" WHERE "projects"."visibility_level" IN (20, 10) AND "projects"."visibility_level" = 0 AND "projects"."archived" = 'f')) ORDER BY "projects"."created_at" DESC LIMIT 20 OFFSET 0 [["pending_delete", "f"]] ```
-
Toon Claes authored
Instead of trying to do the heavy lifting in the API itself, use the existing features of the ProjectFinder.
-