• Модуль: statistic
  • Путь к файлу: ~/bitrix/modules/statistic/classes/general/statistic.php
  • Класс: CAllStatistics
  • Вызов: CAllStatistics::ExecuteDDL
static function ExecuteDDL($ID)
{
	$ID = intval($ID);
	$DB = CDatabase::GetModuleConnection('statistic');
	$rs=$DB->Query("select * from b_stat_ddl where ID=".$ID, true);
	if($rs)
	{
		$bSuccess = false;
		if($ar=$rs->Fetch())
		{
			if($DB->Query($ar["SQL_TEXT"], true))
			{
				$bSuccess = true;
			}
			else
			{
				if(mb_strpos($DB->db_Error, "Duplicate key name") === 0) $bSuccess=true;
				if(mb_strpos($DB->db_Error, "Can't DROP") === 0) $bSuccess=true;

				if(mb_strpos($DB->db_Error, "ORA-00955") === 0) $bSuccess=true;
				if(mb_strpos($DB->db_Error, "ORA-01418") === 0) $bSuccess=true;

				if(mb_strpos($DB->db_Error, "#S0011") === 0) $bSuccess=true;
				if(mb_strpos($DB->db_Error, "#S0002") === 0) $bSuccess=true;
			}
		}
		if($bSuccess)
		{
			$DB->Query("delete from b_stat_ddl where ID=".$ID, true);
			return true;
		}

	}
	return false;
}