WikidataBuilder has uploaded a new change for review.

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

Change subject: New Wikidata Build - 11/05/2014 10:00
......................................................................

New Wikidata Build - 11/05/2014 10:00

Change-Id: Icec5762829fd130d09786e9c8874876c43f161d3
---
M composer.lock
M extensions/Wikibase/repo/Wikibase.hooks.php
M extensions/Wikibase/repo/Wikibase.php
M extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/store/sql/EntityPerPageTableTest.php
M vendor/autoload.php
M vendor/composer/autoload_real.php
M vendor/composer/installed.json
8 files changed, 78 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/87/132787/1

diff --git a/composer.lock b/composer.lock
index c59bef1..764a0bf 100644
--- a/composer.lock
+++ b/composer.lock
@@ -869,12 +869,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "0bde25d160b68ae8e9ec2611ed6cccc66e220916"
+                "reference": "6d9387ea98e3de2c13961482e067d30593d62980"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/0bde25d160b68ae8e9ec2611ed6cccc66e220916";,
-                "reference": "0bde25d160b68ae8e9ec2611ed6cccc66e220916",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/6d9387ea98e3de2c13961482e067d30593d62980";,
+                "reference": "6d9387ea98e3de2c13961482e067d30593d62980",
                 "shasum": ""
             },
             "require": {
@@ -937,7 +937,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2014-05-09 22:24:08"
+            "time": "2014-05-10 20:02:04"
         }
     ],
     "packages-dev": [
diff --git a/extensions/Wikibase/repo/Wikibase.hooks.php 
b/extensions/Wikibase/repo/Wikibase.hooks.php
index 3c78015..6082c32 100644
--- a/extensions/Wikibase/repo/Wikibase.hooks.php
+++ b/extensions/Wikibase/repo/Wikibase.hooks.php
@@ -1277,4 +1277,55 @@
                return new PropertyHandler( $validators );
        }
 
+       /**
+        * Helper for onAPIQuerySiteInfoStatisticsInfo
+        * @param object $row
+        * @return array
+        */
+       private static function formatDispatchRow( $row ) {
+               $data = array(
+                       'pending' => $row->chd_pending,
+                       'lag' => $row->chd_lag,
+               );
+               if ( isset( $row->chd_site ) ) {
+                       $data['site'] = $row->chd_site;
+               }
+               if ( isset( $row->chd_seen ) ) {
+                       $data['position'] = $row->chd_seen;
+               }
+               if ( isset( $row->chd_touched ) ) {
+                       $data['touched'] = $row->chd_touched;
+               }
+
+               return $data;
+       }
+
+       /**
+        * Adds DispatchStats info to the API
+        * @param array $data
+        * @return bool
+        */
+       public static function onAPIQuerySiteInfoStatisticsInfo( array &$data ) 
{
+               $stats = new DispatchStats();
+               $stats->load();
+               if ( $stats->hasStats() ) {
+                       $data['dispatch'] = array(
+                               'oldest' => array(
+                                       'id' => $stats->getMinChangeId(),
+                                       'timestamp' => 
$stats->getMinChangeTimestamp(),
+                               ),
+                               'newest' => array(
+                                       'id' => $stats->getMaxChangeId(),
+                                       'timestamp' => 
$stats->getMaxChangeTimestamp(),
+                               ),
+                               'freshest' => self::formatDispatchRow( 
$stats->getFreshest() ),
+                               'median' => self::formatDispatchRow( 
$stats->getMedian() ),
+                               'stalest' => self::formatDispatchRow( 
$stats->getStalest() ),
+                               'average' => self::formatDispatchRow( 
$stats->getAverage() ),
+                       );
+               }
+
+               return true;
+       }
+
 }
diff --git a/extensions/Wikibase/repo/Wikibase.php 
b/extensions/Wikibase/repo/Wikibase.php
index b83aeb9..10fd985 100644
--- a/extensions/Wikibase/repo/Wikibase.php
+++ b/extensions/Wikibase/repo/Wikibase.php
@@ -180,6 +180,7 @@
        $wgHooks['OutputPageBeforeHTML'][]                              = 
'Wikibase\RepoHooks::onOutputPageBeforeHtmlRegisterConfig';
        $wgHooks['MakeGlobalVariablesScript'][]                 = 
'Wikibase\RepoHooks::onMakeGlobalVariablesScript';
        $wgHooks['ContentHandlerForModelID'][]                  = 
'Wikibase\RepoHooks::onContentHandlerForModelID';
+       $wgHooks['APIQuerySiteInfoStatisticsInfo'][]    = 
'Wikibase\RepoHooks::onAPIQuerySiteInfoStatisticsInfo';
 
        // Resource Loader Modules:
        $wgResourceModules = array_merge( $wgResourceModules, include( __DIR__ 
. "/resources/Resources.php" ) );
diff --git a/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php 
b/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php
index 7170de5..8eceab1 100644
--- a/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php
+++ b/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php
@@ -3,7 +3,6 @@
 namespace Wikibase;
 
 use InvalidArgumentException;
-use Iterator;
 use Wikibase\DataModel\Entity\BasicEntityIdParser;
 use Wikibase\DataModel\Entity\ItemId;
 
