jenkins-bot has submitted this change and it was merged. Change subject: Add SearchEngineFactory::getSearchEngineClass() instead of using the DB ......................................................................
Add SearchEngineFactory::getSearchEngineClass() instead of using the DB Change-Id: I46207cafec737cb830adc2bdf1b501a0d138b40d --- M includes/search/SearchEngineFactory.php M tests/phpunit/includes/search/SearchEngineTest.php 2 files changed, 24 insertions(+), 3 deletions(-) Approvals: DCausse: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/search/SearchEngineFactory.php b/includes/search/SearchEngineFactory.php index e30869e..a767bc3 100644 --- a/includes/search/SearchEngineFactory.php +++ b/includes/search/SearchEngineFactory.php @@ -5,7 +5,6 @@ * Allows to create engine of the specific type. */ class SearchEngineFactory { - /** * Configuration for SearchEngine classes. * @var SearchEngineConfig @@ -33,10 +32,32 @@ $class = $configType; } else { $dbr = wfGetDB( DB_REPLICA ); - $class = $dbr->getSearchEngine(); + $class = self::getSearchEngineClass( $dbr ); } $search = new $class( $dbr ); return $search; } + + /** + * @param IDatabase $db + * @return string SearchEngine subclass name + * @since 1.28 + */ + public static function getSearchEngineClass( IDatabase $db ) { + switch ( $db->getType() ) { + case 'sqlite': + return 'SearchSqlite'; + case 'mysql': + return 'SearchMySQL'; + case 'postgres': + return 'SearchPostgres'; + case 'mssql': + return 'SearchMssql'; + case 'oracle': + return 'SearchOracle'; + default: + return 'SearchEngineDummy'; + } + } } diff --git a/tests/phpunit/includes/search/SearchEngineTest.php b/tests/phpunit/includes/search/SearchEngineTest.php index 902fc9e..3fb4bbb 100644 --- a/tests/phpunit/includes/search/SearchEngineTest.php +++ b/tests/phpunit/includes/search/SearchEngineTest.php @@ -30,7 +30,7 @@ $this->markTestSkipped( "MySQL or SQLite with FTS3 only" ); } - $searchType = $this->db->getSearchEngine(); + $searchType = SearchEngineFactory::getSearchEngineClass( $this->db ); $this->setMwGlobals( [ 'wgSearchType' => $searchType ] ); -- To view, visit https://gerrit.wikimedia.org/r/311081 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I46207cafec737cb830adc2bdf1b501a0d138b40d Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz <asch...@wikimedia.org> Gerrit-Reviewer: DCausse <dcau...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits