• Модуль: translate
  • Путь к файлу: ~/bitrix/modules/translate/lib/index/phraseindexsearch.php
  • Класс: BitrixTranslateIndexPhraseIndexSearch
  • Вызов: PhraseIndexSearch::isInnodbEngine
static function isInnodbEngine(): bool
{
	static $available;
	if ($available === null)
	{
		$available = false;
		$cache = Cache::createInstance();
		if ($cache->initCache(3600, 'translate::isInnodbEngine'))
		{
			$available = (bool)$cache->getVars();
		}
		elseif ($cache->startDataCache())
		{
			try
			{
				$check = Application::getConnection()->query(
					"SHOW TABLE STATUS WHERE Name = 'b_translate_phrase' AND Engine = 'InnoDB'"
				);
				if ($check->fetch())
				{
					$available = true;
				}
			}
			catch (SqlQueryException $exception)
			{}
			$cache->endDataCache((int)$available);
		}
	}

	return $available;
}