Skip to content

Commit

Permalink
[ec] Fix for small bug in tracking running totals.
Browse files Browse the repository at this point in the history
Fix for a bug where the running totals for the first day a page was
visited were being counted twice.  ie:

If on day 1, a given dataset page is visited by 2 distinct users,
then the count for that day will be 2, but both running total columns
will show 4.  This doubling only occurs on the first day: subsequent
days' running totals will still be out-by-N (where N is the error on the
first day), but not continue to double
  • Loading branch information
icmurray committed Oct 5, 2012
1 parent 86eb93c commit e93df59
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions ckan/lib/cli.py
Expand Up @@ -963,33 +963,33 @@ def update_tracking(self, engine, summary_date):
# update summary totals for resources
sql = '''UPDATE tracking_summary t1
SET running_total = (
SELECT sum(count)
SELECT COALESCE(sum(count), 0)
FROM tracking_summary t2
WHERE t1.url = t2.url
AND t2.tracking_date <= t1.tracking_date
AND t2.tracking_date < t1.tracking_date
) + t1.count
,recent_views = (
SELECT sum(count)
SELECT COALESCE(sum(count), 0)
FROM tracking_summary t2
WHERE t1.url = t2.url
AND t2.tracking_date <= t1.tracking_date AND t2.tracking_date >= t1.tracking_date - 14
AND t2.tracking_date < t1.tracking_date AND t2.tracking_date >= t1.tracking_date - 14
) + t1.count
WHERE t1.running_total = 0 AND tracking_type = 'resource';'''
engine.execute(sql)

# update summary totals for pages
sql = '''UPDATE tracking_summary t1
SET running_total = (
SELECT sum(count)
SELECT COALESCE(sum(count), 0)
FROM tracking_summary t2
WHERE t1.package_id = t2.package_id
AND t2.tracking_date <= t1.tracking_date
AND t2.tracking_date < t1.tracking_date
) + t1.count
,recent_views = (
SELECT sum(count)
SELECT COALESCE(sum(count), 0)
FROM tracking_summary t2
WHERE t1.package_id = t2.package_id
AND t2.tracking_date <= t1.tracking_date AND t2.tracking_date >= t1.tracking_date - 14
AND t2.tracking_date < t1.tracking_date AND t2.tracking_date >= t1.tracking_date - 14
) + t1.count
WHERE t1.running_total = 0 AND tracking_type = 'page'
AND t1.package_id IS NOT NULL
Expand Down

0 comments on commit e93df59

Please sign in to comment.