[Top][All Lists]

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

[bug#32879] [PATCH] database: Add builds only if one of their outputs is

From: Clément Lassieur
Subject: [bug#32879] [PATCH] database: Add builds only if one of their outputs is new.
Date: Sun, 30 Sep 2018 22:41:38 +0200
User-agent: mu4e 1.0; emacs 26.1

Ludovic Courtès <address@hidden> writes:

> Hello Clément,
> Clément Lassieur <address@hidden> skribis:
>> * (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’.

reply via email to

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