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

Reply via email to