Stop using package_versions_by_guix_revision_range
It's been replaced by the package_derivations_by_guix_revision_range table.
This commit is contained in:
parent
102f7a0536
commit
ca0d3ee754
7 changed files with 23 additions and 77 deletions
|
|
@ -66,8 +66,7 @@ WHERE branch_name = $1 AND git_repository_id = $2"
|
|||
table)
|
||||
(list branch-name
|
||||
(number->string git-repository-id))))
|
||||
'("package_versions_by_guix_revision_range"
|
||||
"package_derivations_by_guix_revision_range"))
|
||||
'("package_derivations_by_guix_revision_range"))
|
||||
|
||||
(for-each
|
||||
(lambda (table)
|
||||
|
|
|
|||
|
|
@ -1154,68 +1154,6 @@ WHERE job_id = $1"
|
|||
|
||||
(prevent-inlining-for-tests extract-information-from)
|
||||
|
||||
(define (update-package-versions-table conn git-repository-id commit)
|
||||
(with-time-logging "lock table: package_versions_by_guix_revision_range"
|
||||
;; Lock the table to wait for other transactions to commit before updating
|
||||
;; the table
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
LOCK TABLE ONLY package_versions_by_guix_revision_range
|
||||
IN SHARE ROW EXCLUSIVE MODE"))
|
||||
|
||||
(for-each
|
||||
(match-lambda
|
||||
((branch-name)
|
||||
(with-time-logging
|
||||
(simple-format #f "deleting package version entries for ~A" branch-name)
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
DELETE FROM package_versions_by_guix_revision_range
|
||||
WHERE git_repository_id = $1 AND branch_name = $2"
|
||||
(list git-repository-id
|
||||
branch-name)))
|
||||
(with-time-logging
|
||||
(simple-format #f "inserting package version entries for ~A" branch-name)
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
INSERT INTO package_versions_by_guix_revision_range
|
||||
SELECT DISTINCT
|
||||
$1::integer AS git_repository_id,
|
||||
$2 AS branch_name,
|
||||
packages.name AS package_name,
|
||||
packages.version AS package_version,
|
||||
first_value(guix_revisions.id)
|
||||
OVER package_version AS first_guix_revision_id,
|
||||
last_value(guix_revisions.id)
|
||||
OVER package_version AS last_guix_revision_id
|
||||
FROM packages
|
||||
INNER JOIN (
|
||||
SELECT DISTINCT package_derivations.package_id,
|
||||
guix_revision_package_derivations.revision_id
|
||||
FROM package_derivations
|
||||
INNER JOIN guix_revision_package_derivations
|
||||
ON package_derivations.id = guix_revision_package_derivations.package_derivation_id
|
||||
) 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_branches ON guix_revisions.commit = git_branches.commit
|
||||
WHERE git_branches.name = $2
|
||||
WINDOW package_version AS (
|
||||
PARTITION BY packages.name, packages.version
|
||||
ORDER BY git_branches.datetime
|
||||
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
|
||||
)
|
||||
ORDER BY packages.name, packages.version"
|
||||
(list git-repository-id branch-name)))))
|
||||
(exec-query
|
||||
conn
|
||||
"SELECT name FROM git_branches WHERE commit = $1 AND git_repository_id = $2"
|
||||
(list commit git-repository-id)))
|
||||
|
||||
#t)
|
||||
|
||||
(define (load-new-guix-revision conn store git-repository-id commit)
|
||||
(let* ((channel-for-commit
|
||||
(channel (name 'guix)
|
||||
|
|
@ -1262,7 +1200,6 @@ ORDER BY packages.name, packages.version"
|
|||
(simple-format #t "debug: importing channel news not supported\n")
|
||||
#t))
|
||||
|
||||
(update-package-versions-table conn git-repository-id commit)
|
||||
(update-package-derivations-table conn
|
||||
git-repository-id
|
||||
guix-revision-id
|
||||
|
|
|
|||
|
|
@ -175,18 +175,6 @@ EOF
|
|||
|
||||
psql -v ON_ERROR_STOP=1 --echo-queries --no-psqlrc "$URI_FOR_DATABASE" -U guix_data_service <<EOF &
|
||||
|
||||
WITH guix_revision_ids AS (
|
||||
SELECT id FROM guix_revisions WHERE commit IN (
|
||||
SELECT commit FROM git_branches
|
||||
)
|
||||
)
|
||||
DELETE FROM package_versions_by_guix_revision_range
|
||||
WHERE first_guix_revision_id NOT IN (SELECT id FROM guix_revision_ids) OR
|
||||
last_guix_revision_id NOT IN (SELECT id FROM guix_revision_ids);
|
||||
EOF
|
||||
|
||||
psql -v ON_ERROR_STOP=1 --echo-queries --no-psqlrc "$URI_FOR_DATABASE" -U guix_data_service <<EOF &
|
||||
|
||||
WITH guix_revision_ids AS (
|
||||
SELECT id FROM guix_revisions WHERE commit IN (
|
||||
SELECT commit FROM git_branches
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
-- Deploy guix-data-service:drop_package_versions_by_guix_revision_range to pg
|
||||
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE package_versions_by_guix_revision_range;
|
||||
|
||||
COMMIT;
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
-- Revert guix-data-service:drop_package_versions_by_guix_revision_range from pg
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- XXX Add DDLs here.
|
||||
|
||||
COMMIT;
|
||||
|
|
@ -53,3 +53,4 @@ channel_instance_derivations 2020-02-10T07:59:03Z Christopher Baines <mail@cbain
|
|||
update_build_servers_build_config 2020-02-13T20:07:19Z Christopher Baines <mail@cbaines.net> # Update build_servers_build_config values
|
||||
make_some_constraints_deferrable 2020-02-16T10:54:22Z Christopher Baines <mail@cbaines.net> # Make some constraints deferrable
|
||||
guix_revision_system_test_derivations_add_system 2020-03-19T21:30:33Z Christopher Baines <mail@cbaines.net> # Add a system column to the guix_revision_system_test_derivations table
|
||||
drop_package_versions_by_guix_revision_range 2020-03-24T20:40:38Z Christopher Baines <mail@cbaines.net> # Drop package_versions_by_guix_revision_range
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
-- Verify guix-data-service:drop_package_versions_by_guix_revision_range on pg
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- XXX Add verifications here.
|
||||
|
||||
ROLLBACK;
|
||||
Loading…
Add table
Add a link
Reference in a new issue