Fix the 'NULL' values in git_branches for the commits

The git_branches table had 'NULL' values for some commits where the branch was
deleted, importantly this was the string 'NULL', not an actual NULL value.

This commit fixes that, migrating the existing values to be '', and changing
the relevant code.

The primary key is also extended to include the datetime field, as this is
important to allow a branch to be deleted twice.
This commit is contained in:
Christopher Baines 2019-09-29 17:10:04 +01:00
parent bd47a03c22
commit b90e6289ac
6 changed files with 29 additions and 3 deletions

View File

@ -50,7 +50,7 @@
branch-name
(if (string=? "0000000000000000000000000000000000000000"
x-git-newrev)
"NULL"
""
x-git-newrev)
git-repository-id
date)

View File

@ -940,7 +940,7 @@
"/branch/" name)))
,name))
(td ,date)
(td ,@(if (string=? commit "NULL")
(td ,@(if (string=? commit "")
'((samp "branch deleted"))
`((a (@ (href ,(string-append
"/revision/" commit)))
@ -1048,7 +1048,7 @@
(previous-commit previous-revision-exists?))
`(tr
(td ,date)
(td ,@(if (string=? commit "NULL")
(td ,@(if (string=? commit "")
'((samp "branch deleted"))
`((a (@ (href ,(string-append
"/revision/" commit)))

View File

@ -0,0 +1,11 @@
-- Deploy guix-data-service:fix_null_values_in_git_branches to pg
BEGIN;
ALTER TABLE git_branches DROP CONSTRAINT git_branches_pkey;
UPDATE git_branches SET commit = '' WHERE commit = 'NULL';
ALTER TABLE git_branches ADD PRIMARY KEY (name, commit, git_repository_id, datetime);
COMMIT;

View File

@ -0,0 +1,7 @@
-- Revert guix-data-service:fix_null_values_in_git_branches from pg
BEGIN;
-- XXX Add DDLs here.
COMMIT;

View File

@ -22,3 +22,4 @@ lint_warnings 2019-08-18T17:10:12Z Christopher Baines <mail@cbaines.net> # Store
guix_revision_lint_checkers 2019-09-01T12:17:38Z chris <chris@phact> # Associate lint_checkers to guix_revisions
package_versions_by_guix_revision_range 2019-09-26T20:23:15Z Christopher Baines <mail@cbaines.net> # Add package_versions_by_guix_revision_range table
index_on_load_new_guix_revision_job_events_job_id 2019-09-29T10:39:04Z Christopher Baines <mail@cbaines.net> # Add index on load_new_guix_revision_job_events.job_id
fix_null_values_in_git_branches 2019-09-29T11:06:12Z Christopher Baines <mail@cbaines.net> # Fix the NULL values in git_branches

View File

@ -0,0 +1,7 @@
-- Verify guix-data-service:fix_null_values_in_git_branches on pg
BEGIN;
-- XXX Add verifications here.
ROLLBACK;