use MediaWiki\Config\ServiceOptions;
use MediaWiki\Logger\LoggerFactory;
-use Wikimedia\Rdbms\LBFactory;
use Wikimedia\Rdbms\DatabaseDomain;
/**
private static $loggedDeprecations = [];
/**
- * TODO Make this a const when HHVM support is dropped (T192166)
- *
* @var array
* @since 1.34
*/
- public static $applyDefaultConfigOptions = [
+ public const APPLY_DEFAULT_CONFIG_OPTIONS = [
'DBcompress',
'DBDefaultGroup',
'DBmwschema',
BagOStuff $mainStash,
WANObjectCache $wanCache
) {
- $options->assertRequiredOptions( self::$applyDefaultConfigOptions );
+ $options->assertRequiredOptions( self::APPLY_DEFAULT_CONFIG_OPTIONS );
global $wgCommandLineMode;
$server += [ 'schema' => $options->get( 'DBmwschema' ) ];
}
- $flags = DBO_DEFAULT;
- $flags |= $options->get( 'DebugDumpSql' ) ? DBO_DEBUG : 0;
- $flags |= $options->get( 'DebugLogFile' ) ? DBO_DEBUG : 0;
+ $flags = $server['flags'] ?? DBO_DEFAULT;
+ if ( $options->get( 'DebugDumpSql' ) || $options->get( 'DebugLogFile' ) ) {
+ $flags |= DBO_DEBUG;
+ }
+ $server['flags'] = $flags;
$server += [
'tablePrefix' => $options->get( 'DBprefix' ),
- 'flags' => $flags,
'sqlMode' => $options->get( 'SQLMode' ),
];
return $class;
}
- /**
- * @param LBFactory $lbFactory
- * @param string $dbType 'mysql', 'sqlite', etc.
- * @internal For use with service wiring
- */
- public static function setSchemaAliases( LBFactory $lbFactory, $dbType ) {
- if ( $dbType === 'mysql' ) {
- /**
- * When SQLite indexes were introduced in r45764, it was noted that
- * SQLite requires index names to be unique within the whole database,
- * not just within a schema. As discussed in CR r45819, to avoid the
- * need for a schema change on existing installations, the indexes
- * were implicitly mapped from the new names to the old names.
- *
- * This mapping can be removed if DB patches are introduced to alter
- * the relevant tables in existing installations. Note that because
- * this index mapping applies to table creation, even new installations
- * of MySQL have the old names (except for installations created during
- * a period where this mapping was inappropriately removed, see
- * T154872).
- */
- $lbFactory->setIndexAliases( [
- 'un_user_id' => 'user_id',
- 'un_user_ip' => 'user_ip',
- ] );
- }
- }
-
/**
* Log a database deprecation warning
* @param string $msg Deprecation message