database: make close() sanity check mTrxPreCommitCallbacks
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 17 Aug 2017 04:25:29 +0000 (21:25 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 17 Aug 2017 04:25:29 +0000 (21:25 -0700)
The other callback types are already checked too.

Change-Id: Ibdc82110c0a0e74bb07ed92ee667bdf0d9f69f90

includes/libs/rdbms/database/Database.php

index 7349b63..cec13b5 100644 (file)
@@ -758,7 +758,11 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
 
                        $closed = $this->closeConnection();
                        $this->mConn = false;
-               } elseif ( $this->mTrxIdleCallbacks || $this->mTrxEndCallbacks ) { // sanity
+               } elseif (
+                       $this->mTrxIdleCallbacks ||
+                       $this->mTrxPreCommitCallbacks ||
+                       $this->mTrxEndCallbacks
+               ) { // sanity
                        throw new RuntimeException( "Transaction callbacks still pending." );
                } else {
                        $closed = true;