Add new derivation_output_details_set_id column to the builds table

As this will hopefully provide a faster way of associating derivations with
builds.
This commit is contained in:
Christopher Baines 2019-12-07 19:27:31 +01:00
parent a965ba1f6a
commit c8b93cb0d0
6 changed files with 118 additions and 15 deletions

View file

@ -0,0 +1,22 @@
-- Deploy guix-data-service:builds_add_derivation_output_details_set_id to pg
BEGIN;
ALTER TABLE builds
ADD COLUMN derivation_output_details_set_id integer
NULL
DEFAULT NULL
REFERENCES derivation_output_details_sets (id);
UPDATE builds SET derivation_output_details_set_id = (
SELECT derivations_by_output_details_set.derivation_output_details_set_id
FROM derivations_by_output_details_set
INNER JOIN derivations
ON derivations.file_name = builds.derivation_file_name
WHERE derivations_by_output_details_set.derivation_id = derivations.id
);
CREATE INDEX builds_derivation_output_details_set_id ON
builds (derivation_output_details_set_id);
COMMIT;

View file

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

View file

@ -37,3 +37,4 @@ change_nar_urls_size_to_bigint 2019-12-04T21:49:07Z <chris@phact> # Change nar
sort_out_duplicate_builds 2019-12-05T12:43:53Z <chris@phact> # Sort out duplicate builds
add_some_database_indexes 2019-12-05T15:53:04Z Christopher Baines <mail@cbaines.net> # Add some indexes
derivation_output_sets 2019-12-05T23:19:05Z Christopher Baines <mail@cbaines.net> # Describe the sets of derivation outputs
builds_add_derivation_output_details_set_id 2019-12-07T18:25:38Z Christopher Baines <mail@cbaines.net> # Add a derivation_output_details_set_id column to builds

View file

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