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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits