When searching a path / drv path, use separate queries for both options to prevent seq. scan.
[?]
Apr 26, 2013, 12:51 PM
FHOH54HQJOWN2HGIKLVADURVYYHIIORLKEFI4NVKE4K457GLG6CACDependencies
- [2]
EJ7C77C3Allow searching for store and drv paths. Only does a complete match to reduce load on database. - [3]
HRAFVVOEmake logo configurable via HYDRA_LOGO env var - [4]
WYMEG4VPMake some more tables clickable - [5]
LCLXI7PTSearch: Mark disabled projects/jobsets/jobs - [6]
UICHT2PSAdd a search feature - [*]
J5UVLXOK* Start of a basic Catalyst web interface.
Change contents
- edit in src/lib/Hydra/Controller/Root.pm at line 299
# Perform build search in separate queries to prevent seq scan on buildoutputs table. - replacement in src/lib/Hydra/Controller/Root.pm at line 301
{ -or => { "buildoutputs.path" => trim($query), "drvpath" => trim($query)} },{ "buildoutputs.path" => trim($query) }, - edit in src/lib/Hydra/Controller/Root.pm at line 304
$c->stash->{buildsdrv} = [ $c->model('DB::Builds')->search({ "drvpath" => trim($query) },{ order_by => ["id desc"] } ) ]; - edit in src/root/search.tt at line 3
[% matched = 0 %][% BLOCK renderBuildSearch %][% IF builds.size > 0 %]<p>The following builds match your query:[% IF builds.size > limit %] <span class="text-warning">(first [% limit %] results only)</span>[% END %]</p>[% INCLUDE renderBuildList %] - edit in src/root/search.tt at line 14
[% END %][% END; %] - replacement in src/root/search.tt at line 78
[% IF builds.size > 0; matched = 1 %][% INCLUDE renderBuildSearch %][% INCLUDE renderBuildSearch builds=buildsdrv %] - replacement in src/root/search.tt at line 81
<p>The following builds match your query:[% IF jobs.size > limit %] <span class="text-warning">(first [% limit %] results only)</span>[% END %]</p>[% IF builds.size > 0 || buildsdrv.size > 0 ; matched = 1 ; END %] - edit in src/root/search.tt at line 83
[% INCLUDE renderBuildList %][% END %] - replacement in src/root/search.tt at line 84
<div class="alert alert-warn">Sorry! Nothing matches yourquery.</div><div class="alert alert-warn">Sorry! Nothing matches your query.</div>