X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fobjectcache%2FSqlBagOStuff.php;h=b6bf3f8b4125c1cb87ebb5d2a293b0ba7eba7f02;hb=b4cf6b43661d94c218f4fa6ab7dfc606378a08fc;hp=24047038e98e93f7c7ca785a28a502ca3c4c7518;hpb=a89b44f83329c59967a4b4d972624828757be60e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/objectcache/SqlBagOStuff.php b/includes/objectcache/SqlBagOStuff.php index 24047038e9..b6bf3f8b41 100644 --- a/includes/objectcache/SqlBagOStuff.php +++ b/includes/objectcache/SqlBagOStuff.php @@ -133,7 +133,7 @@ class SqlBagOStuff extends BagOStuff { } else { /* * We must keep a separate connection to MySQL in order to avoid deadlocks - * However, SQLite has an opposite behaviour. And PostgreSQL needs to know + * However, SQLite has an opposite behavior. And PostgreSQL needs to know * if we are in transaction or no */ if ( wfGetDB( DB_MASTER )->getType() == 'mysql' ) { @@ -222,8 +222,8 @@ class SqlBagOStuff extends BagOStuff { $dataRows = array(); foreach ( $keysByTable as $serverIndex => $serverKeys ) { - $db = $this->getDB( $serverIndex ); try { + $db = $this->getDB( $serverIndex ); foreach ( $serverKeys as $tableName => $tableKeys ) { $res = $db->select( $tableName, array( 'keyname', 'value', 'exptime' ), @@ -244,10 +244,10 @@ class SqlBagOStuff extends BagOStuff { if ( isset( $dataRows[$key] ) ) { // HIT? $row = $dataRows[$key]; $this->debug( "get: retrieved data; expiry time is " . $row->exptime ); - $db = $this->getDB( $row->serverIndex ); - if ( $this->isExpired( $db, $row->exptime ) ) { // MISS - $this->debug( "get: key has expired, deleting" ); - try { + try { + $db = $this->getDB( $row->serverIndex ); + if ( $this->isExpired( $db, $row->exptime ) ) { // MISS + $this->debug( "get: key has expired, deleting" ); $db->begin( __METHOD__ ); # Put the expiry time in the WHERE condition to avoid deleting a # newly-inserted value @@ -255,12 +255,12 @@ class SqlBagOStuff extends BagOStuff { array( 'keyname' => $key, 'exptime' => $row->exptime ), __METHOD__ ); $db->commit( __METHOD__ ); - } catch ( DBQueryError $e ) { - $this->handleWriteError( $e, $row->serverIndex ); + $values[$key] = false; + } else { // HIT + $values[$key] = $this->unserialize( $db->decodeBlob( $row->value ) ); } - $values[$key] = false; - } else { // HIT - $values[$key] = $this->unserialize( $db->decodeBlob( $row->value ) ); + } catch ( DBQueryError $e ) { + $this->handleWriteError( $e, $row->serverIndex ); } } else { // MISS $values[$key] = false;