Fix missing commit() flag in postgres savepoint class
authorAaron Schulz <aschulz@wikimedia.org>
Sat, 29 Oct 2016 16:14:15 +0000 (09:14 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Sat, 29 Oct 2016 16:14:15 +0000 (09:14 -0700)
Previously, the transaction was left dangling, causing massive
unit failure.

Change-Id: I8fb6e69b44ff0ceb0cf7c4fb45f204e140472406

includes/libs/rdbms/database/utils/SavepointPostgres.php

index ec4d09f..8ae78e9 100644 (file)
@@ -47,7 +47,7 @@ class SavepointPostgres {
                $this->didbegin = false;
                /* If we are not in a transaction, we need to be for savepoint trickery */
                if ( !$dbw->trxLevel() ) {
-                       $dbw->begin( "FOR SAVEPOINT", DatabasePostgres::TRANSACTION_INTERNAL );
+                       $dbw->begin( __CLASS__, DatabasePostgres::TRANSACTION_INTERNAL );
                        $this->didbegin = true;
                }
        }
@@ -61,7 +61,7 @@ class SavepointPostgres {
 
        public function commit() {
                if ( $this->didbegin ) {
-                       $this->dbw->commit();
+                       $this->dbw->commit( __CLASS__, DatabasePostgres::FLUSHING_INTERNAL );
                        $this->didbegin = false;
                }
        }