An error occurred while fetching the assigned iteration of the selected issue.
Get query results from staging
I'd need some EXPLAIN
analyse results for the queries in this snippet: https://gitlab.com/snippets/1677663
These are the queries that need to be run on staging:
In these examples I'm limiting the queries with ID 2, I'm assuming that exists on staging?
Subgroups + count
EXPLAIN ANALYSE
SELECT namespaces.*,
(SELECT COUNT(*) AS preloaded_project_count
FROM projects WHERE projects.namespace_id = namespaces.id),
(SELECT COUNT(*) AS preloaded_subgroup_count
FROM namespaces children
WHERE children.parent_id = namespaces.id),
(SELECT COUNT(*) AS preloaded_member_count
FROM members
WHERE members.source_type = 'Namespace'
AND members.source_id = namespaces.id
AND members.requested_at IS NULL)
FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = 2 ORDER BY "namespaces"."id" ASC LIMIT 20 OFFSET 0;
All descendant groups matching filter and their ancestors
EXPLAIN ANALYSE
WITH RECURSIVE "base_and_ancestors" AS (
WITH RECURSIVE "base_and_descendants" AS (
SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 2
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id"
)
SELECT "namespaces".* FROM "base_and_descendants" AS "namespaces" WHERE "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" IN ('Group') ORDER BY "namespaces"."id" DESC) AND ("namespaces"."id" != 2) AND ("namespaces"."name" ILIKE '%sub%' OR "namespaces"."path" ILIKE '%sub%')
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_ancestors" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = "base_and_ancestors"."parent_id"
)
SELECT namespaces.*,
(SELECT COUNT(*) AS preloaded_project_count
FROM projects
WHERE projects.namespace_id = namespaces.id
AND projects.archived IS NOT true),
(SELECT COUNT(*) AS preloaded_subgroup_count
FROM namespaces children
WHERE children.parent_id = namespaces.id),
(SELECT COUNT(*) AS preloaded_member_count
FROM members
WHERE members.source_type = 'Namespace'
AND members.source_id = namespaces.id
AND members.requested_at IS NULL)
FROM "base_and_ancestors" AS "namespaces"
WHERE (
"namespaces"."id" NOT IN
(WITH RECURSIVE "base_and_ancestors" AS (
SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 2
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_ancestors" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = "base_and_ancestors"."parent_id") SELECT "namespaces"."id" FROM "base_and_ancestors" AS "namespaces")
)
ORDER BY "namespaces"."id" ASC LIMIT 20 OFFSET 0
All projects nested in a group matching a filter
EXPLAIN ANALYSE
SELECT "projects".* FROM "projects"
WHERE (
EXISTS (
SELECT 1 FROM "project_authorizations"
WHERE "project_authorizations"."user_id" = 1
AND (project_authorizations.project_id = projects.id))
OR projects.visibility_level IN (0,10,20))
AND "projects"."archived" = 'f'
AND (projects.id IN (
SELECT "projects"."id"
FROM "projects"
WHERE (("projects"."path" ILIKE '%sub%' OR "projects"."name" ILIKE '%sub%')
OR "projects"."description" ILIKE '%sub%')
UNION
SELECT "projects"."id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id"
WHERE ("namespaces"."name" ILIKE '%sub%')))
AND "projects"."namespace_id" IN (
WITH RECURSIVE "base_and_descendants" AS (
SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 2
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants"
WHERE "namespaces"."type" IN ('Group')
AND "namespaces"."parent_id" = "base_and_descendants"."id")
SELECT id FROM "base_and_descendants" AS "namespaces" WHERE "namespaces"."id" IN (
SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" IN ('Group')
)
)
ORDER BY "projects"."id" ASC LIMIT 20 OFFSET 0