Krinkle has submitted this change and it was merged.

Change subject: Only query for edits and new pages from recent changes
......................................................................


Only query for edits and new pages from recent changes

Follows-up d5314cb.
Exclude things like log events and wikidata updates.

Change-Id: Icb9b55de5750fb32a6f6f2652b111935fa27ee38
---
M lb/guc.php
M lb/wikicontribs.php
2 files changed, 20 insertions(+), 6 deletions(-)

Approvals:
  Krinkle: Verified; Looks good to me, approved



diff --git a/lb/guc.php b/lb/guc.php
index f79e025..7cdfca9 100644
--- a/lb/guc.php
+++ b/lb/guc.php
@@ -189,7 +189,12 @@
                         ($this->options['src'] === 'hr')
                             ? ' AND rc_timestamp >= :hrcutoff'
                             : ''
-                    );
+                    // Ignore RC entries for log events and things like
+                    // Wikidata and categorization updates
+                    ).' AND `rc_type` IN (' . join(',', array_map(
+                        'intval',
+                        array(lb_wikicontribs::MW_RC_EDIT, 
lb_wikicontribs::MW_RC_NEW)
+                    )) . ')';
             } else {
                 $sql = 'SELECT
                     COUNT(rev_id) AS counter,
diff --git a/lb/wikicontribs.php b/lb/wikicontribs.php
index 826209b..308f800 100644
--- a/lb/wikicontribs.php
+++ b/lb/wikicontribs.php
@@ -18,6 +18,9 @@
 class lb_wikicontribs {
     const CONTRIB_LIMIT = 20;
     const MW_DATE_FORMAT = 'YmdHis';
+    const MW_RC_EDIT = 0;
+    const MW_RC_NEW = 1;
+    // Other RC types: Log events, Categorization, External (e.g. Wikidata)
 
     private $app;
     private $wiki;
@@ -114,8 +117,8 @@
                 ? '`rev_user` = ' . $pdo->quote(key($this->registeredUsers))
                 : '`rev_user` IN (' . join(',', array_map(
                     array($pdo, 'quote'),
-                    array_keys($this->registeredUsers))
-                ) . ')';
+                    array_keys($this->registeredUsers)
+                )) . ')';
         }
         $sql = "SELECT
                 `rev_comment`,
@@ -143,7 +146,7 @@
                                 : 'rev_user_text = :user'
                         )
                 )."
-            ORDER BY `revision_userindex`.`rev_timestamp` DESC
+            ORDER BY `rev_timestamp` DESC
             LIMIT 0, " . intval(self::CONTRIB_LIMIT) .
             ";";
         $statement = $pdo->prepare($sql);
@@ -169,7 +172,13 @@
             '`rc_deleted` = 0',
             ($this->options['isPrefixPattern'])
                 ? 'rc_user_text LIKE :userlike'
-                : 'rc_user_text = :user'
+                : 'rc_user_text = :user',
+            // Ignore RC entries for log events and things like
+            // Wikidata and categorization updates
+            '`rc_type` IN (' . join(',', array_map(
+                    'intval',
+                    array(self::MW_RC_EDIT, self::MW_RC_NEW)
+                )) . ')'
         ];
         $conds = array_merge($conds, $extraConds);
         $sqlCond = implode(' AND ', $conds);
@@ -188,7 +197,7 @@
                 `recentchanges_userindex`
             WHERE
                 ' . $sqlCond . '
-            ORDER BY `recentchanges_userindex`.`rc_timestamp` DESC
+            ORDER BY `rc_timestamp` DESC
             LIMIT 0, ' . intval(self::CONTRIB_LIMIT) .
             ';';
         $statement = $pdo->prepare($sql);

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Icb9b55de5750fb32a6f6f2652b111935fa27ee38
Gerrit-PatchSet: 4
Gerrit-Project: labs/tools/guc
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to