X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..4ca22a7c19dd0b94609280faf64108b1ea54e415:/projects/stargazer/plugins/store/postgresql/postgresql_store.h diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store.h b/projects/stargazer/plugins/store/postgresql/postgresql_store.h index 67119db2..7b3d7660 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store.h +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store.h @@ -35,15 +35,15 @@ #include #include -#include "base_store.h" +#include "stg/store.h" -// Minimal DB version is 5 -// Recommended DB version is 6 (support FreeMb logging on disconnects) -#define DB_MIN_VERSION 5 +// Minimal DB version is 7 +// Recommended DB version is 7 (support full month stats) +#define DB_MIN_VERSION 7 -extern "C" BASE_STORE * GetStore(); +extern "C" STORE * GetStore(); -class POSTGRESQL_STORE : public BASE_STORE { +class POSTGRESQL_STORE : public STORE { public: POSTGRESQL_STORE(); virtual ~POSTGRESQL_STORE(); @@ -72,7 +72,7 @@ public: double cash, double freeMb, const std::string & reason) const; - int WriteDetailedStat(const std::map * statTree, + int WriteDetailedStat(const TRAFF_STAT & statTree, time_t lastStat, const std::string & login) const; @@ -121,19 +121,6 @@ public: inline const string & GetStrError() const { return strError; }; inline const string & GetVersion() const { return versionString; }; private: - std::string versionString; - mutable std::string strError; - std::string server; - std::string database; - std::string user; - std::string password; - std::string clientEncoding; - MODULE_SETTINGS settings; - mutable pthread_mutex_t mutex; - mutable int version; - - PGconn * connection; - int StartTransaction() const; int CommitTransaction() const; int RollbackTransaction() const; @@ -154,9 +141,22 @@ private: int Connect(); int Reset() const; int CheckVersion() const; + + std::string versionString; + mutable std::string strError; + std::string server; + std::string database; + std::string user; + std::string password; + std::string clientEncoding; + MODULE_SETTINGS settings; + mutable pthread_mutex_t mutex; + mutable int version; + int retries; + + PGconn * connection; }; extern const volatile time_t stgTime; #endif //POSTGRESQL_STORE_H -