When inserting or updating triggers with dependencies on other triggers, I got SQL warnings and errors as the insert_dependency function did not check if the dependency already exists, this patch fixes it...
Dan...
Dan...
Code:
--- /usr/src/zabbix-1.1.6/frontends/php/include/triggers.inc.php 2007-02-07 09:49:01.000000000 +0000
+++ include/triggers.inc.php 2007-03-29 10:09:25.000000000 +0100
@@ -921,13 +921,18 @@
function insert_dependency($triggerid_down,$triggerid_up)
{
- $result=DBexecute("insert into trigger_depends (triggerid_down,triggerid_up)".
+ $result=DBselect("select count(*) as count from trigger_depends where triggerid_down=$triggerid_down and triggerid_up=$triggerid_up");
+ $row=DBfetch($result);
+ if($row["count"] == 0) {
+ $result=DBexecute("insert into trigger_depends (triggerid_down,triggerid_up)".
" values ($triggerid_down,$triggerid_up)");
- if(!$result)
- {
+ if(!$result)
+ {
return $result;
- }
- return DBexecute("update triggers set dep_level=dep_level+1 where triggerid=$triggerid_up");
+ }
+ return DBexecute("update triggers set dep_level=dep_level+1 where triggerid=$triggerid_up");
+ }
+ return -1;
}
// If 1 depends on 2, and 2 depends on 3, then add dependency 1->3