| @@ -571,8 +571,11 @@ class AFCStatistics(Task): | |||||
| This consists of the most recent editor, modification time, and the | This consists of the most recent editor, modification time, and the | ||||
| lastest revision ID. | lastest revision ID. | ||||
| """ | """ | ||||
| query = """SELECT rev_user_text, rev_timestamp, rev_id FROM revision | |||||
| JOIN page ON rev_id = page_latest WHERE page_id = ?""" | |||||
| query = """SELECT actor_name, rev_timestamp, rev_id | |||||
| FROM revision | |||||
| JOIN page ON rev_id = page_latest | |||||
| JOIN actor ON rev_actor = actor_id | |||||
| WHERE page_id = ?""" | |||||
| result = self.site.sql_query(query, (pageid,)) | result = self.site.sql_query(query, (pageid,)) | ||||
| m_user, m_time, m_id = list(result)[0] | m_user, m_time, m_id = list(result)[0] | ||||
| timestamp = datetime.strptime(m_time, "%Y%m%d%H%M%S") | timestamp = datetime.strptime(m_time, "%Y%m%d%H%M%S") | ||||
| @@ -604,9 +607,10 @@ class AFCStatistics(Task): | |||||
| def get_create(self, pageid, content=None): | def get_create(self, pageid, content=None): | ||||
| """Return (creator, create_ts, create_revid) for the given page.""" | """Return (creator, create_ts, create_revid) for the given page.""" | ||||
| query = """SELECT rev_user_text, rev_timestamp, rev_id | |||||
| FROM revision WHERE rev_id = | |||||
| (SELECT MIN(rev_id) FROM revision WHERE rev_page = ?)""" | |||||
| query = """SELECT actor_name, rev_timestamp, rev_id | |||||
| FROM revision | |||||
| JOIN actor ON rev_actor = actor_id | |||||
| WHERE rev_id = (SELECT MIN(rev_id) FROM revision WHERE rev_page = ?)""" | |||||
| result = self.site.sql_query(query, (pageid,)) | result = self.site.sql_query(query, (pageid,)) | ||||
| c_user, c_time, c_id = list(result)[0] | c_user, c_time, c_id = list(result)[0] | ||||
| timestamp = datetime.strptime(c_time, "%Y%m%d%H%M%S") | timestamp = datetime.strptime(c_time, "%Y%m%d%H%M%S") | ||||
| @@ -614,9 +618,10 @@ class AFCStatistics(Task): | |||||
| def get_accepted(self, pageid, content=None): | def get_accepted(self, pageid, content=None): | ||||
| """Return (acceptor, accept_ts, accept_revid) for the given page.""" | """Return (acceptor, accept_ts, accept_revid) for the given page.""" | ||||
| query = """SELECT rev_user_text, rev_timestamp, rev_id | |||||
| query = """SELECT actor_name, rev_timestamp, rev_id | |||||
| FROM revision | FROM revision | ||||
| LEFT JOIN comment ON rev_comment_id = comment_id | |||||
| JOIN actor ON rev_actor = actor_id | |||||
| JOIN comment ON rev_comment_id = comment_id | |||||
| WHERE rev_page = ? | WHERE rev_page = ? | ||||
| AND comment_text LIKE "% moved page [[%]] to [[%]]%" | AND comment_text LIKE "% moved page [[%]] to [[%]]%" | ||||
| ORDER BY rev_timestamp DESC LIMIT 1""" | ORDER BY rev_timestamp DESC LIMIT 1""" | ||||
| @@ -659,8 +664,10 @@ class AFCStatistics(Task): | |||||
| return None | return None | ||||
| user, stamp = max(submits, key=lambda pair: pair[1]) | user, stamp = max(submits, key=lambda pair: pair[1]) | ||||
| query = """SELECT rev_id FROM revision WHERE rev_page = ? | |||||
| AND rev_user_text = ? AND ABS(rev_timestamp - ?) <= 60 | |||||
| query = """SELECT rev_id | |||||
| FROM revision_userindex | |||||
| JOIN actor ON rev_actor = actor_id | |||||
| WHERE rev_page = ? AND actor_name = ? AND ABS(rev_timestamp - ?) <= 60 | |||||
| ORDER BY ABS(rev_timestamp - ?) ASC LIMIT 1""" | ORDER BY ABS(rev_timestamp - ?) ASC LIMIT 1""" | ||||
| result = self.site.sql_query(query, (pageid, user, stamp, stamp)) | result = self.site.sql_query(query, (pageid, user, stamp, stamp)) | ||||
| try: | try: | ||||
| @@ -677,8 +684,10 @@ class AFCStatistics(Task): | |||||
| ``status_set(any(search_with)) && !status_set(any(search_without))`` | ``status_set(any(search_with)) && !status_set(any(search_without))`` | ||||
| """ | """ | ||||
| query = """SELECT rev_user_text, rev_timestamp, rev_id | |||||
| FROM revision WHERE rev_page = ? ORDER BY rev_id DESC""" | |||||
| query = """SELECT actor_name, rev_timestamp, rev_id | |||||
| FROM revision | |||||
| JOIN actor ON rev_actor = actor_id | |||||
| WHERE rev_page = ? ORDER BY rev_id DESC""" | |||||
| result = self.site.sql_query(query, (pageid,)) | result = self.site.sql_query(query, (pageid,)) | ||||
| counter = 0 | counter = 0 | ||||