Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-17 20:15:21 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-17 20:15:21 +0300
commit76044a792737e4b966be861b68947d289539c66e (patch)
tree6355ac9d8b54beb5e6e0fd8fe6d28a464f8a5395 /app/models
parentf63ce3000c16c04b7a7d5200c5da7c07b9af0cf2 (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.rb8
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
)