aboutsummaryrefslogtreecommitdiff
path: root/sqitch/deploy/load_new_guix_revision_jobs_make_commits_unique.sql
blob: bd07eac177821140327de0174023e4bb55027d6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-- Deploy guix-data-service:load_new_guix_revision_jobs_make_commits_unique to pg

BEGIN;

DROP INDEX load_new_guix_revision_jobs_commit_git_repository_id_idx;

DELETE FROM load_new_guix_revision_job_events
WHERE job_id NOT IN (
  SELECT DISTINCT ON (commit) id
  FROM load_new_guix_revision_jobs
  ORDER BY commit, succeeded_at ASC NULLS LAST, created_at ASC
);

DELETE FROM load_new_guix_revision_job_logs
WHERE job_id NOT IN (
  SELECT DISTINCT ON (commit) id
  FROM load_new_guix_revision_jobs
  ORDER BY commit, succeeded_at ASC NULLS LAST, created_at ASC
);

DELETE FROM load_new_guix_revision_jobs
WHERE id NOT IN (
  SELECT DISTINCT ON (commit) id
  FROM load_new_guix_revision_jobs
  ORDER BY commit, succeeded_at ASC NULLS LAST, created_at ASC
);

CREATE UNIQUE INDEX load_new_guix_revision_jobs_commit_idx
  ON load_new_guix_revision_jobs (commit);

COMMIT;