1 #ifndef BZS_DB_PROTOCOL_TDAP_CLIENT_DATABASEMANAGER_H
2 #define BZS_DB_PROTOCOL_TDAP_CLIENT_DATABASEMANAGER_H
21 #include "trdboostapi.h"
42 std::vector<table_ptr> m_tables;
43 int findTable(
const _TCHAR* name)
45 for (
int i = 0; i < (int)m_tables.size(); ++i)
46 if (_tcscmp(m_tables[i]->tableDef()->tableName(), name) == 0)
51 void connect(
const connectParams& param,
bool newConnection =
false)
53 if (!newConnection && m_db && m_db->
isOpened())
73 int index = findTable(name);
75 return m_tables[index];
78 m_tables.push_back(t);
87 connect(*param,
false);
94 inline __int64
option() {
return 0; };
111 inline const _TCHAR*
uri()
const {
return m_db->
uri(); }
113 inline char_td
mode()
const {
return m_db->
mode(); }
117 inline short_td
stat()
const {
return m_db->
stat(); }
125 inline void releaseDatabaseDummy(database* p)
128 inline void releaseDbManagerDummy(idatabaseManager* p)
136 std::vector<database_ptr> m_dbs;
139 std::vector<table_ptr> m_tables;
140 int findTable(
const _TCHAR* name)
142 for (
int i = 0; i < (int)m_tables.size(); ++i)
143 if (_tcscmp(m_tables[i]->tableDef()->tableName(), name) == 0)
150 for (
int i = 0; i < (int)m_dbs.size(); ++i)
190 int index = findTable(name);
192 return m_tables[index];
195 m_tables.push_back(t);
205 int index = findDbIndex(param);
214 m_db = m_dbs[index].get();
217 m_db = m_dbs[0].get();
222 inline const _TCHAR*
uri()
const {
return m_db->
uri(); }
224 inline char_td
mode()
const {
return m_db->
mode(); }
234 for (
size_t i = 0; i < m_dbs.size(); ++i)
236 m_dbs[i]->beginTrn(bias);
237 if (m_dbs[i]->
stat())
247 for (
size_t i = 0; i < m_dbs.size(); ++i)
253 for (
size_t i = 0; i < m_dbs.size(); ++i)
266 inline short_td
stat()
const {
return m_db->
stat(); }
276 dbmanager_ptr p(
new databaseManager(), releaseDbManagerDummy);
298 #endif // BZS_DB_PROTOCOL_TDAP_CLIENT_DATABASEMANAGER_H
void abortTrn()
Definition: databaseManager.h:100
void endTrn()
Definition: databaseManager.h:98
int enableTrn()
Definition: databaseManager.h:102
databaseManager()
Definition: databaseManager.h:59
void use(const connectParams *param=NULL)
Definition: databaseManager.h:84
uchar_td * clientID() const
databaseManager(database_ptr db)
Definition: databaseManager.h:65
void beginTrn(short bias)
Definition: databaseManager.h:232
static void throwError(const _TCHAR *caption, short statusCode)
char_td mode() const
Definition: databaseManager.h:113
boost::shared_ptr< idatabaseManager > dbmanager_ptr
Definition: trdboostapi.h:1260
uchar_td * clientID() const
Definition: databaseManager.h:119
void use(const connectParams *param=NULL)
Definition: databaseManager.h:201
void endSnapshot()
Definition: databaseManager.h:109
disbDbManager(database_ptr &db)
Definition: databaseManager.h:170
void beginTrn(short bias=SINGLELOCK_NOGAP+NOWAIT_WRITE)
boost::shared_ptr< table > table_ptr
Definition: fields.h:251
void beginSnapshot(short bias=CONSISTENT_READ, binlogPos *bpos=NULL)
Definition: databaseManager.h:259
const _TCHAR * uri() const
Definition: databaseManager.h:111
bool isOpened() const
Definition: databaseManager.h:226
T createDatabaseForConnectionPool(T &p)
boost::shared_ptr< database > database_ptr
Definition: fields.h:250
void unUse()
Definition: databaseManager.h:220
void endSnapshot()
Definition: databaseManager.h:264
short_td stat() const
Definition: databaseManager.h:117
void unUse()
Definition: databaseManager.h:90
const _TCHAR * uri() const
Definition: databaseManager.h:222
void endTrn()
Definition: databaseManager.h:245
void beginSnapshot(short bias=CONSISTENT_READ, binlogPos *bpos=NULL)
void close(bool withDropDefaultSchema=false)
バイナリーログの情報
Definition: nsDatabase.h:62
table_ptr openTable(Database_Ptr db, const _TCHAR *name, short mode=TD_OPEN_NORMAL, bool autoCreate=true, const _TCHAR *ownerName=NULL, const _TCHAR *uri=NULL)
Definition: trdboostapi.h:920
データベースとテーブルを管理するインタフェース
Definition: trdboostapi.h:172
int enableTrn()
Definition: databaseManager.h:257
database_ptr createDatabaseObject()
Definition: trdboostapi.h:821
void connectOpen(Database_Ptr db, const connectParams &connPrams, bool newConnection)
Definition: trdboostapi.h:904
short_td stat() const
Definition: databaseManager.h:266
bool isSameUri(const connectParams *param, const Database_Ptr &db)
Definition: trdboostapi.h:801
void reset(int)
Definition: databaseManager.h:69
void abortTrn()
Definition: databaseManager.h:251
uchar_td * clientID() const
Definition: databaseManager.h:268
__int64 option()
Definition: databaseManager.h:94
分散データベースマネージャ(シングルスレッドのみ)
Definition: databaseManager.h:134
disbDbManager()
Definition: databaseManager.h:157
void setOption(__int64)
Definition: databaseManager.h:92
データベースアクセスクラス
Definition: database.h:59
void setOption(__int64)
Definition: databaseManager.h:228
database_ptr & addDb(database_ptr &db)
Definition: databaseManager.h:181
__int64 option()
Definition: databaseManager.h:230
database * db() const
Definition: databaseManager.h:82
table_ptr table(const _TCHAR *name)
Definition: databaseManager.h:71
void beginTrn(short bias)
Definition: databaseManager.h:96
char_td mode() const
Definition: databaseManager.h:224
標準データベースマネージャ
Definition: databaseManager.h:38
void reset(int)
Definition: databaseManager.h:172
disbDbManager(database *db)
Definition: databaseManager.h:163
void beginSnapshot(short bias=CONSISTENT_READ, binlogPos *bpos=NULL)
Definition: databaseManager.h:104
table_ptr table(const _TCHAR *name)
Definition: databaseManager.h:188
データベースへの接続文字列生成ヘルパークラス
Definition: trdboostapi.h:72
bool isOpened() const
Definition: databaseManager.h:115
database * db() const
Definition: databaseManager.h:199
databaseManager(database *db)
Definition: databaseManager.h:67