• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblock.php
  • Класс: CAllIBlock
  • Вызов: CAllIBlock::CheckForIndexes
static function CheckForIndexes($IBLOCK_ID)
{
	global $DB;
	$arIBlock = CIBlock::GetArrayByID($IBLOCK_ID);

	$ar = $arIBlock["FIELDS"]["CODE"]["DEFAULT_VALUE"];
	if (
		is_array($ar)
		&& $ar["UNIQUE"] == "Y"
		&& !$DB->IndexExists("b_iblock_element", array("IBLOCK_ID", "CODE"))
	)
		$DB->DDL("create index ix_iblock_element_code on b_iblock_element (IBLOCK_ID, CODE)");

	$ar = $arIBlock["FIELDS"]["SECTION_CODE"]["DEFAULT_VALUE"];
	if (
		is_array($ar)
		&& $ar["UNIQUE"] == "Y"
		&& !$DB->IndexExists("b_iblock_section", array("IBLOCK_ID", "CODE"))
	)
		$DB->DDL("create index ix_iblock_section_code on b_iblock_section (IBLOCK_ID, CODE)");
}