Fix check in PhabricatorMySQLSetupCheck:shouldUseMySQLSearchEngine()

Summary:
Per PHPStan static code analysis, currently
`Instanceof between PhabricatorSearchService and PhabricatorMySQLSearchHost will always evaluate to false`.
Per discussion in the task and per testing, make the check work.

Closes T15891

Test Plan: Probably set up a Phorge instance with recent MariaDB/MySQL, and set up a Phorge instance with ancient DB versions (MySQL 5.6.3 or older; MariaDB 10.0 or older) not supporting FULLTEXT indexes for InnoDB tables?

Reviewers: O1 Blessed Committers, 20after4

Reviewed By: O1 Blessed Committers, 20after4

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15891

Differential Revision: https://we.phorge.it/D25975
This commit is contained in:
Andre Klapper 2025-04-26 22:33:03 +02:00
parent dfe8539c6a
commit 35e233345c

View file

@ -375,7 +375,8 @@ final class PhabricatorMySQLSetupCheck extends PhabricatorSetupCheck {
protected function shouldUseMySQLSearchEngine() {
$services = PhabricatorSearchService::getAllServices();
foreach ($services as $service) {
if ($service instanceof PhabricatorMySQLSearchHost) {
if ($service->getEngine() instanceof
PhabricatorFerretFulltextStorageEngine) {
return true;
}
}