diff options
| author | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-24 16:58:31 +0000 |
|---|---|---|
| committer | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-24 16:58:31 +0000 |
| commit | 69c3bb458c5fd3924b1149f2e8e1852fdcffb7fd (patch) | |
| tree | 3d3be14102ca9965e9e847f388e6d50c1aaef35e /src | |
| parent | 1964ae1cb717b09523b924d351627d1601ab968f (diff) | |
| download | zabbix-69c3bb458c5fd3924b1149f2e8e1852fdcffb7fd.tar.gz zabbix-69c3bb458c5fd3924b1149f2e8e1852fdcffb7fd.tar.xz zabbix-69c3bb458c5fd3924b1149f2e8e1852fdcffb7fd.zip | |
More changes for DB.
git-svn-id: svn://svn.zabbix.com/trunk@3514 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
| -rw-r--r-- | src/libs/zbxdbhigh/db.c | 31 | ||||
| -rw-r--r-- | src/zabbix_server/actions.c | 4 | ||||
| -rw-r--r-- | src/zabbix_server/events.c | 3 | ||||
| -rw-r--r-- | src/zabbix_server/expression.c | 4 |
4 files changed, 37 insertions, 5 deletions
diff --git a/src/libs/zbxdbhigh/db.c b/src/libs/zbxdbhigh/db.c index e8c7c549..4635fe82 100644 --- a/src/libs/zbxdbhigh/db.c +++ b/src/libs/zbxdbhigh/db.c @@ -1796,8 +1796,9 @@ int DBadd_alert(zbx_uint64_t actionid, zbx_uint64_t userid, zbx_uint64_t trigger DBescape_string(sendto,sendto_esc,MAX_STRING_LEN); DBescape_string(subject,subject_esc,MAX_STRING_LEN); DBescape_string(message,message_esc,MAX_STRING_LEN); - DBexecute("insert into alerts (actionid,triggerid,userid,clock,mediatypeid,sendto,subject,message,status,retries,maxrepeats,delay)" - " values (" ZBX_FS_UI64 "," ZBX_FS_UI64 "," ZBX_FS_UI64 ",%d," ZBX_FS_UI64 ",'%s','%s','%s',0,0,%d,%d)", + DBexecute("insert into alerts (alertid, actionid,triggerid,userid,clock,mediatypeid,sendto,subject,message,status,retries,maxrepeats,delay)" + " values (" ZBX_FS_UI64 "," ZBX_FS_UI64 "," ZBX_FS_UI64 "," ZBX_FS_UI64 ",%d," ZBX_FS_UI64 ",'%s','%s','%s',0,0,%d,%d)", + DBget_maxid("alert_maxid"), actionid,triggerid,userid,now,mediatypeid,sendto_esc,subject_esc,message_esc, maxrepeats, repeatdelay); return SUCCEED; @@ -2013,3 +2014,29 @@ zbx_uint64_t DBget_nextid(char *table, char *field) return res; } + +zbx_uint64_t DBget_maxid(char *field) +{ + DB_RESULT result; + DB_ROW row; + zbx_uint64_t ret; + + result = DBselect("select %s from nodes where nodeid=%d", field, CONFIG_NODEID); + row = DBfetch(result); + + if(!row || DBis_null(row[0])==SUCCEED) + { + ret = CONFIG_NODEID*(zbx_uint64_t)__UINT64_C(100000000000000) + 1; + } + else + { + ZBX_STR2UINT64(ret, row[0]); + ret = CONFIG_NODEID*(zbx_uint64_t)__UINT64_C(100000000000000) + ret; + ret++; + } + DBexecute("update nodes set %s=%s+1 where nodeid=%d", + field, field, CONFIG_NODEID); + DBfree_result(result); + + return ret; +} diff --git a/src/zabbix_server/actions.c b/src/zabbix_server/actions.c index c4aeb9c0..16061519 100644 --- a/src/zabbix_server/actions.c +++ b/src/zabbix_server/actions.c @@ -74,7 +74,9 @@ static void send_to_user_medias(DB_EVENT *event,DB_ACTION *action, zbx_uint64_t DB_RESULT result; DB_ROW row; - result = DBselect("select mediatypeid,sendto,active,severity,period from media where active=%d and userid=%d",MEDIA_STATUS_ACTIVE,userid); + zabbix_log( LOG_LEVEL_WARNING, "In send_to_user_medias(triggerid:" ZBX_FS_UI64 ")", event->triggerid); + + result = DBselect("select mediatypeid,sendto,active,severity,period from media where active=%d and userid=" ZBX_FS_UI64,MEDIA_STATUS_ACTIVE,userid); while((row=DBfetch(result))) { diff --git a/src/zabbix_server/events.c b/src/zabbix_server/events.c index 54804b02..500c1d17 100644 --- a/src/zabbix_server/events.c +++ b/src/zabbix_server/events.c @@ -114,6 +114,8 @@ int process_event(DB_EVENT *event) if(event->eventid == 0) { + event->eventid = DBget_maxid("event_maxid"); +/* result = DBselect("select event_maxid from nodes where nodeid=%d", CONFIG_NODEID); row = DBfetch(result); @@ -130,6 +132,7 @@ int process_event(DB_EVENT *event) DBexecute("update nodes set event_maxid=event_maxid+1 where nodeid=%d", CONFIG_NODEID); DBfree_result(result); + */ } DBexecute("insert into events(eventid,triggerid,clock,value) values(" ZBX_FS_UI64 "," ZBX_FS_UI64 ",%d,%d)", event->eventid,event->triggerid, event->clock, event->value); diff --git a/src/zabbix_server/expression.c b/src/zabbix_server/expression.c index 36082155..35e4209d 100644 --- a/src/zabbix_server/expression.c +++ b/src/zabbix_server/expression.c @@ -765,7 +765,7 @@ void substitute_simple_macros(DB_EVENT *event, DB_ACTION *action, char *data, in /* NOTE: if you make changes for this bloc, don't forgot MVAR_TRIGGER_STATUS block */ var_len = strlen(MVAR_TRIGGER_ID); - zbx_snprintf(replace_to, sizeof(replace_to), "%d", event->triggerid); + zbx_snprintf(replace_to, sizeof(replace_to), ZBX_FS_UI64, event->triggerid); } else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) && strncmp(pr, MVAR_TRIGGER_URL, strlen(MVAR_TRIGGER_URL)) == 0) @@ -781,7 +781,7 @@ void substitute_simple_macros(DB_EVENT *event, DB_ACTION *action, char *data, in /* NOTE: if you make changes for this bloc, don't forgot MVAR_TRIGGER_STATUS block */ var_len = strlen(MVAR_EVENT_ID); - zbx_snprintf(replace_to, sizeof(replace_to), "%d", event->eventid); + zbx_snprintf(replace_to, sizeof(replace_to), ZBX_FS_UI64, event->eventid); } else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) && strncmp(pr, MVAR_TRIGGER_SEVERITY, strlen(MVAR_TRIGGER_SEVERITY)) == 0) |
