Made SqlBagOStuff set() wrap setMulti()
authorAaron Schulz <aschulz@wikimedia.org>
Wed, 24 Jun 2015 20:16:50 +0000 (13:16 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Wed, 24 Jun 2015 20:16:50 +0000 (13:16 -0700)
* This also makes sure garbageCollect() is called on writes from
  time to time, since set() is used much more often

Change-Id: I5b6cc686bd6204fc3d6ff8b003be8b8d6a493e24

includes/objectcache/SqlBagOStuff.php

index b8c1e75..2847485 100644 (file)
@@ -365,37 +365,7 @@ class SqlBagOStuff extends BagOStuff {
         * @return bool
         */
        public function set( $key, $value, $exptime = 0 ) {
-               list( $serverIndex, $tableName ) = $this->getTableByKey( $key );
-               try {
-                       $db = $this->getDB( $serverIndex );
-                       $exptime = intval( $exptime );
-
-                       if ( $exptime < 0 ) {
-                               $exptime = 0;
-                       }
-
-                       if ( $exptime == 0 ) {
-                               $encExpiry = $this->getMaxDateTime( $db );
-                       } else {
-                               $exptime = $this->convertExpiry( $exptime );
-                               $encExpiry = $db->timestamp( $exptime );
-                       }
-                       // (bug 24425) use a replace if the db supports it instead of
-                       // delete/insert to avoid clashes with conflicting keynames
-                       $db->replace(
-                               $tableName,
-                               array( 'keyname' ),
-                               array(
-                                       'keyname' => $key,
-                                       'value' => $db->encodeBlob( $this->serialize( $value ) ),
-                                       'exptime' => $encExpiry
-                               ), __METHOD__ );
-               } catch ( DBError $e ) {
-                       $this->handleWriteError( $e, $serverIndex );
-                       return false;
-               }
-
-               return true;
+               return $this->setMulti( array( $key => $value ), $exptime );
        }
 
        /**