* partly fixes two issues exposed by bug 34280
authorJure Kajzer <freakolowsky@users.mediawiki.org>
Mon, 27 Feb 2012 19:01:10 +0000 (19:01 +0000)
committerJure Kajzer <freakolowsky@users.mediawiki.org>
Mon, 27 Feb 2012 19:01:10 +0000 (19:01 +0000)
** forcing recreate if creating user
** parent::createTables was setting DB to a wrong setting

includes/installer/OracleInstaller.php

index b457033..50f18c9 100644 (file)
@@ -230,6 +230,8 @@ class OracleInstaller extends DatabaseInstaller {
                        // user created or already existing, switching back to a normal connection
                        // as the new user has all needed privileges to setup the rest of the schema
                        // i will be using that user as _InstallUser from this point on
+                       $this->db->close();
+                       $this->db = false;
                        $this->parent->setVar( '_InstallUser', $this->getVar( 'wgDBuser' ) );
                        $this->parent->setVar( '_InstallPassword', $this->getVar( 'wgDBpassword' ) );
                        $this->parent->setVar( '_InstallDBname', $this->getVar( 'wgDBuser' ) );
@@ -245,8 +247,8 @@ class OracleInstaller extends DatabaseInstaller {
         */
        public function createTables() {
                $this->setupSchemaVars();
-               $this->db->selectDB( $this->getVar( 'wgDBuser' ) );
                $this->db->setFlag( DBO_DDLMODE );
+               $this->parent->setVar( 'wgDBname', $this->getVar( 'wgDBuser' ) );
                $status = parent::createTables();
                $this->db->clearFlag( DBO_DDLMODE );