1 #ifndef WSJCPP_STORAGES_H 2 #define WSJCPP_STORAGES_H 97 std::string getTableName()
const;
99 virtual std::string getStartApply()
const;
100 virtual std::string getAppliedSuccess()
const;
101 virtual std::string getAppliedFailed()
const;
114 virtual std::string getStartApply()
const override;
115 virtual std::string getAppliedSuccess()
const override;
116 virtual std::string getAppliedFailed()
const override;
119 const std::vector<WsjcppStorageColumnDef> &getColumns()
const;
132 virtual std::string getStartApply()
const override;
133 virtual std::string getAppliedSuccess()
const override;
134 virtual std::string getAppliedFailed()
const override;
138 std::string dropColumn(
const std::string &sColumnName);
139 const std::vector<WsjcppStorageColumnDef> &getAddColumns()
const;
140 const std::vector<WsjcppStorageColumnDef> &getAlterColumns()
const;
141 const std::vector<std::string> &getDropColumns()
const;
142 bool isColumnDefined(
const std::string &sColumnName, std::string &sError)
const;
157 virtual std::string getStartApply()
const override;
158 virtual std::string getAppliedSuccess()
const override;
159 virtual std::string getAppliedFailed()
const override;
170 void setValue(std::string sValue);
171 void setValue(
int nValue);
172 void setValue(
double nValue);
173 std::string getColumnName();
175 std::string getString();
194 std::string getTableName()
const;
195 const std::vector<WsjcppStorageColumnDef> &getColumns()
const;
210 virtual std::string getStartApply()
const override;
211 virtual std::string getAppliedSuccess()
const override;
212 virtual std::string getAppliedFailed()
const override;
214 void bindValue(
const std::string &sColumnName,
const std::string &sValue);
215 void bindValue(
const std::string &sColumnName,
int nValue);
216 void bindValue(
const std::string &sColumnName,
double nValue);
217 std::vector<WsjcppStorageColumnValue> values()
const;
221 bool exists(
const std::string &sColumnName);
254 virtual bool executeQuery(
const std::string &sQuery) = 0;
255 virtual std::string lastDatabaseVersion() = 0;
256 virtual std::vector<std::string> getInstalledVersions() = 0;
257 virtual bool insertUpdateInfo(
const std::string &sVersion,
const std::string &sDescription) = 0;
260 long getConnectionDurationInSeconds();
275 static std::string
type() {
return "unknown"; };
276 virtual bool applyConfigFromFile(
const std::string &sFilePath) = 0;
278 virtual void clean() = 0;
279 virtual std::string prepareStringValue(
const std::string &sValue) = 0;
286 virtual std::vector<std::string> prepareSqlQueries(
const WsjcppStorageInsert &storageInsert) = 0;
292 const std::map<std::string, WsjcppStorageTable> &getTables();
293 bool existsTable(
const std::string &sTableName);
316 static void initGlobalVariables();
318 static std::vector<std::string> list();
319 static bool support(
const std::string &sType);
338 #define REGISTRY_WSJCPP_STORAGE( classname ) \ 339 static FabricWsjcppStorage<classname> * pRegistryFabric ## classname = new FabricWsjcppStorage<classname>(); \ 346 WsjcppStorageUpdateBase(
const std::string &sFromVersion,
const std::string &sVersion,
const std::string &sDescription);
347 const std::string &from_version();
348 const std::string &version();
349 const std::string &description();
350 const std::vector<WsjcppStorageChanges *> &getChanges();
351 void setWeight(
int nWeight);
361 void checkTableName(std::string sTableName);
375 static int calculateWeight(
int nWeight,
const std::string &sVersion);
376 static void sortByWeight(std::vector<WsjcppStorageUpdateBase*> &vUpdates);
377 static std::vector<WsjcppStorageUpdateBase*> findUpdatesFromVersion(
const std::string &sVersion);
378 static void pushUpdatesFromVersion(std::vector<WsjcppStorageUpdateBase*> &vUpdates,
const std::string &sVersion);
383 static std::vector<WsjcppStorageUpdateBase*> getSortedStorageUpdates();
384 static void initGlobalVariables();
394 #define REGISTRY_WSJCPP_STORAGE_UPDATE( classname ) \ 395 static classname * pRegistry ## classname = new classname(); 398 #endif // WSJCPP_STORAGES_H std::string TAG
Definition: wsjcpp_storages.h:162
Definition: wsjcpp_storages.h:343
bool isPrimaryKey()
Definition: wsjcpp_storages.cpp:176
Definition: wsjcpp_storages.h:110
Definition: wsjcpp_storages.h:271
std::string m_sFromVersion
Definition: wsjcpp_storages.h:363
std::string TAG
Definition: wsjcpp_storages.h:145
virtual WsjcppStorage * create()
Definition: wsjcpp_storages.h:331
int m_nTypeSize
Definition: wsjcpp_storages.h:60
int m_nIntValue
Definition: wsjcpp_storages.h:184
int columnTypeSize()
Definition: wsjcpp_storages.cpp:164
std::string columnName() const
Definition: wsjcpp_storages.cpp:140
bool isEnableIndex()
Definition: wsjcpp_storages.cpp:188
std::string m_sDescription
Definition: wsjcpp_storages.h:365
bool m_bAutoIncrement
Definition: wsjcpp_storages.h:62
WsjcppStorageColumnDef(const std::string &sColumnName)
Definition: wsjcpp_storages.cpp:10
std::string TAG
Definition: wsjcpp_storages.h:199
WsjcppStorageColumnDef & enableUniqueIndex(const std::string &sIndexName)
Definition: wsjcpp_storages.cpp:132
std::string m_sStringValue
Definition: wsjcpp_storages.h:183
WsjcppStorageColumnDef & number()
Definition: wsjcpp_storages.cpp:76
std::vector< WsjcppStorageColumnValue > m_vValues
Definition: wsjcpp_storages.h:224
std::vector< WsjcppStorageColumnDef > m_vColumns
Definition: wsjcpp_storages.h:123
std::vector< WsjcppStorageUpdateBase * > * g_pWsjcppStorageUpdates
Definition: wsjcpp_storages.cpp:1091
std::string columnDefaultValue()
Definition: wsjcpp_storages.cpp:152
std::string TAG
Definition: wsjcpp_storages.h:104
Definition: wsjcpp_storages.h:84
Definition: wsjcpp_storages.h:326
Definition: wsjcpp_storages.h:85
std::vector< WsjcppStorageColumnDef > m_vAlterColumns
Definition: wsjcpp_storages.h:147
Definition: wsjcpp_storages.h:94
long m_nCreated
Definition: wsjcpp_storages.h:266
bool isNotNull()
Definition: wsjcpp_storages.cpp:182
WsjcppStorageColumnDef & defaultValue(const std::string &sDefault)
Definition: wsjcpp_storages.cpp:117
std::string m_sTableName
Definition: wsjcpp_storages.h:223
Definition: wsjcpp_storages.h:89
bool isAutoIncrement()
Definition: wsjcpp_storages.cpp:170
bool m_bPrimaryKey
Definition: wsjcpp_storages.h:64
Definition: wsjcpp_storages.h:153
Definition: wsjcpp_storages.h:86
Definition: wsjcpp_storages.h:75
Definition: wsjcpp_storages.h:83
Definition: wsjcpp_storages.h:206
Definition: wsjcpp_storages.h:19
int m_nWeight
Definition: wsjcpp_storages.h:366
WsjcppStorageColumnDef & enableIndex()
Definition: wsjcpp_storages.cpp:125
Definition: wsjcpp_storages.h:190
std::string m_sVersion
Definition: wsjcpp_storages.h:364
std::map< std::string, IFabricWsjcppStorage * > * g_pFabricWsjcppStorages
Definition: wsjcpp_storages.cpp:929
std::vector< std::string > m_vDropColumns
Definition: wsjcpp_storages.h:148
bool isEnableUniqueIndex()
Definition: wsjcpp_storages.cpp:194
std::string TAG
Definition: wsjcpp_storages.h:297
std::string m_sType
Definition: wsjcpp_storages.h:58
std::vector< WsjcppStorageChanges * > m_vStorageChanges
Definition: wsjcpp_storages.h:362
WsjcppStorageChangesType
Definition: wsjcpp_storages.h:81
Definition: wsjcpp_storages.h:18
WsjcppStorageColumnDef & string(int nSize)
Definition: wsjcpp_storages.cpp:42
Definition: wsjcpp_storages.h:16
Definition: wsjcpp_storages.h:314
Definition: wsjcpp_storages.h:128
bool m_bDefaultValue
Definition: wsjcpp_storages.h:65
WsjcppStorageColumnDef & notNull()
Definition: wsjcpp_storages.cpp:35
std::string m_sColumnName
Definition: wsjcpp_storages.h:180
std::map< std::string, WsjcppStorageTable > m_mapTables
Definition: wsjcpp_storages.h:300
double m_nDoubleValue
Definition: wsjcpp_storages.h:185
std::string m_sTableName
Definition: wsjcpp_storages.h:200
std::string TAG
Definition: wsjcpp_storages.h:56
Definition: wsjcpp_storages.h:250
std::string columnType()
Definition: wsjcpp_storages.cpp:146
bool isDefaultValue()
Definition: wsjcpp_storages.cpp:158
std::vector< WsjcppStorageColumnDef > m_vColumns
Definition: wsjcpp_storages.h:201
WsjcppStorageColumnType
Definition: wsjcpp_storages.h:15
WsjcppStorageColumnDef & datetime()
Definition: wsjcpp_storages.cpp:65
WsjcppStorageColumnType m_nColumnType
Definition: wsjcpp_storages.h:181
Definition: wsjcpp_storages.h:88
Definition: wsjcpp_storages.h:82
std::string m_sNameOfUniqueIndex
Definition: wsjcpp_storages.h:68
Definition: wsjcpp_storages.h:17
std::string m_sTableName
Definition: wsjcpp_storages.h:105
std::string m_sColumnName
Definition: wsjcpp_storages.h:57
bool m_bEnableIndex
Definition: wsjcpp_storages.h:66
Definition: wsjcpp_storages.h:26
WsjcppStorageColumnDef & primaryKey()
Definition: wsjcpp_storages.cpp:110
Definition: wsjcpp_storages.h:305
std::string m_sDefaultValue
Definition: wsjcpp_storages.h:59
std::string TAG
Definition: wsjcpp_storages.h:222
WsjcppStorageColumnDef & bigNumber()
Definition: wsjcpp_storages.cpp:87
Definition: wsjcpp_storages.h:167
WsjcppStorageColumnDef & autoIncrement()
Definition: wsjcpp_storages.cpp:28
Definition: wsjcpp_storages.h:87
Definition: wsjcpp_storages.h:373
FabricWsjcppStorage()
Definition: wsjcpp_storages.h:328
std::vector< WsjcppStorageColumnDef > m_vAddColumns
Definition: wsjcpp_storages.h:146
WsjcppStorageColumnDef & doubleNumber()
Definition: wsjcpp_storages.cpp:98
std::string TAG
Definition: wsjcpp_storages.h:122
bool m_bEnableUniqueIndex
Definition: wsjcpp_storages.h:67
std::string TAG
Definition: wsjcpp_storages.h:263
WsjcppStorageColumnDef & text()
Definition: wsjcpp_storages.cpp:54
bool m_bNotNull
Definition: wsjcpp_storages.h:63
std::string nameOfUniqueIndex()
Definition: wsjcpp_storages.cpp:200
static void add(const std::string &sType, IFabricWsjcppStorage *pStorage)
Definition: wsjcpp_storages.cpp:942
static std::string type()
Definition: wsjcpp_storages.h:275
std::string TAG
Definition: wsjcpp_storages.h:354