summaryrefslogtreecommitdiff
path: root/includes/installer/PostgresInstaller.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/installer/PostgresInstaller.php')
-rw-r--r--includes/installer/PostgresInstaller.php49
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,