[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Add SearchEngineFactory::getSearchEngineClass() instead of u...

2016-09-16 Thread jenkins-bot (Code Review)
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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Add SearchEngineFactory::getSearchEngineClass() instead of u...

2016-09-15 Thread Aaron Schulz (Code Review)
Aaron Schulz has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/311081

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
1 file changed, 23 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/81/311081/1

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';
+   }
+   }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/311081
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I46207cafec737cb830adc2bdf1b501a0d138b40d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits