From: Aaron Schulz Date: Thu, 17 Nov 2016 21:59:20 +0000 (-0800) Subject: Only apply wgDBschema to postgres/mssql X-Git-Tag: 1.31.0-rc.0~4774^2 X-Git-Url: https://git.heureux-cyclage.org/?a=commitdiff_plain;h=7f6bcdcecb9ecdae1b8ddf374a95d71faf44d0ca;p=lhc%2Fweb%2Fwiklou.git Only apply wgDBschema to postgres/mssql Bug: T148956 Change-Id: I14f0aa7dd52bd0bdd0d3f8729b562a0fee2df6fa --- diff --git a/includes/db/MWLBFactory.php b/includes/db/MWLBFactory.php index 42ef6851f8..40418fd479 100644 --- a/includes/db/MWLBFactory.php +++ b/includes/db/MWLBFactory.php @@ -37,6 +37,8 @@ abstract class MWLBFactory { public static function applyDefaultConfig( array $lbConf, Config $mainConfig ) { global $wgCommandLineMode; + static $typesWithSchema = [ 'postgres', 'msssql' ]; + $lbConf += [ 'localDomain' => new DatabaseDomain( $mainConfig->get( 'DBname' ), @@ -70,13 +72,18 @@ abstract class MWLBFactory { 'keywordTableMap' => [ 'user' => 'mwuser', 'text' => 'pagecontent' ] ]; } - $lbConf['servers'][$i] = $server + [ - 'schema' => $mainConfig->get( 'DBmwschema' ), + if ( in_array( $server['type'], $typesWithSchema, true ) ) { + $server += [ 'schema' => $mainConfig->get( 'DBmwschema' ) ]; + } + + $server += [ 'tablePrefix' => $mainConfig->get( 'DBprefix' ), 'flags' => DBO_DEFAULT, 'sqlMode' => $mainConfig->get( 'SQLMode' ), 'utf8Mode' => $mainConfig->get( 'DBmysql5' ) ]; + + $lbConf['servers'][$i] = $server; } } else { $flags = DBO_DEFAULT; @@ -88,7 +95,6 @@ abstract class MWLBFactory { 'user' => $mainConfig->get( 'DBuser' ), 'password' => $mainConfig->get( 'DBpassword' ), 'dbname' => $mainConfig->get( 'DBname' ), - 'schema' => $mainConfig->get( 'DBmwschema' ), 'tablePrefix' => $mainConfig->get( 'DBprefix' ), 'type' => $mainConfig->get( 'DBtype' ), 'load' => 1, @@ -96,6 +102,9 @@ abstract class MWLBFactory { 'sqlMode' => $mainConfig->get( 'SQLMode' ), 'utf8Mode' => $mainConfig->get( 'DBmysql5' ) ]; + if ( in_array( $server['type'], $typesWithSchema, true ) ) { + $server += [ 'schema' => $mainConfig->get( 'DBmwschema' ) ]; + } if ( $server['type'] === 'sqlite' ) { $server[ 'dbDirectory'] = $mainConfig->get( 'SQLiteDataDir' ); } elseif ( $server['type'] === 'postgres' ) { @@ -110,7 +119,9 @@ abstract class MWLBFactory { } } elseif ( $lbConf['class'] === 'LBFactoryMulti' ) { if ( isset( $lbConf['serverTemplate'] ) ) { - $lbConf['serverTemplate']['schema'] = $mainConfig->get( 'DBmwschema' ); + if ( in_array( $lbConf['serverTemplate']['type'], $typesWithSchema, true ) ) { + $lbConf['serverTemplate']['schema'] = $mainConfig->get( 'DBmwschema' ); + } $lbConf['serverTemplate']['sqlMode'] = $mainConfig->get( 'SQLMode' ); $lbConf['serverTemplate']['utf8Mode'] = $mainConfig->get( 'DBmysql5' ); }