2 #ifndef BZS_DB_PROTOCOL_TDAP_CLIENT_POOLEDDATABASEMANAGER_H
3 #define BZS_DB_PROTOCOL_TDAP_CLIENT_POOLEDDATABASEMANAGER_H
23 #include "trdboostapi.h"
24 #include "connectionPool.h"
38 std::vector<dbmanager_ptr> m_dbs;
45 for (
int i = (
int)m_dbs.size() - 1; i >= 0; --i)
47 int ref = m_dbs[i].use_count();
48 m_dbs.erase(m_dbs.begin() + i);
50 releaseConnection(&cpool);
54 void beginTrn(
short bias)
56 for (
size_t i = 0; i < m_dbs.size(); ++i)
58 m_dbs[i]->beginTrn(bias);
69 for (
size_t i = 0; i < m_dbs.size(); ++i)
75 for (
size_t i = 0; i < m_dbs.size(); ++i)
117 inline bool isUseXa()
const {
return m_use_xa;}
123 m_db = cpool.get(param);
135 inline void reset(
int v) { cpool.reset(v); }
141 inline const _TCHAR*
uri()
const {
return m_db->uri(); }
143 inline char_td
mode()
const {
return m_db->mode(); }
145 inline bool isOpened()
const {
return m_db->isOpened(); }
147 inline void setOption(__int64 v) { m_db->setOption(v); }
149 inline __int64
option() {
return m_db->option(); }
153 (m_use_xa ==
true) ? m_xa.beginTrn(bias) : m_db->beginTrn(bias);
158 (m_use_xa ==
true) ? m_xa.endTrn() : m_db->endTrn();
163 (m_use_xa ==
true) ? m_xa.abortTrn() : m_db->abortTrn();
168 inline void beginSnapshot(
short bias = CONSISTENT_READ) { m_db->beginSnapshot(bias); }
172 inline short_td
stat()
const {
return m_db->stat(); }
174 inline uchar_td*
clientID()
const {
return m_db->clientID(); }
178 cpool.setMaxConnections(maxWorkerNum);
185 cpool.reserve(size, param);
198 #endif // BZS_DB_PROTOCOL_TDAP_CLIENT_POOLEDDATABASEMANAGER_H
const _TCHAR * protocol(const _TCHAR *uri)
Definition: uri.h:42
char_td mode() const
Definition: pooledDatabaseManager.h:143
uchar_td * clientID() const
Definition: pooledDatabaseManager.h:174
static void throwError(const _TCHAR *caption, short statusCode)
boost::shared_ptr< idatabaseManager > dbmanager_ptr
Definition: trdboostapi.h:1207
void use(const connectParams *param=NULL)
Definition: pooledDatabaseManager.h:121
~pooledDbManager()
Definition: pooledDatabaseManager.h:111
void abortTrn()
Definition: pooledDatabaseManager.h:161
void beginTrn(short bias)
Definition: pooledDatabaseManager.h:151
void beginSnapshot(short bias=CONSISTENT_READ)
Definition: pooledDatabaseManager.h:168
database * db() const
Definition: pooledDatabaseManager.h:139
boost::shared_ptr< table > table_ptr
Definition: fields.h:219
void endSnapshot()
Definition: pooledDatabaseManager.h:170
int enableTrn()
Definition: pooledDatabaseManager.h:166
int usingCount() const
Definition: pooledDatabaseManager.h:188
void reset(int v)
Definition: pooledDatabaseManager.h:135
table_ptr table(const _TCHAR *name)
Definition: pooledDatabaseManager.h:137
void unUse()
Definition: pooledDatabaseManager.h:128
void endTrn()
Definition: pooledDatabaseManager.h:156
short_td stat() const
Definition: pooledDatabaseManager.h:172
static int maxConnections()
Definition: pooledDatabaseManager.h:181
__int64 option()
Definition: pooledDatabaseManager.h:149
データベースとテーブルを管理するインタフェース
Definition: trdboostapi.h:152
pooledDbManager()
Definition: pooledDatabaseManager.h:104
bool isUseXa() const
Definition: pooledDatabaseManager.h:117
void setUseXa(bool v)
Definition: pooledDatabaseManager.h:119
void setOption(__int64 v)
Definition: pooledDatabaseManager.h:147
データベースアクセスクラス
Definition: database.h:59
const _TCHAR * uri() const
Definition: pooledDatabaseManager.h:141
pooledDbManager(const connectParams *param)
Definition: pooledDatabaseManager.h:106
コネクションプールのデータベースマネージャ
Definition: pooledDatabaseManager.h:96
データベースへの接続文字列生成ヘルパークラス
Definition: trdboostapi.h:70
static void reserve(size_t size, const connectParams ¶m)
Definition: pooledDatabaseManager.h:183
static void setMaxConnections(int maxWorkerNum)
Definition: pooledDatabaseManager.h:176
bool isOpened() const
Definition: pooledDatabaseManager.h:145