From: Florian G. <re...@us...> - 2008-04-24 22:29:29
|
Update of /cvsroot/perfparse/_perfparse/libpp_mysql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12195/libpp_mysql Modified Files: del_policy.c del_policy.h Log Message: make deletion policies less complex. No individual settings in objects allowed any more. Index: del_policy.c =================================================================== RCS file: /cvsroot/perfparse/_perfparse/libpp_mysql/del_policy.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** del_policy.c 17 Feb 2008 23:09:58 -0000 1.11 --- del_policy.c 24 Apr 2008 22:29:09 -0000 1.12 *************** *** 236,243 **** if(ptype==GET_BIN) { ! g_string_printf(s_SQL, "SELECT bin_delete_policy_individual,policy_name,delete_policy_seconds FROM perfdata_host h left join perfdata_delete_policy p on h.bin_delete_policy_id=p.policy_id WHERE host_id = '%d'", policyinfo->iHostId); } else { ! g_string_printf(s_SQL, "SELECT raw_delete_policy_individual,policy_name,delete_policy_seconds FROM perfdata_host h left join perfdata_delete_policy p on h.raw_delete_policy_id=p.policy_id WHERE host_id = '%d'", policyinfo->iHostId); } --- 236,243 ---- if(ptype==GET_BIN) { ! g_string_printf(s_SQL, "SELECT policy_name,delete_policy_seconds FROM perfdata_host h left join perfdata_delete_policy p on h.bin_delete_policy_id=p.policy_id WHERE host_id = '%d'", policyinfo->iHostId); } else { ! g_string_printf(s_SQL, "SELECT policy_name,delete_policy_seconds FROM perfdata_host h left join perfdata_delete_policy p on h.raw_delete_policy_id=p.policy_id WHERE host_id = '%d'", policyinfo->iHostId); } *************** *** 245,252 **** query(s_SQL->str); result_row = mysql_fetch_row(query_result); ! if(!isNull(0)) { ! policyinfo->iPolicySeconds=iData(0); ! policyinfo->iPolicySource=DEL_POLICY_SOURCE_HOST; ! } else if (!isNull(2)) { policyinfo->sPolicyName=strdup(sData(1)); policyinfo->iPolicySeconds=iData(2); --- 245,249 ---- query(s_SQL->str); result_row = mysql_fetch_row(query_result); ! if (!isNull(1)) { policyinfo->sPolicyName=strdup(sData(1)); policyinfo->iPolicySeconds=iData(2); *************** *** 279,287 **** if(ptype==GET_BIN){ ! g_string_printf(s_SQL,"SELECT g.bin_delete_policy_individual,policy_name,delete_policy_seconds FROM perfdata_host_groups hg, perfdata_groups g left join perfdata_delete_policy p on g.bin_delete_policy_id=p.policy_id WHERE g.group_id=hg.group_id AND hg.host_id = '%d'", ! policyinfo->iHostId); } else { ! g_string_printf(s_SQL,"SELECT g.raw_delete_policy_individual,policy_name,delete_policy_seconds FROM perfdata_host_groups hg, perfdata_groups g left join perfdata_delete_policy p on g.raw_delete_policy_id=p.policy_id WHERE g.group_id=hg.group_id AND hg.host_id = '%d'", ! policyinfo->iHostId); } --- 276,284 ---- if(ptype==GET_BIN){ ! g_string_printf(s_SQL,"SELECT policy_name,delete_policy_seconds FROM perfdata_host_groups hg, perfdata_groups g left join perfdata_delete_policy p on g.bin_delete_policy_id=p.policy_id WHERE g.group_id=hg.group_id AND hg.host_id = '%d'", ! policyinfo->iHostId); } else { ! g_string_printf(s_SQL,"SELECT policy_name,delete_policy_seconds FROM perfdata_host_groups hg, perfdata_groups g left join perfdata_delete_policy p on g.raw_delete_policy_id=p.policy_id WHERE g.group_id=hg.group_id AND hg.host_id = '%d'", ! policyinfo->iHostId); } *************** *** 292,303 **** while((result_row = mysql_fetch_row(query_result))) { ! if(!isNull(0)) { // individual settings before group settings ! if(iData(0)>maxdel || iData(0)==DEL_POLICY_INFINITY) { ! maxdel=iData(0); ! policyinfo->iPolicySeconds=iData(0); ! policyinfo->iPolicySource=DEL_POLICY_SOURCE_HOSTGROUP; ! // shall we store the group name somewhere? no. not yet. ! } ! } else if (!isNull(2)) { if(iData(2)>maxdel || iData(2)==DEL_POLICY_INFINITY) { maxdel=iData(2); --- 289,293 ---- while((result_row = mysql_fetch_row(query_result))) { ! if (!isNull(1)) { if(iData(2)>maxdel || iData(2)==DEL_POLICY_INFINITY) { maxdel=iData(2); *************** *** 315,318 **** --- 305,309 ---- } + // nothing found? Get defaults. if(policyinfo->iPolicySource==DEL_POLICY_SOURCE_NONE) { policyinfo->iPolicySeconds=getDefaultPolicy(ptype); *************** *** 467,473 **** if(ptype==GET_RAW) { ! g_string_printf(s_SQL,"SELECT service_id,service_description,host_id,policy_name,delete_policy_seconds,raw_delete_policy_individual FROM perfdata_service s LEFT JOIN perfdata_delete_policy d ON s.raw_delete_policy_id=d.policy_id"); } else { ! g_string_printf(s_SQL,"SELECT metric_id,metric,host_id,policy_name,delete_policy_seconds,bin_delete_policy_individual FROM perfdata_service s, perfdata_service_metric m LEFT JOIN perfdata_delete_policy d ON m.bin_delete_policy_id=d.policy_id where s.service_id=m.service_id"); } query(s_SQL->str); --- 458,464 ---- if(ptype==GET_RAW) { ! g_string_printf(s_SQL,"SELECT service_id,service_description,host_id,policy_name,delete_policy_seconds FROM perfdata_service s LEFT JOIN perfdata_delete_policy d ON s.raw_delete_policy_id=d.policy_id"); } else { ! g_string_printf(s_SQL,"SELECT metric_id,metric,host_id,policy_name,delete_policy_seconds FROM perfdata_service s, perfdata_service_metric m LEFT JOIN perfdata_delete_policy d ON m.bin_delete_policy_id=d.policy_id where s.service_id=m.service_id"); } query(s_SQL->str); *************** *** 491,498 **** policyinfo->iPolicySeconds=DEL_POLICY_UNDEFINED; ! if(!isNull(5)) { ! policyinfo->iPolicySeconds=iData(5); ! policyinfo->iPolicySource=DEL_POLICY_SOURCE_SERVICE; ! } else if (!isNull(4)){ policyinfo->iPolicySeconds=iData(4); policyinfo->iPolicySource=DEL_POLICY_SOURCE_SERVICE_GROUP; --- 482,486 ---- policyinfo->iPolicySeconds=DEL_POLICY_UNDEFINED; ! if (!isNull(4)){ policyinfo->iPolicySeconds=iData(4); policyinfo->iPolicySource=DEL_POLICY_SOURCE_SERVICE_GROUP; *************** *** 538,550 **** } switch(policyinfo->iPolicySource) { - case DEL_POLICY_SOURCE_SERVICE: - pp_log_fl(LOG_INFO,_("individual service setting\n")); - break; - case DEL_POLICY_SOURCE_HOST: - pp_log_fl(LOG_INFO,_("individual host setting\n")); - break; - case DEL_POLICY_SOURCE_HOSTGROUP: - pp_log_fl(LOG_INFO,_("individual hostgroup setting\n")); - break; case DEL_POLICY_SOURCE_SERVICE_GROUP: pp_log_fl(LOG_INFO,_("group '%s' setting in service.\n"),policyinfo->sPolicyName); --- 526,529 ---- Index: del_policy.h =================================================================== RCS file: /cvsroot/perfparse/_perfparse/libpp_mysql/del_policy.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** del_policy.h 3 Jan 2008 22:04:44 -0000 1.7 --- del_policy.h 24 Apr 2008 22:29:09 -0000 1.8 *************** *** 47,57 **** enum { DEL_POLICY_SOURCE_NONE, - DEL_POLICY_SOURCE_METRIC, DEL_POLICY_SOURCE_METRIC_GROUP, - DEL_POLICY_SOURCE_SERVICE, DEL_POLICY_SOURCE_SERVICE_GROUP, - DEL_POLICY_SOURCE_HOST, DEL_POLICY_SOURCE_HOST_GROUP, - DEL_POLICY_SOURCE_HOSTGROUP, DEL_POLICY_SOURCE_HOSTGROUP_GROUP, DEL_POLICY_SOURCE_DEFAULT}; --- 47,53 ---- |