#include <ConnectionDBBase.h>
Public Types | |
enum | eLevel { LEVELProd = 1, LEVELDev = 2, LEVELTest = 4, LEVELSuperseded = 8 } |
Used to form bit masks for dbs queries. More... | |
enum | eLevel { LEVELProd = 1, LEVELDev = 2, LEVELTest = 4, LEVELSuperseded = 8 } |
Used to form bit masks for dbs queries. More... | |
enum | eRet { RETOk = 0, RETBadCnfFile = 1, RETBadHost = 2, RETNoConnect = 3, RETWrongState = 4, RETBadValue = 5, RETMySQLError = 6, RETNoSchemaMatch = 7 } |
enum | eRet { RETOk = 0, RETBadCnfFile = 1, RETBadHost = 2, RETNoConnect = 3, RETWrongState = 4, RETBadValue = 5, RETMySQLError = 6, RETNoSchemaMatch = 7 } |
Public Member Functions | |
ConnectionDBBase (const std::string &host, const std::string &dbName, const std::string &userName, const std::string &password) | |
ConnectionDBBase (const std::string &host, const std::string &table, const std::string &dbName) | |
Constructor keeps track of table of interest. | |
ConnectionDBBase (const std::string &host, const std::string &dbName, const std::string &userName, const std::string &password) | |
ConnectionDBBase (const std::string &host, const std::string &table, const std::string &dbName) | |
Constructor keeps track of table of interest. | |
bool | connectRead (eRet &err) |
bool | connectRead (eRet &err) |
void | disconnectRead () |
void | disconnectRead () |
void | disconnectWrite () |
void | disconnectWrite () |
rdbModel::Rdb * | getRdb () |
rdbModel::Rdb * | getRdb () |
rdbModel::Connection * | getReadConnection () |
rdbModel::Connection * | getReadConnection () |
const std::string & | getTable () |
const std::string & | getTable () |
~ConnectionDBBase () | |
~ConnectionDBBase () | |
Private Member Functions | |
bool | connectWrite (eRet &err) |
bool | connectWrite (eRet &err) |
Static Private Member Functions | |
bool | connect (rdbModel::Connection *conn, std::string &host, const std::string &user, const std::string &pw, eRet &err, const std::string &dbName) |
bool | connect (rdbModel::Connection *conn, std::string &host, const std::string &user, const std::string &pw, eRet &err, const std::string &dbName) |
Private Attributes | |
std::string | m_dbName |
rdbModel::Assertion * | m_findBest |
rdbModel::Assertion * | m_findBest |
rdbModel::Assertion * | m_findSoonest |
rdbModel::Assertion * | m_findSoonest |
std::string | m_host |
rdbModel::Manager * | m_man |
rdbModel::Manager * | m_man |
bool | m_match |
std::string | m_password |
rdbModel::Rdb * | m_rdb |
rdbModel::Rdb * | m_rdb |
rdbModel::Connection * | m_readCxt |
rdbModel::Connection * | m_readCxt |
std::string | m_table |
std::string | m_userName |
rdbModel::Connection * | m_writeCxt |
rdbModel::Connection * | m_writeCxt |
|
Used to form bit masks for dbs queries.
00026 { 00027 LEVELProd = 1, 00028 LEVELDev = 2, 00029 LEVELTest = 4, 00030 LEVELSuperseded = 8 00031 };
|
|
Used to form bit masks for dbs queries.
00026 { 00027 LEVELProd = 1, 00028 LEVELDev = 2, 00029 LEVELTest = 4, 00030 LEVELSuperseded = 8 00031 };
|
|
00015 { 00016 RETOk = 0, 00017 RETBadCnfFile = 1, 00018 RETBadHost = 2, 00019 RETNoConnect = 3, 00020 RETWrongState = 4, 00021 RETBadValue = 5, 00022 RETMySQLError = 6, 00023 RETNoSchemaMatch = 7 00024 };
|
|
00015 { 00016 RETOk = 0, 00017 RETBadCnfFile = 1, 00018 RETBadHost = 2, 00019 RETNoConnect = 3, 00020 RETWrongState = 4, 00021 RETBadValue = 5, 00022 RETMySQLError = 6, 00023 RETNoSchemaMatch = 7 00024 };
|
|
Constructor keeps track of table of interest.
00021 : m_readCxt(0), m_writeCxt(0), 00022 m_host(host), m_table(table), m_dbName(dbName), m_userName("maqm"), m_password("12345"), m_man(0), m_rdb(0), 00023 m_match(false) { 00024 // if (table.compare("*") == 0) m_table = std::string("$(MYSQL_METATABLE)"); 00025 // if (host.compare("*") == 0) m_host = std::string("$(MYSQL_HOST)"); 00026 00027 }
|
|
00029 : m_readCxt(0), m_writeCxt(0), 00030 m_host(host), m_dbName(dbName), m_userName(userName), m_password(password), 00031 m_man(0), m_rdb(0), m_match(false) { 00032 }
|
|
00034 { 00035 disconnectRead(); 00036 disconnectWrite(); 00037 if (m_man) delete m_man; 00038 }
|
|
Constructor keeps track of table of interest.
|
|
|
|
|
|
|
|
00046 { 00047 00048 00049 bool connected = cxt->open(host, user, pw, dbName); 00050 if (connected) { 00051 err = RETOk; 00052 return true; 00053 } 00054 else { 00055 err = RETNoConnect; 00056 return false; 00057 } 00058 }
|
|
|
|
00060 { 00061 if (m_readCxt == 0) { 00062 // for now use std::cout, std::cerr 00063 m_readCxt = new rdbModel::MysqlConnection(); 00064 bool ok = connect(m_readCxt, m_host, m_userName, 00065 m_password, err, m_dbName); 00066 if (!ok) { 00067 delete m_readCxt; 00068 m_readCxt = 0; 00069 } else { 00070 } 00071 return ok; 00072 } 00073 else return true; 00074 }
|
|
|
|
00076 { 00077 if (m_writeCxt == 0) { 00078 m_writeCxt = new rdbModel::MysqlConnection(); 00079 bool ok; 00080 00081 ok = connect(m_writeCxt, m_host, m_userName, 00082 m_password, err, m_dbName); 00083 00084 if (!ok) { 00085 delete m_readCxt; 00086 m_readCxt = 0; 00087 } else { 00088 00089 } 00090 00091 return ok; 00092 } 00093 else return true; 00094 }
|
|
|
|
00096 { 00097 if (m_readCxt) { 00098 m_readCxt->close(); 00099 delete m_readCxt; 00100 m_readCxt = 0; 00101 } 00102 }
|
|
|
|
00104 { 00105 if (m_writeCxt) { 00106 m_writeCxt->close(); 00107 delete m_writeCxt; 00108 m_writeCxt = 0; 00109 } 00110 }
|
|
00051 {return m_rdb;}
|
|
00051 {return m_rdb;}
|
|
00048 {return m_readCxt;}
|
|
00048 {return m_readCxt;}
|
|
00052 {return m_table;}
|
|
00052 {return m_table;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|