1+ WITH fqn AS (
2+ SELECT f .uuid ,
3+ f .job_fqn AS name,
4+ f .namespace_name ,
5+ j .name AS simple_name,
6+ j .parent_job_uuid ,
7+ f .parent_job_name ::text ,
8+ j .symlink_target_uuid
9+ FROM jobs_fqn f,
10+ jobs j
11+ WHERE j .uuid = f .uuid
12+ )
113UPDATE jobs SET symlink_target_uuid= q .target_uuid
214FROM (
315 SELECT j .uuid , j .namespace_name , j .name , j .simple_name , jv .uuid AS target_uuid, jv .simple_name
4- FROM jobs_view j INNER JOIN jobs_view jv ON j .namespace_name = jv .namespace_name AND j .name = jv .name AND j .simple_name != jv .simple_name
16+ FROM fqn j
17+ INNER JOIN fqn jv ON j .namespace_name = jv .namespace_name AND j .name = jv .name AND j .simple_name != jv .simple_name
518 WHERE j .symlink_target_uuid IS NULL
6- AND jv .symlink_target_uuid IS NULL
7- AND j .parent_job_uuid IS NULL ) q
19+ AND jv .symlink_target_uuid IS NULL
20+ AND j .parent_job_uuid IS NULL ) q
21+ WHERE jobs .uuid = q .uuid ;
22+
23+ WITH fqn AS (
24+ SELECT f .uuid ,
25+ f .job_fqn AS name,
26+ f .namespace_name ,
27+ j .name AS simple_name,
28+ j .parent_job_uuid ,
29+ f .parent_job_name ::text ,
30+ j .symlink_target_uuid ,
31+ j .created_at
32+ FROM jobs_fqn f,
33+ jobs j
34+ WHERE j .uuid = f .uuid
35+ )
36+ UPDATE jobs SET name= (q .simple_name || ' _' || q .row )
37+ FROM (
38+ SELECT j .uuid , j .namespace_name , j .name , j .simple_name , jv .uuid AS target_uuid,
39+ row_number() over (PARTITION BY j .namespace_name , j .name ORDER BY j .created_at ) AS row
40+ FROM fqn j
41+ INNER JOIN fqn jv ON j .namespace_name = jv .namespace_name AND j .name = jv .name AND j .symlink_target_uuid = jv .uuid
42+ ) q
843WHERE jobs .uuid = q .uuid ;
944
1045ALTER TABLE jobs RENAME COLUMN name TO simple_name;
@@ -30,4 +65,4 @@ WHERE jobs.uuid=f.uuid;
3065ALTER TABLE jobs ALTER COLUMN name SET NOT NULL ;
3166
3267ALTER TABLE jobs DROP CONSTRAINT unique_jobs_namespace_uuid_name_parent;
33- ALTER TABLE jobs ADD CONSTRAINT unique_jobs_namespace_uuid_name_parent UNIQUE (namespace_uuid, name);
68+ ALTER TABLE jobs ADD CONSTRAINT unique_jobs_namespace_uuid_name_parent UNIQUE (namespace_uuid, name);
0 commit comments