diff options
author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-06 12:56:44 +0000 |
---|---|---|
committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-06 12:56:44 +0000 |
commit | bc87e8b5844d32a4b6367ca7ecc6aec56a1adf28 (patch) | |
tree | d909561e095c41f10d984147442a3d49071a8ae2 /src | |
parent | 4fadc291f8754315252c8c05af222eb92520555e (diff) | |
download | zabbix-bc87e8b5844d32a4b6367ca7ecc6aec56a1adf28.tar.gz zabbix-bc87e8b5844d32a4b6367ca7ecc6aec56a1adf28.tar.xz zabbix-bc87e8b5844d32a4b6367ca7ecc6aec56a1adf28.zip |
- [DEV-131] First boot - database creation (sqlite3)
git-svn-id: svn://svn.zabbix.com/trunk@5455 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/zbxdb/db.c | 24 | ||||
-rw-r--r-- | src/libs/zbxdbhigh/db.c | 22 | ||||
-rw-r--r-- | src/zabbix_proxy/proxy.c | 7 |
3 files changed, 49 insertions, 4 deletions
diff --git a/src/libs/zbxdb/db.c b/src/libs/zbxdb/db.c index 5909f329..9efeefc4 100644 --- a/src/libs/zbxdb/db.c +++ b/src/libs/zbxdb/db.c @@ -209,6 +209,30 @@ int zbx_db_connect(char *host, char *user, char *password, char *dbname, char *d #endif } +void zbx_db_init(char *host, char *user, char *password, char *dbname, char *dbsocket, int port) +{ +#ifdef HAVE_SQLITE3 + int ret; + struct stat buf; +#endif + +#ifdef HAVE_SQLITE3 + if (0 != stat(dbname, &buf)) { + zabbix_log(LOG_LEVEL_WARNING, "Cannot open database file \"%s\": %s", dbname, strerror(errno)); + zabbix_log(LOG_LEVEL_WARNING, "Creating database ..."); + + ret = sqlite3_open(dbname, &conn); + if (SQLITE_OK != ret) { + zabbix_log(LOG_LEVEL_ERR, "Can't create database \"%s\": %s", dbname, sqlite3_errmsg(conn)); + exit(FAIL); + } + + DBexecute("%s", db_schema); + DBclose(); + } +#endif +} + int __zbx_zbx_db_execute(const char *fmt, ...) { va_list args; diff --git a/src/libs/zbxdbhigh/db.c b/src/libs/zbxdbhigh/db.c index 238668ae..998764ad 100644 --- a/src/libs/zbxdbhigh/db.c +++ b/src/libs/zbxdbhigh/db.c @@ -57,7 +57,6 @@ void DBclose(void) zbx_db_close(); } - /* * Connect to the database. * If fails, program terminates. @@ -91,6 +90,26 @@ void DBconnect(int flag) /****************************************************************************** * * + * Function: DBinit * + * * + * Purpose: * + * * + * Parameters: * + * * + * Return value: * + * * + * Author: Alksander Vladishev * + * * + * Comments: * + * * + ******************************************************************************/ +void DBinit() +{ + zbx_db_init(CONFIG_DBHOST, CONFIG_DBUSER, CONFIG_DBPASSWORD, CONFIG_DBNAME, CONFIG_DBSOCKET, CONFIG_DBPORT); +} + +/****************************************************************************** + * * * Function: DBping * * * * Purpose: Check if database is down * @@ -2057,3 +2076,4 @@ int DBproxy_add_history_str(zbx_uint64_t itemid, char *value, int clock) return SUCCEED; } + diff --git a/src/zabbix_proxy/proxy.c b/src/zabbix_proxy/proxy.c index d3d1ba95..c3341b2f 100644 --- a/src/zabbix_proxy/proxy.c +++ b/src/zabbix_proxy/proxy.c @@ -471,13 +471,13 @@ int MAIN_ZABBIX_ENTRY(void) } #endif /* HAVE_SQLITE3 */ - DBconnect(ZBX_DB_CONNECT_EXIT); +/* DBconnect(ZBX_DB_CONNECT_EXIT);*/ /* Need to set trigger status to UNKNOWN since last run */ /* DBconnect() already made in init_config() */ /* DBconnect();*/ - DBupdate_triggers_status_after_restart(); - DBclose(); +/* DBupdate_triggers_status_after_restart(); + DBclose();*/ /* To make sure that we can connect to the database before forking new processes */ /* DBconnect(ZBX_DB_CONNECT_EXIT);*/ @@ -488,6 +488,7 @@ int MAIN_ZABBIX_ENTRY(void) zbx_error("Unable to create mutex for node syncs"); exit(FAIL); }*/ + DBinit(); threads = calloc(1 + CONFIG_DATASENDER_FORKS + CONFIG_POLLER_FORKS + CONFIG_TRAPPERD_FORKS + CONFIG_PINGER_FORKS + CONFIG_HOUSEKEEPER_FORKS + CONFIG_UNREACHABLE_POLLER_FORKS |