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