Aude has uploaded a new change for review. https://gerrit.wikimedia.org/r/209037
Change subject: Update Wikidata, check for schema change in UsageTableUpdater ...................................................................... Update Wikidata, check for schema change in UsageTableUpdater Change-Id: I6b09e8de49fabeefeb1ad8dac8df6b29c89b4560 --- M composer.json M composer.lock M extensions/Wikibase/client/includes/Usage/Sql/UsageTableUpdater.php M vendor/composer/autoload_files.php M vendor/composer/installed.json 5 files changed, 123 insertions(+), 99 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata refs/changes/37/209037/1 diff --git a/composer.json b/composer.json index 043e014..52172ab 100644 --- a/composer.json +++ b/composer.json @@ -4,6 +4,10 @@ "license": "GPL-2.0+", "repositories": [ { + "type": "vcs", + "url": "https://git.wikimedia.org/git/mediawiki/extensions/Wikibase.git" + }, + { "type": "vcs", "url": "https://github.com/wmde/Wikidata.org.git" }, diff --git a/composer.lock b/composer.lock index dad2c1b..975015b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "3612bab46da204bdcf9c99f1ada84c67", + "hash": "70bd36b4d0c521e3a184fdd7e0c95fe3", "packages": [ { "name": "composer/installers", @@ -1212,14 +1212,8 @@ "version": "dev-wmf/1.26wmf4", "source": { "type": "git", - "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "e7c0348da1ccae020e232a6e246480a39dcb26a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/e7c0348da1ccae020e232a6e246480a39dcb26a2", - "reference": "e7c0348da1ccae020e232a6e246480a39dcb26a2", - "shasum": "" + "url": "https://git.wikimedia.org/git/mediawiki/extensions/Wikibase.git", + "reference": "eedce83fe41a299f242c2933e23bbbc8ce2dc944" }, "require": { "data-values/common": "~0.2.0", @@ -1268,7 +1262,6 @@ "Wikimedia\\Purtle\\Tests\\": "purtle/tests/phpunit" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0+" ], @@ -1286,7 +1279,11 @@ "wikibaserepo", "wikidata" ], - "time": "2015-04-29 01:26:39" + "support": { + "issues": "https://bugzilla.wikimedia.org/", + "irc": "irc://irc.freenode.net/wikidata" + }, + "time": "2015-05-05 19:13:08" }, { "name": "wikibase/wikimedia-badges", diff --git a/extensions/Wikibase/client/includes/Usage/Sql/UsageTableUpdater.php b/extensions/Wikibase/client/includes/Usage/Sql/UsageTableUpdater.php index 7325491..537573b 100644 --- a/extensions/Wikibase/client/includes/Usage/Sql/UsageTableUpdater.php +++ b/extensions/Wikibase/client/includes/Usage/Sql/UsageTableUpdater.php @@ -31,6 +31,11 @@ private $batchSize; /** + * @var bool + */ + private $hasTouchedField; + + /** * @param DatabaseBase $connection * @param string $tableName * @param int $batchSize @@ -137,7 +142,7 @@ * @param string|false $touched timestamp */ private function touchUsageForPage( $pageId, $touched ) { - if ( $touched === false ) { + if ( $touched === false || !$this->hasTouchedField() ) { return; } @@ -151,6 +156,22 @@ ), __METHOD__ ); + } + + /** + * Check if the usage tracking table has the touched field. + * + * @return bool + */ + private function hasTouchedField() { + if ( !isset( $this->hasTouchedField ) ) { + $this->hasTouchedField = $this->connection->fieldExists( + $this->tableName, + 'eu_touched' + ); + } + + return $this->hasTouchedField; } /** @@ -193,12 +214,17 @@ throw new InvalidArgumentException( '$usages must contain EntityUsage objects.' ); } - $rows[] = array( + $fields = array( 'eu_page_id' => (int)$pageId, 'eu_aspect' => $usage->getAspect(), - 'eu_entity_id' => $usage->getEntityId()->getSerialization(), - 'eu_touched' => wfTimestamp( TS_MW, $touched ), + 'eu_entity_id' => $usage->getEntityId()->getSerialization() ); + + if ( $this->hasTouchedField() ) { + $fields['eu_touched'] = wfTimestamp( TS_MW, $touched ); + } + + $rows[] = $fields; } return $rows; diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 51e312c..25187cc 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -22,6 +22,6 @@ $baseDir . '/extensions/ValueView/ValueView.php', $vendorDir . '/data-values/data-types/DataTypes.php', $vendorDir . '/data-values/validators/Validators.php', - $baseDir . '/extensions/Wikibase/Wikibase.composer.php', $baseDir . '/extensions/WikimediaBadges/WikimediaBadges.php', + $baseDir . '/extensions/Wikibase/Wikibase.composer.php', ); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 5bebeef..6de4ea1 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1150,89 +1150,6 @@ ] }, { - "name": "wikibase/wikibase", - "version": "dev-wmf/1.26wmf4", - "version_normalized": "dev-wmf/1.26wmf4", - "source": { - "type": "git", - "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "e7c0348da1ccae020e232a6e246480a39dcb26a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/e7c0348da1ccae020e232a6e246480a39dcb26a2", - "reference": "e7c0348da1ccae020e232a6e246480a39dcb26a2", - "shasum": "" - }, - "require": { - "data-values/common": "~0.2.0", - "data-values/data-types": "~0.4.0", - "data-values/data-values": "~1.0.0", - "data-values/geo": "~1.0", - "data-values/interfaces": "^0.1.5", - "data-values/javascript": "~0.6.0", - "data-values/number": "~0.4.0", - "data-values/serialization": "~1.0", - "data-values/time": "~0.7.0", - "data-values/validators": "~0.1.0", - "data-values/value-view": "~0.14.0", - "diff/diff": "~2.0|~1.0", - "php": ">=5.3.2", - "wikibase/data-model": "~2.6", - "wikibase/data-model-javascript": "~1.0", - "wikibase/data-model-serialization": "~1.2", - "wikibase/internal-serialization": "~1.3", - "wikibase/javascript-api": "~1.0", - "wikibase/serialization-javascript": "~2.0" - }, - "conflict": { - "mediawiki/mediawiki": "<1.23" - }, - "time": "2015-04-29 01:26:39", - "type": "mediawiki-extension", - "installation-source": "dist", - "autoload": { - "files": [ - "Wikibase.composer.php" - ], - "classmap": [ - "client/includes/", - "client/WikibaseClient.hooks.php", - "client/tests/phpunit/", - "lib/includes/", - "lib/WikibaseLib.hooks.php", - "lib/tests/phpunit/", - "repo/includes/", - "repo/maintenance/", - "repo/tests/phpunit/", - "repo/Wikibase.hooks.php" - ], - "psr-4": { - "Wikibase\\View\\": "view/src", - "Wikimedia\\Purtle\\": "purtle/src", - "Wikimedia\\Purtle\\Tests\\": "purtle/tests/phpunit" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The Wikidata team" - } - ], - "description": "Structured data repository for MediaWiki", - "homepage": "http://wikiba.se", - "keywords": [ - "wikibase", - "wikibaseclient", - "wikibaselib", - "wikibaserepo", - "wikidata" - ] - }, - { "name": "wikibase/wikimedia-badges", "version": "dev-master", "version_normalized": "9999999-dev", @@ -1378,5 +1295,85 @@ "wikibase", "wikidata" ] + }, + { + "name": "wikibase/wikibase", + "version": "dev-wmf/1.26wmf4", + "version_normalized": "dev-wmf/1.26wmf4", + "source": { + "type": "git", + "url": "https://git.wikimedia.org/git/mediawiki/extensions/Wikibase.git", + "reference": "eedce83fe41a299f242c2933e23bbbc8ce2dc944" + }, + "require": { + "data-values/common": "~0.2.0", + "data-values/data-types": "~0.4.0", + "data-values/data-values": "~1.0.0", + "data-values/geo": "~1.0", + "data-values/interfaces": "^0.1.5", + "data-values/javascript": "~0.6.0", + "data-values/number": "~0.4.0", + "data-values/serialization": "~1.0", + "data-values/time": "~0.7.0", + "data-values/validators": "~0.1.0", + "data-values/value-view": "~0.14.0", + "diff/diff": "~2.0|~1.0", + "php": ">=5.3.2", + "wikibase/data-model": "~2.6", + "wikibase/data-model-javascript": "~1.0", + "wikibase/data-model-serialization": "~1.2", + "wikibase/internal-serialization": "~1.3", + "wikibase/javascript-api": "~1.0", + "wikibase/serialization-javascript": "~2.0" + }, + "conflict": { + "mediawiki/mediawiki": "<1.23" + }, + "time": "2015-05-05 18:50:37", + "type": "mediawiki-extension", + "installation-source": "source", + "autoload": { + "files": [ + "Wikibase.composer.php" + ], + "classmap": [ + "client/includes/", + "client/WikibaseClient.hooks.php", + "client/tests/phpunit/", + "lib/includes/", + "lib/WikibaseLib.hooks.php", + "lib/tests/phpunit/", + "repo/includes/", + "repo/maintenance/", + "repo/tests/phpunit/", + "repo/Wikibase.hooks.php" + ], + "psr-4": { + "Wikibase\\View\\": "view/src", + "Wikimedia\\Purtle\\": "purtle/src", + "Wikimedia\\Purtle\\Tests\\": "purtle/tests/phpunit" + } + }, + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "The Wikidata team" + } + ], + "description": "Structured data repository for MediaWiki", + "homepage": "http://wikiba.se", + "keywords": [ + "wikibase", + "wikibaseclient", + "wikibaselib", + "wikibaserepo", + "wikidata" + ], + "support": { + "issues": "https://bugzilla.wikimedia.org/", + "irc": "irc://irc.freenode.net/wikidata" + } } ] -- To view, visit https://gerrit.wikimedia.org/r/209037 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6b09e8de49fabeefeb1ad8dac8df6b29c89b4560 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikidata Gerrit-Branch: wmf/1.26wmf4 Gerrit-Owner: Aude <aude.w...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits