GNU bug report logs - #32879
[PATCH] database: Add builds only if one of their outputs is new.

Previous Next

Package: guix-patches;

Reported by: Clément Lassieur <clement <at> lassieur.org>

Date: Sat, 29 Sep 2018 20:37:02 UTC

Severity: normal

Tags: patch

Done: Clément Lassieur <clement <at> lassieur.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Clément Lassieur <clement <at> lassieur.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 32879 <at> debbugs.gnu.org
Subject: [bug#32879] [PATCH] database: Add builds only if one of their outputs is new.
Date: Sun, 30 Sep 2018 22:41:38 +0200
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello Clément,
>
> Clément Lassieur <clement <at> lassieur.org> skribis:
>
>> * Makefile.am (dist_sql_DATA): Add 'src/sql/upgrade-4.sql'.
>> * src/cuirass/database.scm (db-add-output): New procedure.
>> (db-add-build): Call DB-ADD-OUTPUT, rollback the transaction and return #f if
>> DB-ADD-OUTPUT returned an empty list.
>> * src/schema.sql (Outputs): Set 'path' as primary key, instead of 'derivation,
>> name'.
>> * src/sql/upgrade-4.sql: New file with SQL queries to upgrade the database.
>> * tests/database.scm (make-dummy-build): Use the #:OUTPUTS key.  Get default
>> OUTPUTS to depend on DRV.
>> ("db-add-build-with-fixed-output"): New test.
>
> What’s the rationale?  I suppose having a simpler primary key for
> ‘Outputs’ might help performance?

There is a slight performance and db size gain but the primary reason is
to have a better idea of Cuirass' load when looking at the pending
builds.  There will be less (no?) 'fake' builds.  The idea is that all
builds should be real builds.

Does that make sense?

> Thank you,
> Ludo’.




This bug report was last modified 6 years and 292 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.