diff options
Diffstat (limited to 'includes/installer/PostgresInstaller.php')
-rw-r--r-- | includes/installer/PostgresInstaller.php | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/includes/installer/PostgresInstaller.php b/includes/installer/PostgresInstaller.php index 7c4a6a80..fea012e2 100644 --- a/includes/installer/PostgresInstaller.php +++ b/includes/installer/PostgresInstaller.php @@ -80,6 +80,9 @@ class PostgresInstaller extends DatabaseInstaller { if ( !$status->isOK() ) { return $status; } + /** + * @var $conn DatabaseBase + */ $conn = $status->value; // Check version @@ -139,6 +142,9 @@ class PostgresInstaller extends DatabaseInstaller { $status = $this->openPgConnection( $type ); if ( $status->isOK() ) { + /** + * @var $conn DatabaseBase + */ $conn = $status->value; $conn->clearFlag( DBO_TRX ); $conn->commit(); @@ -186,6 +192,9 @@ class PostgresInstaller extends DatabaseInstaller { case 'create-tables': $status = $this->openPgConnection( 'create-schema' ); if ( $status->isOK() ) { + /** + * @var $conn DatabaseBase + */ $conn = $status->value; $safeRole = $conn->addIdentifierQuotes( $this->getVar( 'wgDBuser' ) ); $conn->query( "SET ROLE $safeRole" ); @@ -204,6 +213,7 @@ class PostgresInstaller extends DatabaseInstaller { if ( !in_array( $this->getVar( 'wgDBname' ), $dbs ) ) { array_unshift( $dbs, $this->getVar( 'wgDBname' ) ); } + $conn = false; $status = Status::newGood(); foreach ( $dbs as $db ) { try { @@ -233,6 +243,9 @@ class PostgresInstaller extends DatabaseInstaller { if ( !$status->isOK() ) { return false; } + /** + * @var $conn DatabaseBase + */ $conn = $status->value; $superuser = $this->getVar( '_InstallUser' ); @@ -383,6 +396,10 @@ class PostgresInstaller extends DatabaseInstaller { } public function preInstall() { + $createDbAccount = array( + 'name' => 'user', + 'callback' => array( $this, 'setupUser' ), + ); $commitCB = array( 'name' => 'pg-commit', 'callback' => array( $this, 'commitChanges' ), @@ -395,15 +412,13 @@ class PostgresInstaller extends DatabaseInstaller { 'name' => 'schema', 'callback' => array( $this, 'setupSchema' ) ); + + if( $this->getVar( '_CreateDBAccount' ) ) { + $this->parent->addInstallStep( $createDbAccount, 'database' ); + } $this->parent->addInstallStep( $commitCB, 'interwiki' ); $this->parent->addInstallStep( $plpgCB, 'database' ); $this->parent->addInstallStep( $schemaCB, 'database' ); - if( $this->getVar( '_CreateDBAccount' ) ) { - $this->parent->addInstallStep( array( - 'name' => 'user', - 'callback' => array( $this, 'setupUser' ), - ) ); - } } function setupDatabase() { @@ -414,10 +429,10 @@ class PostgresInstaller extends DatabaseInstaller { $conn = $status->value; $dbName = $this->getVar( 'wgDBname' ); - $schema = $this->getVar( 'wgDBmwschema' ); - $user = $this->getVar( 'wgDBuser' ); - $safeschema = $conn->addIdentifierQuotes( $schema ); - $safeuser = $conn->addIdentifierQuotes( $user ); + //$schema = $this->getVar( 'wgDBmwschema' ); + //$user = $this->getVar( 'wgDBuser' ); + //$safeschema = $conn->addIdentifierQuotes( $schema ); + //$safeuser = $conn->addIdentifierQuotes( $user ); $exists = $conn->selectField( '"pg_catalog"."pg_database"', '1', array( 'datname' => $dbName ), __METHOD__ ); @@ -461,7 +476,7 @@ class PostgresInstaller extends DatabaseInstaller { } function commitChanges() { - $this->db->query( 'COMMIT' ); + $this->db->commit(); return Status::newGood(); } @@ -476,10 +491,10 @@ class PostgresInstaller extends DatabaseInstaller { } $conn = $status->value; - $schema = $this->getVar( 'wgDBmwschema' ); + //$schema = $this->getVar( 'wgDBmwschema' ); $safeuser = $conn->addIdentifierQuotes( $this->getVar( 'wgDBuser' ) ); $safepass = $conn->addQuotes( $this->getVar( 'wgDBpassword' ) ); - $safeschema = $conn->addIdentifierQuotes( $schema ); + //$safeschema = $conn->addIdentifierQuotes( $schema ); // Check if the user already exists $userExists = $conn->roleExists( $this->getVar( 'wgDBuser' ) ); @@ -530,10 +545,15 @@ class PostgresInstaller extends DatabaseInstaller { if ( !$status->isOK() ) { return $status; } + + /** + * @var $conn DatabaseBase + */ $conn = $status->value; if( $conn->tableExists( 'user' ) ) { $status->warning( 'config-install-tables-exist' ); + $this->enableLB(); return $status; } @@ -565,6 +585,9 @@ class PostgresInstaller extends DatabaseInstaller { if ( !$status->isOK() ) { return $status; } + /** + * @var $conn DatabaseBase + */ $conn = $status->value; $exists = $conn->selectField( '"pg_catalog"."pg_language"', 1, |