Milimetric has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/74515


Change subject: casting and coalescing appropriately
......................................................................

casting and coalescing appropriately

Change-Id: I3b600d9935a632309116d8d3d1eb043ef3d64a36
---
M wikimetrics/metrics/bytes_added.py
M wikimetrics/models/mediawiki/revision.py
M wikimetrics/templates/jobs.html
3 files changed, 11 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/15/74515/1

diff --git a/wikimetrics/metrics/bytes_added.py 
b/wikimetrics/metrics/bytes_added.py
index d8b5065..341c617 100644
--- a/wikimetrics/metrics/bytes_added.py
+++ b/wikimetrics/metrics/bytes_added.py
@@ -4,7 +4,7 @@
 from form_fields import BetterBooleanField, CommaSeparatedIntegerListField
 from wtforms.validators import Required
 from wtforms import DateField
-from sqlalchemy import func, case, between
+from sqlalchemy import func, case, cast, between, Integer
 from sqlalchemy.sql.expression import label
 
 
@@ -46,8 +46,7 @@
                     page        ON page.page_id = revision.rev_page
                         LEFT OUTER JOIN
                     (SELECT revision.rev_id AS rev_id,
-                            revision.rev_len AS rev_len,
-                            revision.rev_parent_id AS rev_parent_id
+                            revision.rev_len AS rev_len
                        FROM revision
                     ) AS anon_2 ON revision.rev_parent_id = anon_2.rev_id
               WHERE page.page_namespace IN ('0')
@@ -92,7 +91,11 @@
         
         BC = session.query(
             Revision.rev_user,
-            label('byte_change', Revision.rev_len - 
PreviousRevision.c.rev_len),
+            label('byte_change',
+                cast(Revision.rev_len, Integer)
+                -
+                cast(func.coalesce(PreviousRevision.c.rev_len, 0), Integer)
+            ),
         )\
             .join(Page)\
             .outerjoin(PreviousRevision, Revision.rev_parent_id == 
PreviousRevision.c.rev_id)\
@@ -128,6 +131,7 @@
             if self.negative_only_sum.data:
                 result_dict[user_id]['negative_only_sum'] = negative
         
+        session.close()
         return {user_id: result_dict.get(user_id, {
             'net_sum': None,
             'absolute_sum': None,
diff --git a/wikimetrics/models/mediawiki/revision.py 
b/wikimetrics/models/mediawiki/revision.py
index 53da7f8..09b3352 100644
--- a/wikimetrics/models/mediawiki/revision.py
+++ b/wikimetrics/models/mediawiki/revision.py
@@ -1,4 +1,4 @@
-from sqlalchemy import Column, Integer, Boolean, DateTime, String, ForeignKey
+from sqlalchemy import Column, BigInteger, Integer, Boolean, DateTime, String, 
ForeignKey
 from wikimetrics.configurables import db
 
 __all__ = [
@@ -18,7 +18,7 @@
     rev_timestamp = Column(DateTime)
     rev_minor_edit = Column(Boolean)
     rev_deleted = Column(Integer)  # this might be a boolean but it gets 
overflown if set that way
-    rev_len = Column(Integer)
+    rev_len = Column(BigInteger)
     rev_parent_id = Column(Integer)
     rev_sha1 = Column(String(32))
     #rev_content_model = Column(String(32))
diff --git a/wikimetrics/templates/jobs.html b/wikimetrics/templates/jobs.html
index 310c9b0..0083035 100644
--- a/wikimetrics/templates/jobs.html
+++ b/wikimetrics/templates/jobs.html
@@ -14,7 +14,7 @@
             <th>Created</th>
             <th>Status</th>
             <th>Name</th>
-            <th data-bind="if: status === 'SUCCESS'">Result</th>
+            <th>Result</th>
         </tr>
     </thead>
     <tbody data-bind="foreach: jobs_sorted">

-- 
To view, visit https://gerrit.wikimedia.org/r/74515
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3b600d9935a632309116d8d3d1eb043ef3d64a36
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Milimetric <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to