From: Kevin Israel Date: Tue, 27 Dec 2016 10:20:30 +0000 (-0500) Subject: Database: Avoid internal use of ignoreErrors() X-Git-Tag: 1.31.0-rc.0~4450^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=commitdiff_plain;h=cc495efff47ab351093f408ad18a46b551b9f9cd;p=lhc%2Fweb%2Fwiklou.git Database: Avoid internal use of ignoreErrors() * Use $tempIgnore in DatabaseBase::tableExists() instead of ignoreErrors(). * DatabasePostgres::reportQueryError(), since 419221e4a71b, calls ignoreErrors() before and after rollback(). This is probably not effective as a recursion guard (reportQueryError() would be called regardless), and for suppressing any log entry or exception, it is redundant (doRollback() already sets $tempIgnore when calling query()). * ignoreErrors(), now unused, can be removed in a separate change set. Change-Id: Iee768abf996ece213146ab8f64a15a2b407a2e5e --- diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php index b9beac8662..69cf1ac356 100644 --- a/includes/libs/rdbms/database/Database.php +++ b/includes/libs/rdbms/database/Database.php @@ -1419,9 +1419,8 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware } $table = $this->tableName( $table ); - $old = $this->ignoreErrors( true ); - $res = $this->query( "SELECT 1 FROM $table LIMIT 1", $fname ); - $this->ignoreErrors( $old ); + $ignoreErrors = true; + $res = $this->query( "SELECT 1 FROM $table LIMIT 1", $fname, $ignoreErrors ); return (bool)$res; } diff --git a/includes/libs/rdbms/database/DatabasePostgres.php b/includes/libs/rdbms/database/DatabasePostgres.php index cd0217766e..42113b0851 100644 --- a/includes/libs/rdbms/database/DatabasePostgres.php +++ b/includes/libs/rdbms/database/DatabasePostgres.php @@ -243,9 +243,7 @@ class DatabasePostgres extends Database { } /* Transaction stays in the ERROR state until rolled back */ if ( $this->mTrxLevel ) { - $ignore = $this->ignoreErrors( true ); $this->rollback( __METHOD__ ); - $this->ignoreErrors( $ignore ); } parent::reportQueryError( $error, $errno, $sql, $fname, false ); }