X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmes_infos.php?a=blobdiff_plain;f=includes%2Flibs%2Frdbms%2Fdatabase%2FDatabase.php;h=1f92c47399f90e33ec78e628127d7f48f7a7d86f;hb=b6e8e6b83267e1357bb04edb7976f1a11ee10a5b;hp=efef121cf009d7af91f10f86fd63e589b401817b;hpb=8880a25112eaf7652d907d17d17607a5c6ceb26b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php index efef121cf0..1f92c47399 100644 --- a/includes/libs/rdbms/database/Database.php +++ b/includes/libs/rdbms/database/Database.php @@ -1169,27 +1169,21 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware if ( $ret === false ) { if ( $this->trxLevel ) { - if ( !$this->wasKnownStatementRollbackError() ) { - # Either the query was aborted or all queries after BEGIN where aborted. - if ( $this->explicitTrxActive() || $priorWritesPending ) { - # In the first case, the only options going forward are (a) ROLLBACK, or - # (b) ROLLBACK TO SAVEPOINT (if one was set). If the later case, the only - # option is ROLLBACK, since the snapshots would have been released. - $this->trxStatus = self::STATUS_TRX_ERROR; - $this->trxStatusCause = - $this->makeQueryException( $lastError, $lastErrno, $sql, $fname ); - $tempIgnore = false; // cannot recover - } else { - # Nothing prior was there to lose from the transaction, - # so just roll it back. - $this->rollback( __METHOD__ . " ($fname)", self::FLUSHING_INTERNAL ); - } - $this->trxStatusIgnoredCause = null; - } else { + if ( $this->wasKnownStatementRollbackError() ) { # We're ignoring an error that caused just the current query to be aborted. - # But log the cause so we can log a deprecation notice if a - # caller actually does ignore it. + # But log the cause so we can log a deprecation notice if a caller actually + # does ignore it. $this->trxStatusIgnoredCause = [ $lastError, $lastErrno, $fname ]; + } else { + # Either the query was aborted or all queries after BEGIN where aborted. + # In the first case, the only options going forward are (a) ROLLBACK, or + # (b) ROLLBACK TO SAVEPOINT (if one was set). If the later case, the only + # option is ROLLBACK, since the snapshots would have been released. + $this->trxStatus = self::STATUS_TRX_ERROR; + $this->trxStatusCause = + $this->makeQueryException( $lastError, $lastErrno, $sql, $fname ); + $tempIgnore = false; // cannot recover + $this->trxStatusIgnoredCause = null; } } @@ -4639,5 +4633,12 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware } } -class_alias( Database::class, 'DatabaseBase' ); // b/c for old name -class_alias( Database::class, 'Database' ); // b/c global alias +/** + * @deprecated since 1.28 + */ +class_alias( Database::class, 'DatabaseBase' ); + +/** + * @deprecated since 1.29 + */ +class_alias( Database::class, 'Database' );