Merge "language: Move ConverterRule to includes/ and add test case"
[lhc/web/wiklou.git] / includes / libs / objectcache / CachedBagOStuff.php
index 0ab26c9..8b4c9c6 100644 (file)
@@ -79,7 +79,7 @@ class CachedBagOStuff extends BagOStuff {
                        }
                }
 
-               $valuesByKeyFetched = $this->backend->getMulti( $keys, $flags );
+               $valuesByKeyFetched = $this->backend->getMulti( $keysMissing, $flags );
                $this->setMulti( $valuesByKeyFetched, self::TTL_INDEFINITE, self::WRITE_CACHE_ONLY );
 
                return $valuesByKeyCached + $valuesByKeyFetched;
@@ -87,7 +87,8 @@ class CachedBagOStuff extends BagOStuff {
 
        public function set( $key, $value, $exptime = 0, $flags = 0 ) {
                $this->procCache->set( $key, $value, $exptime, $flags );
-               if ( ( $flags & self::WRITE_CACHE_ONLY ) != self::WRITE_CACHE_ONLY ) {
+
+               if ( !$this->fieldHasFlags( $flags, self::WRITE_CACHE_ONLY ) ) {
                        $this->backend->set( $key, $value, $exptime, $flags );
                }
 
@@ -96,7 +97,8 @@ class CachedBagOStuff extends BagOStuff {
 
        public function delete( $key, $flags = 0 ) {
                $this->procCache->delete( $key, $flags );
-               if ( ( $flags & self::WRITE_CACHE_ONLY ) != self::WRITE_CACHE_ONLY ) {
+
+               if ( !$this->fieldHasFlags( $flags, self::WRITE_CACHE_ONLY ) ) {
                        $this->backend->delete( $key, $flags );
                }
 
@@ -166,7 +168,8 @@ class CachedBagOStuff extends BagOStuff {
 
        public function setMulti( array $data, $exptime = 0, $flags = 0 ) {
                $this->procCache->setMulti( $data, $exptime, $flags );
-               if ( ( $flags & self::WRITE_CACHE_ONLY ) != self::WRITE_CACHE_ONLY ) {
+
+               if ( !$this->fieldHasFlags( $flags, self::WRITE_CACHE_ONLY ) ) {
                        return $this->backend->setMulti( $data, $exptime, $flags );
                }
 
@@ -175,7 +178,8 @@ class CachedBagOStuff extends BagOStuff {
 
        public function deleteMulti( array $keys, $flags = 0 ) {
                $this->procCache->deleteMulti( $keys, $flags );
-               if ( ( $flags & self::WRITE_CACHE_ONLY ) != self::WRITE_CACHE_ONLY ) {
+
+               if ( !$this->fieldHasFlags( $flags, self::WRITE_CACHE_ONLY ) ) {
                        return $this->backend->deleteMulti( $keys, $flags );
                }
 
@@ -184,29 +188,30 @@ class CachedBagOStuff extends BagOStuff {
 
        public function changeTTLMulti( array $keys, $exptime, $flags = 0 ) {
                $this->procCache->changeTTLMulti( $keys, $exptime, $flags );
-               if ( ( $flags & self::WRITE_CACHE_ONLY ) != self::WRITE_CACHE_ONLY ) {
+
+               if ( !$this->fieldHasFlags( $flags, self::WRITE_CACHE_ONLY ) ) {
                        return $this->backend->changeTTLMulti( $keys, $exptime, $flags );
                }
 
                return true;
        }
 
-       public function incr( $key, $value = 1 ) {
+       public function incr( $key, $value = 1, $flags = 0 ) {
                $this->procCache->delete( $key );
 
-               return $this->backend->incr( $key, $value );
+               return $this->backend->incr( $key, $value, $flags );
        }
 
-       public function decr( $key, $value = 1 ) {
+       public function decr( $key, $value = 1, $flags = 0 ) {
                $this->procCache->delete( $key );
 
-               return $this->backend->decr( $key, $value );
+               return $this->backend->decr( $key, $value, $flags );
        }
 
-       public function incrWithInit( $key, $ttl, $value = 1, $init = 1 ) {
+       public function incrWithInit( $key, $exptime, $value = 1, $init = null, $flags = 0 ) {
                $this->procCache->delete( $key );
 
-               return $this->backend->incrWithInit( $key, $ttl, $value, $init );
+               return $this->backend->incrWithInit( $key, $exptime, $value, $init, $flags );
        }
 
        public function addBusyCallback( callable $workCallback ) {