- Модуль: 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;
}