X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/7c89c05d7fb37ff6cd90eeab811ef812c03218ec..ac9dc8faf23104c8d82cbf5ff0041f46da8d9534:/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp index 073fccab..9d1acab4 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* @@ -40,7 +40,6 @@ #include #include -#include #include @@ -49,28 +48,31 @@ #include "postgresql_store_utils.h" #include "postgresql_store.h" -PLUGIN_CREATOR pqStoreeCreator; +namespace +{ +PLUGIN_CREATOR pgsc; +} + +extern "C" STORE * GetStore(); //----------------------------------------------------------------------------- STORE * GetStore() { -return pqStoreeCreator.GetPlugin(); +return pgsc.GetPlugin(); } //----------------------------------------------------------------------------- POSTGRESQL_STORE::POSTGRESQL_STORE() : versionString("postgresql_store v.1.3"), - strError(), server("localhost"), database("stargazer"), user("stg"), password("123456"), clientEncoding("KOI8"), - settings(), - mutex(), version(0), retries(3), - connection(NULL) + connection(NULL), + logger(GetPluginLogger(GetStgLogger(), "store_postgresql")) { pthread_mutex_init(&mutex, NULL); } @@ -87,31 +89,32 @@ pthread_mutex_destroy(&mutex); int POSTGRESQL_STORE::ParseSettings() { std::vector::iterator i; -string s; +std::string s; for(i = settings.moduleParams.begin(); i != settings.moduleParams.end(); ++i) { - s = i->param; - std::transform(s.begin(), s.end(), s.begin(), ToLower()); + if (i->value.empty()) + continue; + s = ToLower(i->param); if (s == "server") { - server = *(i->value.begin()); + server = i->value.front(); } if (s == "database") { - database = *(i->value.begin()); + database = i->value.front(); } if (s == "user") { - user = *(i->value.begin()); + user = i->value.front(); } if (s == "password") { - password = *(i->value.begin()); + password = i->value.front(); } if (s == "retries") { - if (str2x(*(i->value.begin()), retries)) + if (str2x(i->value.front(), retries)) { strError = "Invalid 'retries' value"; printfd(__FILE__, "POSTGRESQL_STORE::ParseSettings(): '%s'\n", strError.c_str()); @@ -231,6 +234,8 @@ if (CommitTransaction()) return -1; } +logger("POSTGRESQL_STORE: Current DB schema version: %d", version); + return 0; } //-----------------------------------------------------------------------------