}
if (exists $param{affects}) {
my @aff_list = make_list($param{affects});
+ s/^src:// foreach @aff_list;
$rs = $rs->search({-or => {'bin_pkg.pkg' =>
[@aff_list],
'src_pkg.pkg' =>
if (exists $param{package}) {
$rs = $rs->search({-or => {'bin_pkg.pkg' =>
[make_list($param{package})],
- 'me.unknown.package' =>
+ 'me.unknown_packages' =>
[make_list($param{package})]},
},
{join => {bug_binpackages => 'bin_pkg'}});
$rs = $rs->search({-or => {'bug_binpackages.bin_pkg' =>
{ -in => $bin_pkgs_rs->get_column('id')->as_query},
'bug_srcpackages.src_pkg' =>
- { -in => $bin_pkgs_rs->get_column('id')->as_query},
+ { -in => $src_pkgs_rs->get_column('id')->as_query},
},
},
{join => ['bug_binpackages',
# identify all of the srcpackages and binpackages that match first
my $src_pkgs_rs =
$s->resultset('SrcPkg')->
- search({-or => [map {('me.pkg' => $_,
- )}
- make_list($param{src})],
- columns => ['id'],
+ search({'pkg' => [make_list($param{src})],
+ },
+ { columns => ['id'],
group_by => ['me.id'],
},
);
my $bin_pkgs_rs =
- $s->resultset('BinPkg')->
- search({-or => [map {('src_pkg.pkg' => $_,
- )}
- make_list($param{src})],
- },
- {join => {bin_vers => {src_ver => 'src_pkg'}},
- columns => ['id'],
- group_by => ['me.id'],
+ $s->resultset('BinPkgSrcPkg')->
+ search({'src_pkg.pkg' => [make_list($param{src})],
+ },
+ {columns => ['bin_pkg'],
+ join => ['src_pkg'],
+ group_by => ['bin_pkg'],
});
$rs = $rs->search({-or => {'bug_binpackages.bin_pkg' =>
- { -in => $bin_pkgs_rs->get_column('id')->as_query},
- 'bug_srcpackages.src_pkg' =>
- { -in => $bin_pkgs_rs->get_column('id')->as_query},
- 'me.unknown_package' =>
+ { -in => $bin_pkgs_rs->get_column('bin_pkg')->as_query},
+ 'bug_srcpackages.src_pkg' =>
+ { -in => $src_pkgs_rs->get_column('id')->as_query},
+ 'me.unknown_packages' =>
[make_list($param{src})],
},
},