Merge lp:~gmb/launchpad/bug-615644 into lp:launchpad/db-devel

Proposed by Graham Binns
Status: Merged
Approved by: Graham Binns
Approved revision: no longer in the source branch.
Merged at revision: 9646
Proposed branch: lp:~gmb/launchpad/bug-615644
Merge into: lp:launchpad/db-devel
Diff against target: 41 lines (+8/-12)
1 file modified
lib/lp/bugs/model/bugtarget.py (+8/-12)
To merge this branch: bzr merge lp:~gmb/launchpad/bug-615644
Reviewer Review Type Date Requested Status
Julian Edwards (community) release-critical Approve
Robert Collins (community) Approve
Launchpad code reviewers code Pending
Review via email: mp+32175@code.launchpad.net

Commit message

The queries for calculating the max bug heat for a target have been altered to improve efficiency.

Description of the change

This branch fixes bug 615644 by changing the queries used to get the maximum heat for a target (see the bug for Stub's description of the fix).

To post a comment you must log in.
Revision history for this message
Robert Collins (lifeless) wrote :

Looks great to me.

review: Approve
Revision history for this message
Julian Edwards (julian-edwards) wrote :

Good job, thanks.

review: Approve (release-critical)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/lp/bugs/model/bugtarget.py'
--- lib/lp/bugs/model/bugtarget.py 2010-06-25 18:48:13 +0000
+++ lib/lp/bugs/model/bugtarget.py 2010-08-10 09:14:01 +0000
@@ -251,29 +251,25 @@
251 return251 return
252252
253 if IDistribution.providedBy(self):253 if IDistribution.providedBy(self):
254 sql = ["""SELECT Bug.heat254 sql = ["""SELECT MAX(Bug.heat)
255 FROM Bug, Bugtask255 FROM Bug, Bugtask
256 WHERE Bugtask.bug = Bug.id256 WHERE Bugtask.bug = Bug.id
257 AND Bugtask.distribution = %s257 AND Bugtask.distribution = %s""" % sqlvalues(self),
258 ORDER BY Bug.heat DESC LIMIT 1""" % sqlvalues(self),258 """SELECT MAX(Bug.heat)
259 """SELECT Bug.heat
260 FROM Bug, Bugtask, DistroSeries259 FROM Bug, Bugtask, DistroSeries
261 WHERE Bugtask.bug = Bug.id260 WHERE Bugtask.bug = Bug.id
262 AND Bugtask.distroseries = DistroSeries.id261 AND Bugtask.distroseries = DistroSeries.id
263 AND DistroSeries.distribution = %s262 AND DistroSeries.distribution = %s""" % sqlvalues(self)]
264 ORDER BY Bug.heat DESC LIMIT 1""" % sqlvalues(self)]
265 elif IProduct.providedBy(self):263 elif IProduct.providedBy(self):
266 sql = ["""SELECT Bug.heat264 sql = ["""SELECT MAX(Bug.heat)
267 FROM Bug, Bugtask265 FROM Bug, Bugtask
268 WHERE Bugtask.bug = Bug.id266 WHERE Bugtask.bug = Bug.id
269 AND Bugtask.product = %s267 AND Bugtask.product = %s""" % sqlvalues(self),
270 ORDER BY Bug.heat DESC LIMIT 1""" % sqlvalues(self),268 """SELECT MAX(Bug.heat)
271 """SELECT Bug.heat
272 FROM Bug, Bugtask, ProductSeries269 FROM Bug, Bugtask, ProductSeries
273 WHERE Bugtask.bug = Bug.id270 WHERE Bugtask.bug = Bug.id
274 AND Bugtask.productseries = ProductSeries.id271 AND Bugtask.productseries = ProductSeries.id
275 AND ProductSeries.product = %s272 AND ProductSeries.product = %s""" % sqlvalues(self)]
276 ORDER BY Bug.heat DESC LIMIT 1""" % sqlvalues(self)]
277 elif IProjectGroup.providedBy(self):273 elif IProjectGroup.providedBy(self):
278 sql = ["""SELECT MAX(heat)274 sql = ["""SELECT MAX(heat)
279 FROM Bug, Bugtask, Product275 FROM Bug, Bugtask, Product

Subscribers

People subscribed via source and target branches

to status/vote changes: