#include <vector>
#include <map>
-#include "base_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
+// 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();
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;
inline const string & GetStrError() const { return strError; };
inline const 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;
MODULE_SETTINGS settings;
mutable pthread_mutex_t mutex;
mutable int version;
+ int retries;
PGconn * connection;
+
+ PLUGIN_LOGGER logger;
};
extern const volatile time_t stgTime;