Fix pingback on non-MySQL
authorTim Starling <tstarling@wikimedia.org>
Wed, 1 Aug 2018 01:30:49 +0000 (11:30 +1000)
committerKunal Mehta <legoktm@member.fsf.org>
Wed, 29 Aug 2018 01:22:32 +0000 (18:22 -0700)
MySQL has its own implementation of upsert(), but the others rely on
$uniqueIndexes being a field list, not a field/value associative array.
The previous code generated an SQL error when checking for existing
values.

Bug: T200864
Change-Id: Ifb56f7f350fbb84144bc6f5a1dd76939816338a6
(cherry picked from commit ba54f7f90dce0e06ff3c4ad1ec141362f10be9a9)

RELEASE-NOTES-1.31
includes/Pingback.php

index 95ba836..b22f75e 100644 (file)
@@ -17,6 +17,7 @@ This is a security and maintenance release of the MediaWiki 1.31 branch.
 * (T197030) PHPSessionHandler: Suppress headers warnings in initialize().
 * (T182377, T196793) Exif: Guard against uncountable tag values.
 * (T200861) Fix total breakage of SQLite web upgrade.
+* (T200864) Fix pingback over-reporting on non-MySQL databases
 
 === Changes since MediaWiki 1.31.0-rc.2 ===
 * (T195783) Initialize PSR-4 namespaces at same stage as normal autoloader.
index 64b54f1..bf2123f 100644 (file)
@@ -99,7 +99,7 @@ class Pingback {
                return $dbw->upsert(
                        'updatelog',
                        [ 'ul_key' => $this->key, 'ul_value' => $timestamp ],
-                       [ 'ul_key' => $this->key ],
+                       [ 'ul_key' ],
                        [ 'ul_value' => $timestamp ],
                        __METHOD__
                );