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/libs | |
| 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/libs')
| -rw-r--r-- | src/libs/zbxdbhigh/db.c | 31 |
1 files changed, 29 insertions, 2 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; +} |
