Initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
#ifndef DATAINTERFACE_DATACONDENSER_H
|
||||
#define DATAINTERFACE_DATACONDENSER_H
|
||||
|
||||
#include "DataType.h"
|
||||
#include "RRA.h"
|
||||
#include <MySQLClient.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace DataStorageInterface {
|
||||
namespace DataInterface {
|
||||
|
||||
class DataCondenser
|
||||
{
|
||||
public:
|
||||
DataCondenser(MySQL::MySQLClient* pMySQLClient);
|
||||
|
||||
void CondenseData();
|
||||
|
||||
private:
|
||||
int GetPeriodStamp(int timestamp, const RRA::type& rra);
|
||||
std::vector<int> GetDeviceIDs();
|
||||
int GetNewestPeriodStamp(const std::string& sourceTable, int deviceId, int dataId);
|
||||
MySQL::MySQLResultSet GetRawData(const std::string& sourceTable, int deviceId, int dataId, int newestPeriodStamp);
|
||||
MySQL::MySQLResultSet GetReducedData(const std::string& sourceTable, int deviceId, int dataId, int newestPeriodStamp);
|
||||
|
||||
int GetMaximumMySQLPacketSize();
|
||||
|
||||
DataType::type GetDataType(int deviceId, int dataId);
|
||||
std::string GetSourceTable(const RRA::type& rra);
|
||||
std::string GetDestinationTable(const RRA::type& rra);
|
||||
int StringStreamSize(std::stringstream& ss);
|
||||
|
||||
void InitializeInsertQuery(std::stringstream& query, const std::string& table);
|
||||
void ExecuteInsertQuery(std::stringstream& query);
|
||||
|
||||
void WriteReducedFloatData(int deviceId, int dataId, const RRA::type& rra);
|
||||
void WriteReducedStringData(int deviceId, int dataId, const RRA::type& rra);
|
||||
void WriteReducedData(int deviceId, int dataId, const RRA::type& rra);
|
||||
|
||||
void CleanData();
|
||||
void CleanData(const RRA::type& rra);
|
||||
|
||||
private:
|
||||
MySQL::MySQLClient* m_pMySQLClient;
|
||||
};
|
||||
|
||||
} // namespace DataInterface
|
||||
} // namespace DataStorageInterface
|
||||
|
||||
#endif // DATAINTERFACE_DATACONDENSER_H
|
||||
Reference in New Issue
Block a user