--- Begin Message ---
Subject: |
Cuirass: the 'nr' filter doesn't when builds have multiple outputs |
Date: |
Sun, 29 Jul 2018 01:21:10 +0200 |
User-agent: |
mu4e 1.0; emacs 26.1 |
Hi,
With, say, 'nr' = 4, the GROUP-OUTPUTS procedure in cuirass/database.scm
will transform
0 | out | /gnu/store/...
1 | out | /gnu/store/...
1 | debug | /gnu/store/...
2 | out | /gnu/store/...
into
((#:id . 0) (#:outputs ("out" (#:path . "/gnu/store/..."))))
((#:id . 1) (#:outputs ("out" (#:path . "/gnu/store/..."))
("debug" (#:path . "/gnu/store/..."))))
((#:id . 2) (#:outputs ("out" (#:path . "/gnu/store/..."))))
Thus there are only 3 elements returned by the low-level DB-GET-BUILDS
procedure, while we expect 4.
This bug is visible through the API (latestbuilds, queue) and the web
interface (eval) because they use that DB-GET-BUILDS procedure.
Clément
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#32300: [PATCH] database: Fix the builds limit issue. |
Date: |
Thu, 16 Aug 2018 22:59:39 +0200 |
User-agent: |
mu4e 1.0; emacs 26.1 |
> Hi,
>
> On Sat, 04 Aug 2018 18:10:51 +0200
> Clément Lassieur <address@hidden> wrote:
>
>> Clément Lassieur <address@hidden> writes:
>>
>> > Fixes <https://bugs.gnu.org/32300>.
>> >
>> > * src/cuirass/database.scm (filters->order): New procedure.
>> > (db-get-builds): Remove FORMAT-OUTPUT, CONS-OUTPUT, COLLECT-OUTPUTS,
>> > FINISH-GROUP, SAME-GROUP?, GROUP-OUTPUTS procedures. Remove the 'LEFT JOIN
>> > Outputs' clause. Use DB-GET-OUTPUTS for each build that was fetched.
>>
>> This may be less efficient because there are more SQL queries (one per
>> output), but it's way less complicated and less buggy, so I think it's
>> worth it.
>
> Yeah, if it's still usable, I agree.
>
> But I think we shouldn't overlook the possibility of not fetching the outputs
> in the first place (at all).
Pushed. Thank you for the review!
Clément
--- End Message ---