From d4bb0ffaaaeb32044faf89c9634c0ed728a9cbb9 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 23 May 2022 22:49:51 +0100 Subject: [PATCH] Fix more issues with the git_commits introduction --- guix-data-service/jobs/load-new-guix-revision.scm | 14 ++++++++------ guix-data-service/model/package.scm | 6 +++++- scripts/guix-data-service-create-small-backup | 6 ++++-- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index b7e08b3..a14d1f6 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -1734,11 +1734,12 @@ SELECT commit IN ( SELECT commit FROM ( SELECT DISTINCT ON (name) - name, git_branches.commit + name, git_commits.commit FROM git_branches + INNER JOIN git_commits + ON git_commits.git_branch_id = git_branches.id WHERE - git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id AND - git_branches.commit IS NOT NULL + git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id ORDER BY name, datetime DESC ) branches_and_latest_commits ) AS latest_branch_commit @@ -1870,11 +1871,12 @@ SELECT commit IN ( SELECT commit FROM ( SELECT DISTINCT ON (name) - name, git_branches.commit + name, git_commits.commit FROM git_branches + INNER JOIN git_commits + ON git_commits.git_branch_id = git_branches.id WHERE - git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id AND - git_branches.commit IS NOT NULL + git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id ORDER BY name, datetime DESC ) branches_and_latest_commits ) AS latest_branch_commit diff --git a/guix-data-service/model/package.scm b/guix-data-service/model/package.scm index c0b1c40..7ec2b09 100644 --- a/guix-data-service/model/package.scm +++ b/guix-data-service/model/package.scm @@ -549,6 +549,8 @@ ORDER BY first_datetime DESC, package_version DESC") WITH branches AS ( SELECT DISTINCT ON (git_repository_id, name) git_repository_id, name FROM git_branches + INNER JOIN git_commits + ON git_commits.git_branch_id = git_branches.id WHERE commit <> '' ORDER BY git_repository_id, name, datetime DESC ) @@ -563,8 +565,10 @@ FROM branches CROSS JOIN LATERAL ( SELECT guix_revisions.id FROM git_branches + INNER JOIN git_commits + ON git_branches.id = git_commits.git_branch_id INNER JOIN guix_revisions - ON git_branches.commit = guix_revisions.commit + ON git_commits.commit = guix_revisions.commit INNER JOIN load_new_guix_revision_jobs ON load_new_guix_revision_jobs.commit = guix_revisions.commit INNER JOIN load_new_guix_revision_job_events diff --git a/scripts/guix-data-service-create-small-backup b/scripts/guix-data-service-create-small-backup index 285fdc2..f38597c 100755 --- a/scripts/guix-data-service-create-small-backup +++ b/scripts/guix-data-service-create-small-backup @@ -242,12 +242,14 @@ INNER JOIN ( ) AS revision_packages ON packages.id = revision_packages.package_id INNER JOIN guix_revisions ON revision_packages.revision_id = guix_revisions.id +INNER JOIN git_commits + ON guix_revisions.commit = git_commits.commit INNER JOIN git_branches - ON guix_revisions.commit = git_branches.commit + ON git_branches.id = git_commits.git_branch_id WINDOW package_version AS ( PARTITION BY git_branches.git_repository_id, git_branches.name, packages.name, packages.version, revision_packages.derivation_id - ORDER BY git_branches.datetime + ORDER BY git_commits.datetime RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) ORDER BY packages.name, packages.version;