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; };
108 inline const _TCHAR*
uri()
const {
return m_db->
uri(); }
110 inline char_td
mode()
const {
return m_db->
mode(); }
114 inline short_td
stat()
const {
return m_db->
stat(); }
122 inline void releaseDatabaseDummy(database* p)
125 inline void releaseDbManagerDummy(idatabaseManager* p)
133 std::vector<database_ptr> m_dbs;
136 std::vector<table_ptr> m_tables;
137 int findTable(
const _TCHAR* name)
139 for (
int i = 0; i < (int)m_tables.size(); ++i)
140 if (_tcscmp(m_tables[i]->tableDef()->tableName(), name) == 0)
147 for (
int i = 0; i < (int)m_dbs.size(); ++i)
187 int index = findTable(name);
189 return m_tables[index];
192 m_tables.push_back(t);
202 int index = findDbIndex(param);
211 m_db = m_dbs[index].get();
214 m_db = m_dbs[0].get();
219 inline const _TCHAR*
uri()
const {
return m_db->
uri(); }
221 inline char_td
mode()
const {
return m_db->
mode(); }
231 for (
size_t i = 0; i < m_dbs.size(); ++i)
233 m_dbs[i]->beginTrn(bias);
234 if (m_dbs[i]->
stat())
244 for (
size_t i = 0; i < m_dbs.size(); ++i)
250 for (
size_t i = 0; i < m_dbs.size(); ++i)
260 inline short_td
stat()
const {
return m_db->
stat(); }
270 dbmanager_ptr p(
new databaseManager(), releaseDbManagerDummy);
292 #endif // BZS_DB_PROTOCOL_TDAP_CLIENT_DATABASEMANAGER_H
void abortTrn()
Definition: databaseManager.h:100
const _TCHAR * protocol(const _TCHAR *uri)
Definition: uri.h:42
void beginSnapshot(short bias=CONSISTENT_READ)
Definition: databaseManager.h:256
void endTrn()
Definition: databaseManager.h:98
int enableTrn()
Definition: databaseManager.h:102
databaseManager()
Definition: databaseManager.h:59
void beginTrn(short bias=SINGLELOCK_READ_COMMITED+NOWAIT_WRITE)
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:229
static void throwError(const _TCHAR *caption, short statusCode)
char_td mode() const
Definition: databaseManager.h:110
boost::shared_ptr< idatabaseManager > dbmanager_ptr
Definition: trdboostapi.h:1207
uchar_td * clientID() const
Definition: databaseManager.h:116
void use(const connectParams *param=NULL)
Definition: databaseManager.h:198
void endSnapshot()
Definition: databaseManager.h:106
void beginSnapshot(short bias=CONSISTENT_READ)
disbDbManager(database_ptr &db)
Definition: databaseManager.h:167
boost::shared_ptr< table > table_ptr
Definition: fields.h:219
const _TCHAR * uri() const
Definition: databaseManager.h:108
bool isOpened() const
Definition: databaseManager.h:223
T createDatabaseForConnectionPool(T &p)
boost::shared_ptr< database > database_ptr
Definition: fields.h:218
void unUse()
Definition: databaseManager.h:217
void endSnapshot()
Definition: databaseManager.h:258
short_td stat() const
Definition: databaseManager.h:114
void unUse()
Definition: databaseManager.h:90
const _TCHAR * uri() const
Definition: databaseManager.h:219
void endTrn()
Definition: databaseManager.h:242
void close(bool withDropDefaultSchema=false)
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:894
データベースとテーブルを管理するインタフェース
Definition: trdboostapi.h:152
int enableTrn()
Definition: databaseManager.h:254
database_ptr createDatabaseObject()
Definition: trdboostapi.h:801
void connectOpen(Database_Ptr db, const connectParams &connPrams, bool newConnection)
Definition: trdboostapi.h:877
short_td stat() const
Definition: databaseManager.h:260
bool isSameUri(const connectParams *param, const Database_Ptr &db)
Definition: trdboostapi.h:781
void reset(int)
Definition: databaseManager.h:69
void abortTrn()
Definition: databaseManager.h:248
uchar_td * clientID() const
Definition: databaseManager.h:262
__int64 option()
Definition: databaseManager.h:94
分散データベースマネージャ(シングルスレッドのみ)
Definition: databaseManager.h:131
disbDbManager()
Definition: databaseManager.h:154
void setOption(__int64)
Definition: databaseManager.h:92
データベースアクセスクラス
Definition: database.h:59
void setOption(__int64)
Definition: databaseManager.h:225
database_ptr & addDb(database_ptr &db)
Definition: databaseManager.h:178
void beginSnapshot(short bias=CONSISTENT_READ)
Definition: databaseManager.h:104
__int64 option()
Definition: databaseManager.h:227
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:221
標準データベースマネージャ
Definition: databaseManager.h:38
void reset(int)
Definition: databaseManager.h:169
disbDbManager(database *db)
Definition: databaseManager.h:160
table_ptr table(const _TCHAR *name)
Definition: databaseManager.h:185
データベースへの接続文字列生成ヘルパークラス
Definition: trdboostapi.h:70
bool isOpened() const
Definition: databaseManager.h:112
database * db() const
Definition: databaseManager.h:196
databaseManager(database *db)
Definition: databaseManager.h:67