[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: |
Mon, 01 Oct 2018 11:09:59 +0200 |
User-agent: |
mu4e 1.0; emacs 26.1 |
Clément Lassieur <address@hidden> writes:
> Ludovic Courtès <address@hidden> writes:
>
>> Hello Clément,
>>
>> Clément Lassieur <address@hidden> 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.
Also, it would allow to be notified when someone pushes on master a
commit that triggers too many builds.
- [bug#32879] [PATCH] database: Add builds only if one of their outputs is new.,
Clément Lassieur <=