Ad Widget

Collapse

Patch [1.1.6] Inserting trigger depends dupe check

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dan.searle
    Junior Member
    • Mar 2007
    • 13

    #1

    Patch [1.1.6] Inserting trigger depends dupe check

    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...

    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
Working...