@@ -245,10 +244,16 @@
        public function listEntities( $entityType, $limit, EntityId $after = 
null ) {
                if ( $entityType == null  ) {
                        $where = array();
+                       //NOTE: needs to be id/type, not type/id, according to 
the definition of the relevant
+                       //      index in wikibase.sql: wb_entity_per_page 
(epp_entity_id, epp_entity_type);
+                       $orderBy = array( 'epp_entity_id', 'epp_entity_type' );
                } elseif ( !is_string( $entityType ) ) {
                        throw new InvalidArgumentException( '$entityType must 
be a string (or null)' );
                } else {
                        $where = array( 'epp_entity_type' => $entityType );
+                       // NOTE: If the type is fixed, don't use the type in 
the order;
+                       // before changing this, check index usage.
+                       $orderBy = array( 'epp_entity_id' );
                }
 
                if ( !is_int( $limit ) || $limit < 1 ) {
@@ -260,9 +265,10 @@
                if ( $after ) {
                        if ( $entityType === null ) {
                                // Ugly. About time we switch to qualified, 
string based IDs!
-                               $where[] = '( ( epp_entity_type = ' . 
$dbr->addQuotes( $after->getEntityType() ) .
-                                               'AND epp_entity_id > ' . 
$after->getNumericId() . ' ) ' .
-                                               ' OR epp_entity_type > ' . 
$dbr->addQuotes( $after->getEntityType() ) . ' )';
+                               // NOTE: this must be consistent with the sort 
order, see above!
+                               $where[] = '( ( epp_entity_type > ' . 
$dbr->addQuotes( $after->getEntityType() ) .
+                                               'AND epp_entity_id = ' . 
$after->getNumericId() . ' ) ' .
+                                               ' OR epp_entity_id > ' . 
$after->getNumericId() . ' )';
                        } else {
                                $where[] = 'epp_entity_id > ' . 
$after->getNumericId();
                        }
@@ -274,7 +280,7 @@
                        $where,
                        __METHOD__,
                        array(
-                               'ORDER BY' => array( 'epp_entity_type', 
'epp_entity_id' ),
+                               'ORDER BY' => $orderBy,
                                'LIMIT' => $limit
                        )
                );
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/EntityPerPageTableTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/EntityPerPageTableTest.php
index acf79c1..73dc203 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/EntityPerPageTableTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/EntityPerPageTableTest.php
@@ -106,7 +106,7 @@
                $expectedIds = $this->getIdStrings( $expected );
                $actualIds = $this->getIdStrings( $actual );
 
-               $this->assertArrayEquals( $expectedIds, $actualIds, $msg );
+               $this->assertArrayEquals( $expectedIds, $actualIds, false );
        }
 
        /**
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 25cf840..1d14c9a 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInitf82899569e5001c1e2867d6eeeee90cc::getLoader();
+return ComposerAutoloaderInit5eaf4872d60c70030410d914cbc97820::getLoader();
diff --git a/vendor/composer/autoload_real.php 
b/vendor/composer/autoload_real.php
index 8027099..8f6fc4d 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInitf82899569e5001c1e2867d6eeeee90cc
+class ComposerAutoloaderInit5eaf4872d60c70030410d914cbc97820
 {
     private static $loader;
 
@@ -19,9 +19,9 @@
             return self::$loader;
         }
 
-        
spl_autoload_register(array('ComposerAutoloaderInitf82899569e5001c1e2867d6eeeee90cc',
 'loadClassLoader'), true, true);
+        
spl_autoload_register(array('ComposerAutoloaderInit5eaf4872d60c70030410d914cbc97820',
 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        
spl_autoload_unregister(array('ComposerAutoloaderInitf82899569e5001c1e2867d6eeeee90cc',
 'loadClassLoader'));
+        
spl_autoload_unregister(array('ComposerAutoloaderInit5eaf4872d60c70030410d914cbc97820',
 'loadClassLoader'));
 
         $vendorDir = dirname(__DIR__);
         $baseDir = dirname($vendorDir);
@@ -45,14 +45,14 @@
 
         $includeFiles = require __DIR__ . '/autoload_files.php';
         foreach ($includeFiles as $file) {
-            composerRequiref82899569e5001c1e2867d6eeeee90cc($file);
+            composerRequire5eaf4872d60c70030410d914cbc97820($file);
         }
 
         return $loader;
     }
 }
 
-function composerRequiref82899569e5001c1e2867d6eeeee90cc($file)
+function composerRequire5eaf4872d60c70030410d914cbc97820($file)
 {
     require $file;
 }
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index f4fd8a5..77fea99 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -896,12 +896,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "0bde25d160b68ae8e9ec2611ed6cccc66e220916"
+            "reference": "6d9387ea98e3de2c13961482e067d30593d62980"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/0bde25d160b68ae8e9ec2611ed6cccc66e220916";,
-            "reference": "0bde25d160b68ae8e9ec2611ed6cccc66e220916",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/6d9387ea98e3de2c13961482e067d30593d62980";,
+            "reference": "6d9387ea98e3de2c13961482e067d30593d62980",
             "shasum": ""
         },
         "require": {
@@ -924,7 +924,7 @@
         "conflict": {
             "mediawiki/mediawiki": "<1.23"
         },
-        "time": "2014-05-09 22:24:08",
+        "time": "2014-05-10 20:02:04",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icec5762829fd130d09786e9c8874876c43f161d3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de>

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

Reply via email to