stec-platform
SQLBase Class Referenceabstract

The SQLBase class. More...

#include <sqlbase.h>

Inheritance diagram for SQLBase:
Collaboration diagram for SQLBase:

Classes

struct  SqlRow
 
struct  VremMYSqlRecord
 

Public Types

enum  dbtype { postgres = 0 , mysql = 1 , sqlite = 2 }
 
typedef enum SQLBase::dbtype DBType
 
typedef QList< SqlRowQSqlRowList
 
typedef QList< VremMYSqlRecordQDataLoggerRecord
 

Public Slots

void SlotAddDataBySubscriptionName (QString name, VremVArray data)
 

Signals

void SignalValuesAdded (QString Table, QDateTime time)
 

Public Member Functions

 SQLBase (QObject *parent=0)
 
 SQLBase (QString DatabaseIP, QString DatabasePort, QString DatabaseName, QString DatabaseUser, QString DatabasePasswd, QObject *parent=0)
 
bool open ()
 
QString OpenDatabase (QString DatabaseIP, QString DatabasePort, QString DatabaseName, QString DatabaseUser, QString DatabasePasswd)
 
void ScratchDataTable (QString DataTable)
 
bool isOpen (void)
 returns true if database is open
 
QSqlDatabase & getDB (void)
 
QList< SqlRowgetAllRows (void)
 
qint64 GetCurrentGMT (void)
 
qint64 GetGMTFromLocal (QDateTime time)
 
bool AddData (Subscription *sub)
 
bool AddData (Subscription *sub, QString dataTable)
 
bool AddDataBySub (QString subName, VremVArray va)
 
QSqlTableModel * getSubMap (void)
 
virtual bool ClearAllData (QString dataTable)=0
 
virtual QString OpenDatabase (void)=0
 
virtual void ScratchSql (void)=0
 starts a new database
 
virtual void ScratchSubscriber (QString subscriber)=0
 
virtual QString TrendThis (QString subscription)=0
 returns the table name for this trend, creates the trend if not there
 
virtual QString getSubFromTable (QString table)=0
 
virtual QString getTableFromSub (QString sub)=0
 
virtual QDataLoggerRecord GetDataRecordsFromTrendTable (QString table, QDateTime fromLocalTime, QDateTime toLocalTime)=0
 
virtual VremMYSqlRecord GetLastDataRecordsFromTrendTable (QString table, QDateTime fromLocalTime, QDateTime toLocalTime)=0
 
virtual VremMYSqlRecord GetLastDataRecordsFromTrendTable (QString table, QDateTime toLocalTime)=0
 
virtual VremMYSqlRecord GetLastDataRecordsFromTrendTable (QString table)=0
 
virtual bool DeleteDataRecordsFromTrendTable (QString table, QDateTime beforeLocalTime)=0
 
virtual bool AddData (QString dataTable, const VremVArray &instance1)=0
 
virtual bool ChangeProperties (QString subscriber, VremVArray propertys)=0
 
virtual VremVArray GetProperties (QString subscription)=0
 
void AddDataBySubscriptionName (QString &name, VremVArray &data)
 
virtual DBType getDBType ()=0
 
QHash< QString, QString > getAllTracking (void)
 

Static Public Member Functions

static QDateTime EarliestPossibleDate (void)
 return the earliest possible date this could ever record. Product did not exist prior to 2013
 

Protected Member Functions

virtual void ReloadTables (void)=0
 
QSqlTableModel * newDbTable (QString tableName)
 

Protected Attributes

PublicationRegistrationcloud
 
QString databaseIP
 
QString databasePort
 
QString databaseName
 
QString databaseUser
 
QString databasePasswd
 
QSqlDatabase db
 
QSqlTableModel * sub_model
 
QSqlTableModel * key_model
 
DRWLock< short > retry
 
QMutex classLock
 

Detailed Description

The SQLBase class.

Member Function Documentation

◆ ClearAllData()

virtual bool SQLBase::ClearAllData ( QString  dataTable)
pure virtual

required functions for inhering this class

Implemented in SqliteInterface, PostgresInterface, and MySqlInterface.


The documentation for this class was generated from the following files: