changeset 307:701844caef76

Hopefully fix PostgreSQL incompatibility in SQL query for the test coverage chart. Closes #70.
author cmlenz
date Fri, 18 Nov 2005 13:18:27 +0000
parents 13b290f5f1ee
children 29f7b0d7dc4d
files bitten/trac_ext/charts.py
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/trac_ext/charts.py
+++ b/bitten/trac_ext/charts.py
@@ -108,8 +108,7 @@
         db = self.env.get_db_cnx()
         cursor = db.cursor()
         cursor.execute("""
-SELECT build.rev, SUM(item_lines.value) AS loc,
-       SUM(item_lines.value * item_percentage.value / 100) AS cov
+SELECT build.rev, SUM(%s) AS loc, SUM(%s * %s / 100) AS cov
 FROM bitten_build AS build
  LEFT OUTER JOIN bitten_report AS report ON (report.build=build.id)
  LEFT OUTER JOIN bitten_report_item AS item_lines
@@ -117,9 +116,12 @@
  LEFT OUTER JOIN bitten_report_item AS item_percentage
   ON (item_percentage.report=report.id AND item_percentage.name='percentage' AND
       item_percentage.item=item_lines.item)
-WHERE build.config=%s AND report.category='coverage'
-GROUP BY build.rev, build.platform
-ORDER BY build.rev_time""", (config.name,))
+WHERE build.config=%%s AND report.category='coverage'
+GROUP BY build.rev_time, build.rev, build.platform
+ORDER BY build.rev_time""" % (db.cast('item_lines.value', 'int'),
+                              db.cast('item_lines.value', 'int'),
+                              db.cast('item_percentage.value', 'int')),
+                              (config.name,))
 
         prev_rev = None
         coverage = []
Copyright (C) 2012-2017 Edgewall Software