return false;
}
- // Try cache (unless this needs to lock the DB).
+ // Try cache (unless this needs data from the master DB).
// NOTE: if this thread called saveSettings(), the cache was cleared.
- $locking = ( ( $flags & self::READ_LOCKING ) == self::READ_LOCKING );
- if ( $locking || !$this->loadFromCache() ) {
+ $latest = DBAccessObjectUtils::hasFlags( $flags, self::READ_LATEST );
+ if ( $latest || !$this->loadFromCache() ) {
wfDebug( "User: cache miss for user {$this->mId}\n" );
// Load from DB (make sure this thread sees its own changes)
if ( wfGetLB()->hasOrMadeRecentMasterChanges() ) {
$data['mVersion'] = self::VERSION;
$key = wfMemcKey( 'user', 'id', $this->mId );
- $opts = array( 'since' => wfGetDB( DB_SLAVE )->trxTimestamp() );
+ $opts = Database::getCacheSetOptions( wfGetDB( DB_SLAVE ) );
ObjectCache::getMainWANInstance()->set( $key, $data, 3600, $opts );
}
* the cached User object, we assume that whatever mechanism is setting
* the expiration date is also expiring the User cache.
* @since 1.23
- * @return string|bool The datestamp of the expiration, or null if not set
+ * @return string|null The datestamp of the expiration, or null if not set
*/
public function getPasswordExpireDate() {
$this->load();