diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-17 20:15:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-17 20:15:21 +0300 |
commit | 76044a792737e4b966be861b68947d289539c66e (patch) | |
tree | 6355ac9d8b54beb5e6e0fd8fe6d28a464f8a5395 /app/models | |
parent | f63ce3000c16c04b7a7d5200c5da7c07b9af0cf2 (diff) |
Add latest changes from gitlab-org/gitlab@14-1-stable-ee
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/namespace/traversal_hierarchy.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/app/models/namespace/traversal_hierarchy.rb b/app/models/namespace/traversal_hierarchy.rb index 093b7dae246..34086a8af5d 100644 --- a/app/models/namespace/traversal_hierarchy.rb +++ b/app/models/namespace/traversal_hierarchy.rb @@ -36,7 +36,7 @@ class Namespace SET traversal_ids = cte.traversal_ids FROM (#{recursive_traversal_ids}) as cte WHERE namespaces.id = cte.id - AND namespaces.traversal_ids <> cte.traversal_ids + AND namespaces.traversal_ids::bigint[] <> cte.traversal_ids """ Namespace.transaction do @root.lock! @@ -51,7 +51,7 @@ class Namespace def incorrect_traversal_ids Namespace .joins("INNER JOIN (#{recursive_traversal_ids}) as cte ON namespaces.id = cte.id") - .where('namespaces.traversal_ids <> cte.traversal_ids') + .where('namespaces.traversal_ids::bigint[] <> cte.traversal_ids') end private @@ -66,9 +66,9 @@ class Namespace <<~SQL WITH RECURSIVE cte(id, traversal_ids, cycle) AS ( - VALUES(#{root_id}, ARRAY[#{root_id}], false) + VALUES(#{root_id}::bigint, ARRAY[#{root_id}]::bigint[], false) UNION ALL - SELECT n.id, cte.traversal_ids || n.id, n.id = ANY(cte.traversal_ids) + SELECT n.id, cte.traversal_ids || n.id::bigint, n.id = ANY(cte.traversal_ids) FROM namespaces n, cte WHERE n.parent_id = cte.id AND NOT cycle ) |