Lines Matching refs:trigger

156 	zbx_lld_trigger_t	*trigger;  member
175 zbx_lld_trigger_t *trigger; member
256 static void lld_trigger_free(zbx_lld_trigger_t *trigger) in lld_trigger_free() argument
258 zbx_vector_ptr_clear_ext(&trigger->tags, (zbx_clean_func_t)lld_tag_free); in lld_trigger_free()
259 zbx_vector_ptr_pair_destroy(&trigger->override_tags); in lld_trigger_free()
260 zbx_vector_ptr_destroy(&trigger->tags); in lld_trigger_free()
261 zbx_vector_ptr_destroy(&trigger->dependents); in lld_trigger_free()
262 zbx_vector_ptr_clear_ext(&trigger->dependencies, zbx_ptr_free); in lld_trigger_free()
263 zbx_vector_ptr_destroy(&trigger->dependencies); in lld_trigger_free()
264 zbx_vector_ptr_clear_ext(&trigger->functions, (zbx_clean_func_t)lld_function_free); in lld_trigger_free()
265 zbx_vector_ptr_destroy(&trigger->functions); in lld_trigger_free()
266 zbx_free(trigger->opdata_orig); in lld_trigger_free()
267 zbx_free(trigger->opdata); in lld_trigger_free()
268 zbx_free(trigger->correlation_tag_orig); in lld_trigger_free()
269 zbx_free(trigger->correlation_tag); in lld_trigger_free()
270 zbx_free(trigger->url_orig); in lld_trigger_free()
271 zbx_free(trigger->url); in lld_trigger_free()
272 zbx_free(trigger->comments_orig); in lld_trigger_free()
273 zbx_free(trigger->comments); in lld_trigger_free()
274 zbx_free(trigger->recovery_expression_orig); in lld_trigger_free()
275 zbx_free(trigger->recovery_expression); in lld_trigger_free()
276 zbx_free(trigger->expression_orig); in lld_trigger_free()
277 zbx_free(trigger->expression); in lld_trigger_free()
278 zbx_free(trigger->description_orig); in lld_trigger_free()
279 zbx_free(trigger->description); in lld_trigger_free()
280 zbx_free(trigger); in lld_trigger_free()
399 zbx_lld_trigger_t *trigger; in lld_triggers_get() local
413 trigger = (zbx_lld_trigger_t *)zbx_malloc(NULL, sizeof(zbx_lld_trigger_t)); in lld_triggers_get()
415 ZBX_STR2UINT64(trigger->triggerid, row[1]); in lld_triggers_get()
416 trigger->parent_triggerid = parent_triggerid; in lld_triggers_get()
417 trigger->description = zbx_strdup(NULL, row[2]); in lld_triggers_get()
418 trigger->description_orig = NULL; in lld_triggers_get()
419 trigger->expression = zbx_strdup(NULL, row[3]); in lld_triggers_get()
420 trigger->expression_orig = NULL; in lld_triggers_get()
421 trigger->recovery_expression = zbx_strdup(NULL, row[8]); in lld_triggers_get()
422 trigger->recovery_expression_orig = NULL; in lld_triggers_get()
424 trigger->flags = ZBX_FLAG_LLD_TRIGGER_UNSET; in lld_triggers_get()
427 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_TYPE; in lld_triggers_get()
429 trigger->priority = (unsigned char)atoi(row[5]); in lld_triggers_get()
432 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_RECOVERY_MODE; in lld_triggers_get()
435 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_CORRELATION_MODE; in lld_triggers_get()
438 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_MANUAL_CLOSE; in lld_triggers_get()
440 trigger->comments = zbx_strdup(NULL, row[6]); in lld_triggers_get()
441 trigger->comments_orig = NULL; in lld_triggers_get()
442 trigger->url = zbx_strdup(NULL, row[7]); in lld_triggers_get()
443 trigger->url_orig = NULL; in lld_triggers_get()
444 trigger->correlation_tag = zbx_strdup(NULL, row[11]); in lld_triggers_get()
445 trigger->correlation_tag_orig = NULL; in lld_triggers_get()
446 trigger->opdata = zbx_strdup(NULL, row[13]); in lld_triggers_get()
447 trigger->opdata_orig = NULL; in lld_triggers_get()
448 trigger->lastcheck = atoi(row[14]); in lld_triggers_get()
449 trigger->ts_delete = atoi(row[15]); in lld_triggers_get()
451 zbx_vector_ptr_create(&trigger->functions); in lld_triggers_get()
452 zbx_vector_ptr_create(&trigger->dependencies); in lld_triggers_get()
453 zbx_vector_ptr_create(&trigger->dependents); in lld_triggers_get()
454 zbx_vector_ptr_create(&trigger->tags); in lld_triggers_get()
455 zbx_vector_ptr_pair_create(&trigger->override_tags); in lld_triggers_get()
457 zbx_vector_ptr_append(triggers, trigger); in lld_triggers_get()
478 zbx_lld_trigger_t *trigger; in lld_functions_get() local
497 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_functions_get()
499 zbx_vector_uint64_append(&triggerids, trigger->triggerid); in lld_functions_get()
552 trigger = (zbx_lld_trigger_t *)triggers->values[index]; in lld_functions_get()
554 zbx_vector_ptr_append(&trigger->functions, function); in lld_functions_get()
576 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_functions_get()
578 zbx_vector_ptr_sort(&trigger->functions, ZBX_DEFAULT_UINT64_PTR_COMPARE_FUNC); in lld_functions_get()
599 zbx_lld_trigger_t *trigger; in lld_dependencies_get() local
620 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_dependencies_get()
622 zbx_vector_uint64_append(&triggerids, trigger->triggerid); in lld_dependencies_get()
662 trigger = (zbx_lld_trigger_t *)triggers->values[index]; in lld_dependencies_get()
664 zbx_vector_ptr_append(&trigger->dependencies, dependency); in lld_dependencies_get()
683 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_dependencies_get()
685 zbx_vector_ptr_sort(&trigger->dependencies, ZBX_DEFAULT_UINT64_PTR_COMPARE_FUNC); in lld_dependencies_get()
705 zbx_lld_trigger_t *trigger; in lld_tags_get() local
722 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_tags_get()
724 zbx_vector_uint64_append(&triggerids, trigger->triggerid); in lld_tags_get()
764 trigger = (zbx_lld_trigger_t *)triggers->values[index]; in lld_tags_get()
766 zbx_vector_ptr_append(&trigger->tags, tag); in lld_tags_get()
786 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_tags_get()
788 zbx_vector_ptr_sort(&trigger->tags, ZBX_DEFAULT_UINT64_PTR_COMPARE_FUNC); in lld_tags_get()
884 return item_trigger->trigger; in lld_trigger_get()
1200 zbx_lld_trigger_t *trigger; in lld_trigger_make() local
1209 trigger = lld_trigger_get(trigger_prototype->triggerid, items_triggers, &lld_row->item_links); in lld_trigger_make()
1210 operation_msg = NULL != trigger ? "update" : "create"; in lld_trigger_make()
1226 if (NULL != trigger) in lld_trigger_make()
1235 …lld_override_trigger(&lld_row->overrides, buffer, &priority, &trigger->override_tags, NULL, &disco… in lld_trigger_make()
1240 if (0 != strcmp(trigger->description, buffer)) in lld_trigger_make()
1242 trigger->description_orig = trigger->description; in lld_trigger_make()
1243 trigger->description = buffer; in lld_trigger_make()
1245 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_DESCRIPTION; in lld_trigger_make()
1248 if (trigger->priority != priority) in lld_trigger_make()
1250 trigger->priority = priority; in lld_trigger_make()
1251 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_PRIORITY; in lld_trigger_make()
1254 if (0 != strcmp(trigger->expression, expression)) in lld_trigger_make()
1256 trigger->expression_orig = trigger->expression; in lld_trigger_make()
1257 trigger->expression = expression; in lld_trigger_make()
1259 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_EXPRESSION; in lld_trigger_make()
1262 if (0 != strcmp(trigger->recovery_expression, recovery_expression)) in lld_trigger_make()
1264 trigger->recovery_expression_orig = trigger->recovery_expression; in lld_trigger_make()
1265 trigger->recovery_expression = recovery_expression; in lld_trigger_make()
1267 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_RECOVERY_EXPRESSION; in lld_trigger_make()
1273 if (0 != strcmp(trigger->comments, buffer)) in lld_trigger_make()
1275 trigger->comments_orig = trigger->comments; in lld_trigger_make()
1276 trigger->comments = buffer; in lld_trigger_make()
1278 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_COMMENTS; in lld_trigger_make()
1284 if (0 != strcmp(trigger->url, buffer)) in lld_trigger_make()
1286 trigger->url_orig = trigger->url; in lld_trigger_make()
1287 trigger->url = buffer; in lld_trigger_make()
1289 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_URL; in lld_trigger_make()
1295 if (0 != strcmp(trigger->correlation_tag, buffer)) in lld_trigger_make()
1297 trigger->correlation_tag_orig = trigger->correlation_tag; in lld_trigger_make()
1298 trigger->correlation_tag = buffer; in lld_trigger_make()
1300 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_CORRELATION_TAG; in lld_trigger_make()
1306 if (0 != strcmp(trigger->opdata, buffer)) in lld_trigger_make()
1308 trigger->opdata_orig = trigger->opdata; in lld_trigger_make()
1309 trigger->opdata = buffer; in lld_trigger_make()
1311 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_UPDATE_OPDATA; in lld_trigger_make()
1316 trigger = (zbx_lld_trigger_t *)zbx_malloc(NULL, sizeof(zbx_lld_trigger_t)); in lld_trigger_make()
1318 trigger->triggerid = 0; in lld_trigger_make()
1319 trigger->lastcheck = 0; in lld_trigger_make()
1320 trigger->ts_delete = 0; in lld_trigger_make()
1321 trigger->parent_triggerid = trigger_prototype->triggerid; in lld_trigger_make()
1323 trigger->description = zbx_strdup(NULL, trigger_prototype->description); in lld_trigger_make()
1324 trigger->description_orig = NULL; in lld_trigger_make()
1325 substitute_lld_macros(&trigger->description, jp_row, lld_macros, ZBX_MACRO_FUNC, NULL, 0); in lld_trigger_make()
1326 zbx_lrtrim(trigger->description, ZBX_WHITESPACE); in lld_trigger_make()
1328 trigger->status = trigger_prototype->status; in lld_trigger_make()
1329 trigger->priority = trigger_prototype->priority; in lld_trigger_make()
1331 zbx_vector_ptr_pair_create(&trigger->override_tags); in lld_trigger_make()
1333 lld_override_trigger(&lld_row->overrides, trigger->description, &trigger->priority, in lld_trigger_make()
1334 &trigger->override_tags, &trigger->status, &discover); in lld_trigger_make()
1338 zbx_vector_ptr_pair_destroy(&trigger->override_tags); in lld_trigger_make()
1339 zbx_free(trigger->description); in lld_trigger_make()
1340 zbx_free(trigger); in lld_trigger_make()
1344 trigger->expression = expression; in lld_trigger_make()
1345 trigger->expression_orig = NULL; in lld_trigger_make()
1348 trigger->recovery_expression = recovery_expression; in lld_trigger_make()
1349 trigger->recovery_expression_orig = NULL; in lld_trigger_make()
1352 trigger->comments = zbx_strdup(NULL, trigger_prototype->comments); in lld_trigger_make()
1353 trigger->comments_orig = NULL; in lld_trigger_make()
1354 substitute_lld_macros(&trigger->comments, jp_row, lld_macros, ZBX_MACRO_FUNC, NULL, 0); in lld_trigger_make()
1355 zbx_lrtrim(trigger->comments, ZBX_WHITESPACE); in lld_trigger_make()
1357 trigger->url = zbx_strdup(NULL, trigger_prototype->url); in lld_trigger_make()
1358 trigger->url_orig = NULL; in lld_trigger_make()
1359 substitute_lld_macros(&trigger->url, jp_row, lld_macros, ZBX_MACRO_ANY, NULL, 0); in lld_trigger_make()
1360 zbx_lrtrim(trigger->url, ZBX_WHITESPACE); in lld_trigger_make()
1362 trigger->correlation_tag = zbx_strdup(NULL, trigger_prototype->correlation_tag); in lld_trigger_make()
1363 trigger->correlation_tag_orig = NULL; in lld_trigger_make()
1364 substitute_lld_macros(&trigger->correlation_tag, jp_row, lld_macros, ZBX_MACRO_ANY, NULL, 0); in lld_trigger_make()
1365 zbx_lrtrim(trigger->correlation_tag, ZBX_WHITESPACE); in lld_trigger_make()
1367 trigger->opdata = zbx_strdup(NULL, trigger_prototype->opdata); in lld_trigger_make()
1368 trigger->opdata_orig = NULL; in lld_trigger_make()
1369 substitute_lld_macros(&trigger->opdata, jp_row, lld_macros, ZBX_MACRO_ANY, NULL, 0); in lld_trigger_make()
1370 zbx_lrtrim(trigger->opdata, ZBX_WHITESPACE); in lld_trigger_make()
1372 zbx_vector_ptr_create(&trigger->functions); in lld_trigger_make()
1373 zbx_vector_ptr_create(&trigger->dependencies); in lld_trigger_make()
1374 zbx_vector_ptr_create(&trigger->dependents); in lld_trigger_make()
1375 zbx_vector_ptr_create(&trigger->tags); in lld_trigger_make()
1377 trigger->flags = ZBX_FLAG_LLD_TRIGGER_UNSET; in lld_trigger_make()
1379 zbx_vector_ptr_append(triggers, trigger); in lld_trigger_make()
1382 if (SUCCEED != lld_functions_make(&trigger_prototype->functions, &trigger->functions, items, in lld_trigger_make()
1393 trigger->flags |= ZBX_FLAG_LLD_TRIGGER_DISCOVERED; in lld_trigger_make()
1430 zbx_lld_trigger_t *trigger; in lld_triggers_make() local
1439 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_make()
1441 for (j = 0; j < trigger->functions.values_num; j++) in lld_triggers_make()
1443 function = (zbx_lld_function_t *)trigger->functions.values[j]; in lld_triggers_make()
1445 item_trigger.parent_triggerid = trigger->parent_triggerid; in lld_triggers_make()
1447 item_trigger.trigger = trigger; in lld_triggers_make()
1481 zbx_lld_trigger_t *trigger, *dep_trigger; in lld_trigger_dependency_make() local
1489 …if (NULL == (trigger = lld_trigger_get(trigger_prototype->triggerid, items_triggers, &lld_row->ite… in lld_trigger_dependency_make()
1516 zbx_vector_ptr_append(&trigger->dependencies, dependency); in lld_trigger_dependency_make()
1522 for (j = 0; j < trigger->dependencies.values_num; j++) in lld_trigger_dependency_make()
1524 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[j]; in lld_trigger_dependency_make()
1543 zbx_vector_ptr_append(&trigger->dependencies, dependency); in lld_trigger_dependency_make()
1547 zbx_vector_ptr_append(&dep_trigger->dependents, trigger); in lld_trigger_dependency_make()
1555 trigger->description); in lld_trigger_dependency_make()
1562 for (j = 0; j < trigger->dependencies.values_num; j++) in lld_trigger_dependency_make()
1564 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[j]; in lld_trigger_dependency_make()
1573 if (j == trigger->dependencies.values_num) in lld_trigger_dependency_make()
1581 zbx_vector_ptr_append(&trigger->dependencies, dependency); in lld_trigger_dependency_make()
1597 zbx_lld_trigger_t *trigger; in lld_trigger_dependencies_make() local
1612 trigger = (zbx_lld_trigger_t *)triggers->values[j]; in lld_trigger_dependencies_make()
1614 if (0 != trigger->dependencies.values_num) in lld_trigger_dependencies_make()
1627 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_trigger_dependencies_make()
1629 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_trigger_dependencies_make()
1632 for (j = 0; j < trigger->functions.values_num; j++) in lld_trigger_dependencies_make()
1634 function = (zbx_lld_function_t *)trigger->functions.values[j]; in lld_trigger_dependencies_make()
1636 item_trigger.parent_triggerid = trigger->parent_triggerid; in lld_trigger_dependencies_make()
1638 item_trigger.trigger = trigger; in lld_trigger_dependencies_make()
1659 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_trigger_dependencies_make()
1661 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_trigger_dependencies_make()
1664 for (j = 0; j < trigger->dependencies.values_num; j++) in lld_trigger_dependencies_make()
1666 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[j]; in lld_trigger_dependencies_make()
1700 zbx_lld_trigger_t *trigger; in lld_trigger_tag_make() local
1708 …if (NULL == (trigger = lld_trigger_get(trigger_prototype->triggerid, items_triggers, &lld_row->ite… in lld_trigger_tag_make()
1711 zbx_vector_ptr_pair_sort(&trigger->override_tags, ptr_pair_compare_func); in lld_trigger_tag_make()
1713 for (i = 0; i < trigger_prototype->tags.values_num + trigger->override_tags.values_num; i++) in lld_trigger_tag_make()
1727 pair = trigger->override_tags.values[i - trigger_prototype->tags.values_num]; in lld_trigger_tag_make()
1732 if (i < trigger->tags.values_num) in lld_trigger_tag_make()
1734 tag = (zbx_lld_tag_t *)trigger->tags.values[i]; in lld_trigger_tag_make()
1774 zbx_vector_ptr_append(&trigger->tags, tag); in lld_trigger_tag_make()
1799 zbx_lld_trigger_t *trigger; in lld_trigger_tags_make() local
1809 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_trigger_tags_make()
1811 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_trigger_tags_make()
1814 for (j = 0; j < trigger->functions.values_num; j++) in lld_trigger_tags_make()
1816 function = (zbx_lld_function_t *)trigger->functions.values[j]; in lld_trigger_tags_make()
1818 item_trigger.parent_triggerid = trigger->parent_triggerid; in lld_trigger_tags_make()
1820 item_trigger.trigger = trigger; in lld_trigger_tags_make()
1840 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_trigger_tags_make()
1842 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_trigger_tags_make()
1845 for (j = 0; j < trigger->tags.values_num; j++) in lld_trigger_tags_make()
1847 tag = (zbx_lld_tag_t *)trigger->tags.values[j]; in lld_trigger_tags_make()
1864 static void lld_validate_trigger_field(zbx_lld_trigger_t *trigger, char **field, char **field_orig, in lld_validate_trigger_field() argument
1867 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_validate_trigger_field()
1871 if (0 != trigger->triggerid && 0 == (trigger->flags & flag)) in lld_validate_trigger_field()
1878 (0 != trigger->triggerid ? "update" : "create"), *field); in lld_validate_trigger_field()
1883 (0 != trigger->triggerid ? "update" : "create"), *field); in lld_validate_trigger_field()
1888 (0 != trigger->triggerid ? "update" : "create")); in lld_validate_trigger_field()
1893 if (0 != trigger->triggerid) in lld_validate_trigger_field()
1894 lld_field_str_rollback(field, field_orig, &trigger->flags, flag); in lld_validate_trigger_field()
1896 trigger->flags &= ~ZBX_FLAG_LLD_TRIGGER_DISCOVERED; in lld_validate_trigger_field()
1907 static int lld_trigger_changed(const zbx_lld_trigger_t *trigger) in lld_trigger_changed() argument
1912 if (0 == trigger->triggerid) in lld_trigger_changed()
1915 …if (0 != (trigger->flags & (ZBX_FLAG_LLD_TRIGGER_UPDATE_DESCRIPTION | ZBX_FLAG_LLD_TRIGGER_UPDATE_… in lld_trigger_changed()
1921 for (i = 0; i < trigger->functions.values_num; i++) in lld_trigger_changed()
1923 function = (zbx_lld_function_t *)trigger->functions.values[i]; in lld_trigger_changed()
1946 static int lld_triggers_equal(const zbx_lld_trigger_t *trigger, const zbx_lld_trigger_t *trigger_b) in lld_triggers_equal() argument
1952 if (0 == strcmp(trigger->description, trigger_b->description)) in lld_triggers_equal()
1956 expression = lld_expression_expand(trigger->expression, &trigger->functions); in lld_triggers_equal()
1964 expression = lld_expression_expand(trigger->recovery_expression, &trigger->functions); in lld_triggers_equal()
1990 zbx_lld_trigger_t *trigger; in lld_triggers_validate() local
2004 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_validate()
2006 lld_validate_trigger_field(trigger, &trigger->description, &trigger->description_orig, in lld_triggers_validate()
2008 lld_validate_trigger_field(trigger, &trigger->comments, &trigger->comments_orig, in lld_triggers_validate()
2010 lld_validate_trigger_field(trigger, &trigger->url, &trigger->url_orig, in lld_triggers_validate()
2012 lld_validate_trigger_field(trigger, &trigger->correlation_tag, &trigger->correlation_tag_orig, in lld_triggers_validate()
2014 lld_validate_trigger_field(trigger, &trigger->opdata, &trigger->opdata_orig, in lld_triggers_validate()
2022 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_validate()
2024 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_triggers_validate()
2027 if (0 != trigger->triggerid) in lld_triggers_validate()
2029 zbx_vector_uint64_append(&triggerids, trigger->triggerid); in lld_triggers_validate()
2031 if (SUCCEED != lld_trigger_changed(trigger)) in lld_triggers_validate()
2035 zbx_vector_str_append(&descriptions, trigger->description); in lld_triggers_validate()
2119 trigger = (zbx_lld_trigger_t *)triggers->values[j]; in lld_triggers_validate()
2121 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_triggers_validate()
2124 if (SUCCEED != lld_triggers_equal(trigger, db_trigger)) in lld_triggers_validate()
2128 (0 != trigger->triggerid ? "update" : "create"), trigger->description); in lld_triggers_validate()
2130 if (0 != trigger->triggerid) in lld_triggers_validate()
2132 lld_field_str_rollback(&trigger->description, &trigger->description_orig, in lld_triggers_validate()
2133 &trigger->flags, ZBX_FLAG_LLD_TRIGGER_UPDATE_DESCRIPTION); in lld_triggers_validate()
2135 lld_field_str_rollback(&trigger->expression, &trigger->expression_orig, in lld_triggers_validate()
2136 &trigger->flags, ZBX_FLAG_LLD_TRIGGER_UPDATE_EXPRESSION); in lld_triggers_validate()
2138 lld_field_str_rollback(&trigger->recovery_expression, in lld_triggers_validate()
2139 &trigger->recovery_expression_orig, &trigger->flags, in lld_triggers_validate()
2142 for (k = 0; k < trigger->functions.values_num; k++) in lld_triggers_validate()
2144 function = (zbx_lld_function_t *)trigger->functions.values[k]; in lld_triggers_validate()
2170 trigger->flags &= ~ZBX_FLAG_LLD_TRIGGER_DISCOVERED; in lld_triggers_validate()
2238 zbx_lld_trigger_t *trigger; in lld_trigger_tags_validate() local
2243 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_trigger_tags_validate()
2245 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_trigger_tags_validate()
2248 for (j = 0; j < trigger->tags.values_num; j++) in lld_trigger_tags_validate()
2250 tag = (zbx_lld_tag_t *)trigger->tags.values[j]; in lld_trigger_tags_validate()
2263 tag_tmp = (zbx_lld_tag_t *)trigger->tags.values[k]; in lld_trigger_tags_validate()
2278 if (0 == trigger->triggerid && 0 == (tag->flags & ZBX_FLAG_LLD_TAG_DISCOVERED)) in lld_trigger_tags_validate()
2280 trigger->flags &= ~ZBX_FLAG_LLD_TRIGGER_DISCOVERED; in lld_trigger_tags_validate()
2382 zbx_lld_trigger_t *trigger; in lld_triggers_save() local
2404 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_save()
2406 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_triggers_save()
2409 if (0 == trigger->triggerid) in lld_triggers_save()
2411 else if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE)) in lld_triggers_save()
2414 for (j = 0; j < trigger->functions.values_num; j++) in lld_triggers_save()
2416 function = (zbx_lld_function_t *)trigger->functions.values[j]; in lld_triggers_save()
2433 for (j = 0; j < trigger->dependencies.values_num; j++) in lld_triggers_save()
2435 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[j]; in lld_triggers_save()
2450 for (j = 0; j < trigger->tags.values_num; j++) in lld_triggers_save()
2452 tag = (zbx_lld_tag_t *)trigger->tags.values[j]; in lld_triggers_save()
2543 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_save()
2545 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_triggers_save()
2548 index = zbx_vector_ptr_bsearch(trigger_prototypes, &trigger->parent_triggerid, in lld_triggers_save()
2553 for (j = 0; j < trigger->functions.values_num; j++) in lld_triggers_save()
2555 function = (zbx_lld_function_t *)trigger->functions.values[j]; in lld_triggers_save()
2566 (0 == trigger->triggerid ? triggerid : trigger->triggerid), in lld_triggers_save()
2573 if (0 == trigger->triggerid || 0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_EXPRESSION)) in lld_triggers_save()
2574 lld_expression_create(&trigger->expression, &trigger->functions); in lld_triggers_save()
2576 …if (0 == trigger->triggerid || 0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_RECOVERY_EXPRESS… in lld_triggers_save()
2577 lld_expression_create(&trigger->recovery_expression, &trigger->functions); in lld_triggers_save()
2579 if (0 == trigger->triggerid) in lld_triggers_save()
2581 zbx_db_insert_add_values(&db_insert, triggerid, trigger->description, trigger->expression, in lld_triggers_save()
2582 (int)trigger->priority, (int)trigger->status, in lld_triggers_save()
2583 trigger->comments, trigger->url, (int)trigger_prototype->type, in lld_triggers_save()
2586 trigger->recovery_expression, (int)trigger_prototype->correlation_mode, in lld_triggers_save()
2587 trigger->correlation_tag, (int)trigger_prototype->manual_close, in lld_triggers_save()
2588 trigger->opdata); in lld_triggers_save()
2590 zbx_db_insert_add_values(&db_insert_tdiscovery, triggerid, trigger->parent_triggerid); in lld_triggers_save()
2592 trigger->triggerid = triggerid++; in lld_triggers_save()
2594 else if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE)) in lld_triggers_save()
2600 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_DESCRIPTION)) in lld_triggers_save()
2602 description_esc = DBdyn_escape_string(trigger->description); in lld_triggers_save()
2609 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_EXPRESSION)) in lld_triggers_save()
2611 expression_esc = DBdyn_escape_string(trigger->expression); in lld_triggers_save()
2618 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_RECOVERY_EXPRESSION)) in lld_triggers_save()
2620 expression_esc = DBdyn_escape_string(trigger->recovery_expression); in lld_triggers_save()
2627 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_RECOVERY_MODE)) in lld_triggers_save()
2634 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_TYPE)) in lld_triggers_save()
2641 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_PRIORITY)) in lld_triggers_save()
2644 (int)trigger->priority); in lld_triggers_save()
2648 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_COMMENTS)) in lld_triggers_save()
2650 comments_esc = DBdyn_escape_string(trigger->comments); in lld_triggers_save()
2656 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_URL)) in lld_triggers_save()
2658 url_esc = DBdyn_escape_string(trigger->url); in lld_triggers_save()
2664 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_CORRELATION_MODE)) in lld_triggers_save()
2671 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_CORRELATION_TAG)) in lld_triggers_save()
2673 value_esc = DBdyn_escape_string(trigger->correlation_tag); in lld_triggers_save()
2680 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_MANUAL_CLOSE)) in lld_triggers_save()
2687 if (0 != (trigger->flags & ZBX_FLAG_LLD_TRIGGER_UPDATE_OPDATA)) in lld_triggers_save()
2689 opdata_esc = DBdyn_escape_string(trigger->opdata); in lld_triggers_save()
2695 " where triggerid=" ZBX_FS_UI64 ";\n", trigger->triggerid); in lld_triggers_save()
2701 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_save()
2703 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_triggers_save()
2706 for (j = 0; j < trigger->dependencies.values_num; j++) in lld_triggers_save()
2708 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[j]; in lld_triggers_save()
2721 zbx_db_insert_add_values(&db_insert_tdepends, triggerdepid, trigger->triggerid, in lld_triggers_save()
2732 trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_triggers_save()
2734 if (0 == (trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED)) in lld_triggers_save()
2737 for (j = 0; j < trigger->tags.values_num; j++) in lld_triggers_save()
2741 tag = (zbx_lld_tag_t *)trigger->tags.values[j]; in lld_triggers_save()
2752 zbx_db_insert_add_values(&db_insert_ttags, tag->triggertagid, trigger->triggerid, in lld_triggers_save()
2910 ptr = trigger_node->trigger_ref.trigger; in zbx_lld_trigger_ref_hash_func()
2912 return ZBX_DEFAULT_PTR_HASH_ALGO(&ptr, sizeof(trigger_node->trigger_ref.trigger), hash); in zbx_lld_trigger_ref_hash_func()
2926 ZBX_RETURN_IF_NOT_EQUAL(n1->trigger_ref.trigger, n2->trigger_ref.trigger); in zbx_lld_trigger_ref_compare_func()
2951 ZBX_RETURN_IF_NOT_EQUAL(n1->trigger_ref.trigger, n2->trigger_ref.trigger); in zbx_lld_trigger_node_compare_func()
2970 zbx_lld_trigger_t *trigger) in lld_trigger_cache_append() argument
2975 node_local.trigger_ref.trigger = trigger; in lld_trigger_cache_append()
3000 static void lld_trigger_cache_add_trigger_node(zbx_hashset_t *cache, zbx_lld_trigger_t *trigger, in lld_trigger_cache_add_trigger_node() argument
3008 trigger_node_local.trigger_ref.triggerid = trigger->triggerid; in lld_trigger_cache_add_trigger_node()
3009 trigger_node_local.trigger_ref.trigger = trigger; in lld_trigger_cache_add_trigger_node()
3014 trigger_node = lld_trigger_cache_append(cache, trigger->triggerid, trigger); in lld_trigger_cache_add_trigger_node()
3016 for (i = 0; i < trigger->dependencies.values_num; i++) in lld_trigger_cache_add_trigger_node()
3018 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[i]; in lld_trigger_cache_add_trigger_node()
3026 trigger_ref->trigger = dependency->trigger_up; in lld_trigger_cache_add_trigger_node()
3032 if (NULL == trigger_ref->trigger) in lld_trigger_cache_add_trigger_node()
3035 trigger_node_local.trigger_ref.trigger = NULL; in lld_trigger_cache_add_trigger_node()
3047 if (0 != trigger->triggerid) in lld_trigger_cache_add_trigger_node()
3048 zbx_vector_uint64_append(triggerids_up, trigger->triggerid); in lld_trigger_cache_add_trigger_node()
3050 for (i = 0; i < trigger->dependents.values_num; i++) in lld_trigger_cache_add_trigger_node()
3052 …lld_trigger_cache_add_trigger_node(cache, (zbx_lld_trigger_t *)trigger->dependents.values[i], trig… in lld_trigger_cache_add_trigger_node()
3056 for (i = 0; i < trigger->dependencies.values_num; i++) in lld_trigger_cache_add_trigger_node()
3058 dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[i]; in lld_trigger_cache_add_trigger_node()
3104 zbx_lld_trigger_t *trigger = (zbx_lld_trigger_t *)triggers->values[i]; in lld_trigger_cache_init() local
3106 for (j = 0; j < trigger->dependencies.values_num; j++) in lld_trigger_cache_init()
3108 zbx_lld_dependency_t *dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[j]; in lld_trigger_cache_init()
3114 if (j != trigger->dependencies.values_num) in lld_trigger_cache_init()
3115 lld_trigger_cache_add_trigger_node(cache, trigger, &triggerids_up, &triggerids_down); in lld_trigger_cache_init()
3181 trigger_ref->trigger = NULL; in lld_trigger_cache_init()
3293 zbx_lld_trigger_t *trigger; in lld_trigger_dependency_delete() local
3310 trigger = from->trigger; in lld_trigger_dependency_delete()
3313 for (i = 0; i < trigger->dependencies.values_num; i++) in lld_trigger_dependency_delete()
3315 zbx_lld_dependency_t *dependency = (zbx_lld_dependency_t *)trigger->dependencies.values[i]; in lld_trigger_dependency_delete()
3317 if ((NULL != dependency->trigger_up && dependency->trigger_up == to->trigger) || in lld_trigger_dependency_delete()
3321 zbx_vector_ptr_remove(&trigger->dependencies, i); in lld_trigger_dependency_delete()
3330 trigger_desc = zbx_strdup(NULL, from->trigger->description); in lld_trigger_dependency_delete()
3500 zbx_lld_trigger_t *trigger; in get_trigger_info() local
3502 trigger = (zbx_lld_trigger_t *)object; in get_trigger_info()
3504 *id = trigger->triggerid; in get_trigger_info()
3505 *discovery_flag = trigger->flags & ZBX_FLAG_LLD_TRIGGER_DISCOVERED; in get_trigger_info()
3506 *lastcheck = trigger->lastcheck; in get_trigger_info()
3507 *ts_delete = trigger->ts_delete; in get_trigger_info()
3527 zbx_lld_trigger_t *trigger; in lld_update_triggers() local
3562 trigger = (zbx_lld_trigger_t *)triggers.values[i]; in lld_update_triggers()
3564 …lld_expressions_simplify(&trigger->expression, &trigger->recovery_expression, &trigger->functions); in lld_update_triggers()