guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/03: Handle a couple more tables in create-small-backup


From: Christopher Baines
Subject: 01/03: Handle a couple more tables in create-small-backup
Date: Thu, 26 Mar 2020 16:22:27 -0400 (EDT)

cbaines pushed a commit to branch master
in repository data-service.

commit 9a79a5d7473b4b935b509d26941d267621e1d114
Author: Christopher Baines <address@hidden>
AuthorDate: Thu Mar 26 20:20:29 2020 +0000

    Handle a couple more tables in create-small-backup
    
    derivation_output_details_sets, and derivations_by_output_details_set. This
    required moving around some of the code.
---
 scripts/guix-data-service-create-small-backup | 50 +++++++++++++++++----------
 1 file changed, 32 insertions(+), 18 deletions(-)

diff --git a/scripts/guix-data-service-create-small-backup 
b/scripts/guix-data-service-create-small-backup
index 562735f..10fae8c 100755
--- a/scripts/guix-data-service-create-small-backup
+++ b/scripts/guix-data-service-create-small-backup
@@ -49,7 +49,7 @@ WHERE datetime < recent_datetime;
 
 EOF
 
-psql -v ON_ERROR_STOP=1 --echo-queries --no-psqlrc "$URI_FOR_DATABASE" -U 
guix_data_service <<EOF &
+psql -v ON_ERROR_STOP=1 --echo-queries --no-psqlrc "$URI_FOR_DATABASE" -U 
guix_data_service <<EOF
 
 CREATE UNLOGGED TABLE tmp_guix_revision_package_derivations AS
 SELECT *
@@ -129,24 +129,22 @@ SELECT *
 FROM derivation_sources
 WHERE derivation_id IN (SELECT id FROM tmp_derivations);
 
-TRUNCATE derivations,
-         derivation_inputs,
-         derivation_outputs,
-         derivation_output_details,
-         derivation_sources,
-         derivations_by_output_details_set,
-         channel_instances,
-         guix_revision_system_test_derivations,
-         guix_revision_package_derivations,
-         package_derivations;
-
-EOF
+CREATE UNLOGGED TABLE tmp_derivations_by_output_details_set AS
+SELECT *
+FROM derivations_by_output_details_set
+WHERE derivation_id IN (SELECT id FROM tmp_derivations);
 
-psql -v ON_ERROR_STOP=1 --echo-queries --no-psqlrc "$URI_FOR_DATABASE" -U 
guix_data_service <<EOF &
+CREATE UNLOGGED TABLE tmp_derivation_output_details_sets AS
+SELECT *
+FROM derivation_output_details_sets
+WHERE id IN (
+  SELECT derivation_output_details_set_id
+  FROM tmp_derivations_by_output_details_set
+);
 
 CREATE UNLOGGED TABLE tmp_builds AS
 SELECT * FROM builds WHERE derivation_output_details_set_id IN (
-  SELECT id FROM derivation_output_details_sets
+  SELECT id FROM tmp_derivation_output_details_sets
 );
 
 CREATE UNLOGGED TABLE tmp_build_status AS
@@ -154,12 +152,22 @@ SELECT *
 FROM build_status
 WHERE build_id IN (SELECT id FROM tmp_builds);
 
-TRUNCATE builds, build_status;
+TRUNCATE derivations,
+         derivation_inputs,
+         derivation_outputs,
+         derivation_output_details,
+         derivation_sources,
+         derivations_by_output_details_set,
+         derivation_output_details_sets,
+         channel_instances,
+         guix_revision_system_test_derivations,
+         guix_revision_package_derivations,
+         package_derivations,
+         builds,
+         build_status;
 
 EOF
 
-wait
-
 psql -v ON_ERROR_STOP=1 --echo-queries --no-psqlrc "$URI_FOR_DATABASE" -U 
guix_data_service <<EOF &
 
 CREATE UNLOGGED TABLE tmp_derivation_source_files AS
@@ -244,6 +252,12 @@ INSERT INTO guix_revision_system_test_derivations
 INSERT INTO channel_instances
   SELECT * FROM tmp_channel_instances;
 
+INSERT INTO derivation_output_details_sets OVERRIDING SYSTEM VALUE
+  SELECT * FROM tmp_derivation_output_details_sets;
+
+INSERT INTO derivations_by_output_details_set
+  SELECT * FROM tmp_derivations_by_output_details_set;
+
 INSERT INTO builds OVERRIDING SYSTEM VALUE
   SELECT * FROM tmp_builds;
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]