]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/store/postgresql/postgresql_store.h
Allow to use NULL tariff instead empty one
[stg.git] / projects / stargazer / plugins / store / postgresql / postgresql_store.h
index 67119db2a77c7ed38e44da884ca68a183eafb1a2..8169137e4d6776de2394ce66266d443dcb047ab1 100644 (file)
 #include <vector>
 #include <map>
 
 #include <vector>
 #include <map>
 
-#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 5
 // Recommended DB version is 6 (support FreeMb logging on disconnects)
 #define DB_MIN_VERSION 5
 
-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();
 public:
     POSTGRESQL_STORE();
     virtual ~POSTGRESQL_STORE();
@@ -72,7 +72,7 @@ public:
                             double cash,
                             double freeMb,
                             const std::string & reason) const;
                             double cash,
                             double freeMb,
                             const std::string & reason) const;
-    int WriteDetailedStat(const std::map<IP_DIR_PAIR, STAT_NODE> * statTree,
+    int WriteDetailedStat(const TRAFF_STAT & statTree,
                           time_t lastStat,
                           const std::string & login) const;
 
                           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:
     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;
     int StartTransaction() const;
     int CommitTransaction() const;
     int RollbackTransaction() const;
@@ -154,9 +141,22 @@ private:
     int Connect();
     int Reset() const;
     int CheckVersion() const;
     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
 };
 
 extern const volatile time_t stgTime;
 
 #endif //POSTGRESQL_STORE_H
-