X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c963a109219ed101fa42f501b16f90d7b7b4f3f2..9a834ba2e0caea6edffec5c1db403cf9832ea96e:/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 d273803d..4585bbdf 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store.h +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store.h @@ -33,15 +33,13 @@ #include #include -#include -#include "store.h" +#include "stg/store.h" +#include "stg/logger.h" -// Minimal DB version is 5 -// Recommended DB version is 6 (support FreeMb logging on disconnects) -#define DB_MIN_VERSION 5 - -extern "C" STORE * GetStore(); +// Minimal DB version is 7 +// Recommended DB version is 7 (support full month stats) +#define DB_MIN_VERSION 7 class POSTGRESQL_STORE : public STORE { public: @@ -96,7 +94,7 @@ public: // Tariffs int GetTariffsList(std::vector * tariffsList) const; int AddTariff(const std::string & name) const; - int DelTariff(const string & name) const; + int DelTariff(const std::string & name) const; int SaveTariff(const TARIFF_DATA & td, const std::string & tariffName) const; int RestoreTariff(TARIFF_DATA * td, const std::string & tariffName) const; @@ -115,20 +113,23 @@ public: int DelService(const std::string & name) const; // Settings - inline void SetSettings(const MODULE_SETTINGS & s) { settings = s; }; + inline void SetSettings(const MODULE_SETTINGS & s) { settings = s; } int ParseSettings(); - inline const string & GetStrError() const { return strError; }; - inline const string & GetVersion() const { return versionString; }; + inline const std::string & GetStrError() const { return strError; } + inline const std::string & GetVersion() const { return versionString; } private: + POSTGRESQL_STORE(const POSTGRESQL_STORE & rvalue); + POSTGRESQL_STORE & operator=(const POSTGRESQL_STORE & rvalue); + int StartTransaction() const; int CommitTransaction() const; int RollbackTransaction() const; int EscapeString(std::string & value) const; - std::string Int2TS(uint32_t value) const; - uint32_t TS2Int(const std::string & value) const; + std::string Int2TS(time_t value) const; + time_t TS2Int(const std::string & value) const; int SaveStat(const USER_STAT & stat, const std::string & login, int year = 0, int month = 0) const; @@ -152,10 +153,11 @@ private: MODULE_SETTINGS settings; mutable pthread_mutex_t mutex; mutable int version; + int retries; PGconn * connection; -}; -extern const volatile time_t stgTime; + PLUGIN_LOGGER logger; +}; #endif //POSTGRESQL_STORE_H