summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-24 16:58:31 +0000
committeralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-24 16:58:31 +0000
commit69c3bb458c5fd3924b1149f2e8e1852fdcffb7fd (patch)
tree3d3be14102ca9965e9e847f388e6d50c1aaef35e /src
parent1964ae1cb717b09523b924d351627d1601ab968f (diff)
downloadzabbix-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.c31
-rw-r--r--src/zabbix_server/actions.c4
-rw-r--r--src/zabbix_server/events.c3
-rw-r--r--src/zabbix_server/expression.c4
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)