summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2006-11-28 02:48:56 +0100
committerlpsolit%gmail.com <>2006-11-28 02:48:56 +0100
commit58e6f3b917ac29d28cf087c22911eb07dd54181b (patch)
tree7b6f0d1f9983ad938c7944bf36787006b305889d
parent906283e027be962ec042ff602639de564aae62e6 (diff)
downloadbugzilla-58e6f3b917ac29d28cf087c22911eb07dd54181b.tar.gz
bugzilla-58e6f3b917ac29d28cf087c22911eb07dd54181b.tar.xz
Bug 361870: SQL query in Bugzilla::Bug::EmitDependList() too complicated - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
-rwxr-xr-xBugzilla/Bug.pm15
-rwxr-xr-xprocess_bug.cgi7
2 files changed, 8 insertions, 14 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 5e8392d9f..f09386a0c 100755
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -1363,18 +1363,15 @@ sub editable_bug_fields {
return sort(@fields);
}
-# This method is private and is not to be used outside of the Bug class.
+# XXX - When Bug::update() will be implemented, we should make this routine
+# a private method.
sub EmitDependList {
my ($myfield, $targetfield, $bug_id) = (@_);
my $dbh = Bugzilla->dbh;
- my $list_ref =
- $dbh->selectcol_arrayref(
- "SELECT dependencies.$targetfield
- FROM dependencies, bugs
- WHERE dependencies.$myfield = ?
- AND bugs.bug_id = dependencies.$targetfield
- ORDER BY dependencies.$targetfield",
- undef, ($bug_id));
+ my $list_ref = $dbh->selectcol_arrayref(
+ "SELECT $targetfield FROM dependencies
+ WHERE $myfield = ? ORDER BY $targetfield",
+ undef, $bug_id);
return $list_ref;
}
diff --git a/process_bug.cgi b/process_bug.cgi
index 965e75a9f..c7ba981ff 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -1273,11 +1273,8 @@ sub SnapShotBug {
sub SnapShotDeps {
- my ($i, $target, $me) = (@_);
- my $dbh = Bugzilla->dbh;
- my $list = $dbh->selectcol_arrayref(qq{SELECT $target FROM dependencies
- WHERE $me = ? ORDER BY $target},
- undef, $i);
+ my ($bug_id, $target, $me) = (@_);
+ my $list = Bugzilla::Bug::EmitDependList($me, $target, $bug_id);
return join(',', @$list);
}