However, there is a "limit 1" on the JobsetEval search to prevent a sequential scan of the Builds table.
7ZVZJK54M4UA2PKHGJT572PKDBAEAYS5JWSBOOEY7XEB3YX3RCDAC #my $r = joinWithResultInfo( $c, $c->model('DB::Builds'))->search(# { eval => { -in => $build->jobsetevalmembers->all->get_column('eval')->as_query } }# , { join => 'jobsetevalmembers', order_by => [ 'project', 'jobset', 'job'], distinct => 1 }# );#if ($r->count <= 100) {# $c->stash->{relatedbuilds} = [$r->all];#}
my $maxRelated = 100;my $r = $c->model('DB::Builds')->search({ eval => { -in => $build->jobsetevalmembers->search({}, {rows => 1})->get_column('eval')->as_query } },{ join => 'jobsetevalmembers', order_by => [ 'project', 'jobset', 'job'], distinct => 1, rows => $maxRelated + 1 });$c->stash->{relatedbuilds} = [$r->all];delete $c->stash->{relatedbuilds} if scalar(@{$c->stash->{relatedbuilds}}) > $maxRelated;