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

Reply via email to