Open djflux opened 2 years ago
I have a fix for this and will be creating a pull request soon. For those who can't wait for the pull request, here is a patch against WatchAnalytics master
branch (as of the datestamp of this post) for Special:PageStatistics:
WatchAnalytics-SpecialPageStatistics-MW1.35.patch
diff --git a/specials/SpecialPageStatistics.php b/specials/SpecialPageStatistics.php
index a7a6186..c1838e8 100644
--- a/specials/SpecialPageStatistics.php
+++ b/specials/SpecialPageStatistics.php
@@ -108,14 +108,19 @@ class SpecialPageStatistics extends SpecialPage {
// Load the styles for the D3.js force directed graph
// $wgOut->addModuleStyles( 'ext.watchanalytics.forcegraph.styles' );
+
+ // Per https://www.mediawiki.org/wiki/Manual:Revision_table#rev_actor the
+ // table schema and which tables contain this data may change after MW1.35
+ //
// SELECT
- // rev.rev_user,
- // rev.rev_user_text,
+ // rev.revactor_actor,
+ // act.actor_name,
// COUNT( * ) AS num_revisions
- // FROM revision AS rev
- // LEFT JOIN page AS p ON p.page_id = rev.rev_page
- // WHERE p.page_title = "US_EVA_29_(US_EVA_IDA1_Cables)" AND p.page_namespace = 0
- // GROUP BY rev.rev_user
+ // FROM revision_actor_temp AS rev
+ // LEFT JOIN page AS p ON p.page_id = rev.revactor_page
+ // LEFT JOIN actor AS act on act.actor_id = rev.revactor_actor
+ // WHERE p.page_title = "Main_Page" AND p.page_namespace = 0
+ // GROUP BY rev.revactor_actor
// ORDER BY num_revisions DESC
#
@@ -123,12 +128,13 @@ class SpecialPageStatistics extends SpecialPage {
#
$res = $dbr->select(
[
- 'rev' => 'revision',
+ 'rev' => 'revision_actor_temp',
'p' => 'page',
+ 'act' => 'actor',
],
[
- 'rev.rev_user',
- 'rev.rev_user_text',
+ 'rev.revactor_actor',
+ 'act.actor_name',
'COUNT( * ) AS num_revisions',
],
[
@@ -137,12 +143,15 @@ class SpecialPageStatistics extends SpecialPage {
],
__METHOD__,
[
- 'GROUP BY' => 'rev.rev_user',
+ 'GROUP BY' => 'rev.revactor_actor',
'ORDER BY' => 'num_revisions DESC',
],
[
'p' => [
- 'LEFT JOIN', 'p.page_id = rev.rev_page'
+ 'LEFT JOIN', 'p.page_id = rev.revactor_page'
+ ],
+ 'act' => [
+ 'LEFT JOIN', 'act.actor_id = rev.revactor_actor'
],
]
);
@@ -160,7 +169,7 @@ class SpecialPageStatistics extends SpecialPage {
Xml::openElement( 'li' )
. wfMessage(
'watchanalytics-pagestats-editors-list-item',
- Linker::userLink( $row->rev_user, $row->rev_user_text ),
+ Linker::userLink( $row->revactor_actor, $row->actor_name ),
$row->num_revisions
)->text()
. Xml::closeElement( 'li' );
System Details
Clean MW/SMW Demo Wiki installed via meza from:
https://github.com/djflux/meza/tree/336c3c985631e229cd9d51ccdde54535c953c0eb
Received the follow error when trying to look at Special:PageStatistics for Main_Page:
I added the query parameter
&requestDebug=1
to get the error details and backtrace.There appears to no longer be a
rev_user
column in therevision
table. Maybe therevision
table schema changed in newer MW/SMW?I can attempt a fix if someone gives me an idea of what the query is supposed to be doing. 😄