Merge "Fix SqlBagOStuff exptime uniqueness assumption"
[lhc/web/wiklou.git] / includes / objectcache / SqlBagOStuff.php
index 7e8c2ba..6c10301 100644 (file)
  * @ingroup Cache
  */
 
+use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
 use \MediaWiki\MediaWikiServices;
 use \Wikimedia\WaitConditionLoop;
 use \Wikimedia\Rdbms\TransactionProfiler;
@@ -405,7 +410,7 @@ class SqlBagOStuff extends BagOStuff {
                                $exptime = $this->convertExpiry( $exptime );
                                $encExpiry = $db->timestamp( $exptime );
                        }
-                       // (bug 24425) use a replace if the db supports it instead of
+                       // (T26425) use a replace if the db supports it instead of
                        // delete/insert to avoid clashes with conflicting keynames
                        $db->update(
                                $tableName,
@@ -480,7 +485,7 @@ class SqlBagOStuff extends BagOStuff {
                                ], __METHOD__, 'IGNORE' );
 
                        if ( $db->affectedRows() == 0 ) {
-                               // Race condition. See bug 28611
+                               // Race condition. See T30611
                                $newValue = null;
                        }
                } catch ( DBError $e ) {
@@ -583,7 +588,7 @@ class SqlBagOStuff extends BagOStuff {
                                        while ( true ) {
                                                $conds = $baseConds;
                                                if ( $maxExpTime !== false ) {
-                                                       $conds[] = 'exptime > ' . $db->addQuotes( $maxExpTime );
+                                                       $conds[] = 'exptime >= ' . $db->addQuotes( $maxExpTime );
                                                }
                                                $rows = $db->select(
                                                        $this->getTableNameByShard( $i ),