Changeset 350


Ignore:
Timestamp:
01/26/11 01:08:41 (13 years ago)
Author:
nanardon
Message:
  • fix optimisations
Location:
server/trunk/web/lib/Sophie/Controller
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • server/trunk/web/lib/Sophie/Controller/Search.pm

    r349 r350  
    192192 
    193193        $c->model('BaseSearch')->best_rpm_filter($searchspec) 
    194         ->search({}, { join => [ 'Deps' ]})->search( 
     194        ->search({}, { select => [], join => [ 'Deps' ]})->search( 
    195195        { 
    196196            -and => [ 
     
    210210        }, 
    211211        { 
    212             '+select' => [ { rpmsenseflag => 'Deps.flags' }, 'Deps.depname', ], 
    213             '+as'     => [ qw(sense name) ], 
     212            '+select' => [ { rpmsenseflag => 'Deps.flags' }, 'Deps.depname', 
     213                'Deps.evr' ], 
     214            '+as'     => [ qw(sense name evr) ], 
    214215 
    215216        } 
     
    230231    $searchspec ||= {}; 
    231232 
    232     my $distrs = $c->forward('distrib_search', [ $searchspec, 1 ]); 
    233  
    234     return $c->model('Base::Files')->search( 
     233    $c->model('BaseSearch')->best_rpm_filter($searchspec) 
     234        ->search({}, { select => [], join => [ 'Files' ]})->search( 
    235235        { 
    236236            -and => [ 
     
    241241                basename => $basename, 
    242242                ($searchspec->{content} ? { has_content => 1 } : ()), 
    243                 ($distrs  
    244                     ? (pkgid => { IN => $distrs->get_column('pkgid')->as_query, },) 
    245                     : ()), 
    246243                ($searchspec->{pkgid} 
    247                     ? { pkgid => { IN => $searchspec->{pkgid} } } 
     244                    ? { 'Files.pkgid' => { IN => $searchspec->{pkgid} } } 
    248245                    : ()), 
    249246            ], 
     
    251248        { 
    252249            '+select' => [ 
    253                 'contents is NOT NULL as has_content', 
     250                'Files.contents is NOT NULL as has_content', 
    254251                { rpmfilesmode => 'mode' }, 
     252                map { 'Files.' . $_ } $c->model('Base::Files')->result_source->columns, 
    255253            ], 
    256             '+as' => [ qw(has_content perm), ], 
     254            '+as' => [ qw(has_content perm), 
     255                $c->model('Base::Files')->result_source->columns ], 
    257256        } 
    258257    ); 
  • server/trunk/web/lib/Sophie/Controller/Search/Rpm.pm

    r349 r350  
    104104            $depsense, $depevr  
    105105        ], 
    106     )->get_column('pkgid'); 
     106    )->get_column('Deps.pkgid'); 
    107107    $c->stash->{rs} = $c->model('Base::Rpms')->search( 
    108108        { 
     
    135135 
    136136    my $filers = $c->forward('/search/file_rs', [ $searchspec, $file ]) 
    137         ->get_column('pkgid'); 
     137        ->get_column('Files.pkgid'); 
    138138    $c->stash->{rs} = $c->model('Base::Rpms')->search( 
    139139        { 
    140             pkgid => { IN => $filers->as_query, }, 
     140            'pkgid' => { IN => $filers->as_query, }, 
    141141        }, 
    142142        { 
Note: See TracChangeset for help on using the changeset viewer.