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
Gerrit-Reviewer: DCausse
Gerrit-Reviewer: jenkins-bot <>
___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits