1 #ifndef BZS_DB_PROTOCOL_TDAP_CLIENT_TRDBOOSTAPI_H
2 #define BZS_DB_PROTOCOL_TDAP_CLIENT_TRDBOOSTAPI_H
21 #include "trdboostapiInternal.h"
22 #include <boost/shared_ptr.hpp>
23 #include <boost/noncopyable.hpp>
26 #include <bzs/db/protocol/tdap/uri.h>
29 #if (!defined(__clang__) && \
30 ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)))
31 #error "Your GCC version is too old. 4.3 or later versions are required."
72 _TCHAR m_buf[MAX_PATH];
80 : m_type(TYPE_SCHEMA_BDF), m_mode(TD_OPEN_READONLY)
82 _TCHAR dbf[MAX_PATH]={0x00};
83 if (schemaTable && schemaTable[0])
85 const _TCHAR* ext = _T(
".bdf");
86 if (_tcscmp(schemaTable, TRANSACTD_SCHEMANAME)==0)
88 _stprintf_s(dbf, MAX_PATH, _T(
"dbfile=%s%s"), schemaTable, ext);
91 _stprintf_s(m_buf, MAX_PATH, _T(
"%s://%s/%s?%s"), protocol,
92 hostOrIp, dbname, dbf);
96 _stprintf_s(m_buf, MAX_PATH, _T(
"%s://%s@%s/%s?%s&pwd=%s"),
101 : m_type(TYPE_SCHEMA_BDF), m_mode(TD_OPEN_READONLY)
103 _tcscpy_s(m_buf, MAX_PATH, uri);
104 size_t len = _tcslen(uri);
108 _tcscpy_s(tmp, 10, uri + len - 4);
114 if (_tcscmp(tmp, _T(
".DDF"))==0)
115 m_type = TYPE_SCHEMA_DDF;
118 inline void setMode(char_td v) { m_mode = v; }
124 if ((_tcslen(m_buf) > 3) && m_buf[_tcslen(m_buf) - 3] == _T(
'.'))
126 m_buf[_tcslen(m_buf) - 3] = 0x00;
127 if (v == TYPE_SCHEMA_BDF)
128 _tcscat_s(m_buf, MAX_PATH, _T(
"bdf"));
130 _tcscat_s(m_buf, MAX_PATH, _T(
"ddf"));
136 inline const _TCHAR*
uri(
bool noPasswd=
false)
const
141 inline char_td
mode()
const {
return m_mode; };
143 inline short type()
const {
return m_type; };
157 virtual void reset(
int) = 0;
161 virtual void unUse() = 0;
163 virtual __int64
option() = 0;
164 virtual void beginTrn(
short bias) = 0;
165 virtual void endTrn() = 0;
168 virtual void beginSnapshot(
short bias = CONSISTENT_READ) = 0;
170 virtual const _TCHAR*
uri()
const = 0;
171 virtual char_td
mode()
const = 0;
173 virtual short_td
stat()
const = 0;
174 virtual uchar_td*
clientID()
const = 0;
179 :
public std::iterator<std::bidirectional_iterator_tag, fields, void>
184 ushort_td m_lockBias;
187 inline tableIterator(
table&
tb, ushort_td lockBias = LOCK_BIAS_DEFAULT) : m_tb(tb), m_fds(tb),m_lockBias(lockBias)
189 readStatusCheck(tb, _T(
"tableIterator"));
202 T::increment(m_tb, m_lockBias);
208 T::decrement(m_tb, m_lockBias);
227 static const int filter_validate_value = 0;
228 static const int filter_validate_block = 1;
229 static const int filter_invalidate_value = 2;
233 #define VALIDATION_FUNC(FUNC_PTR, PTR) boost::bind(FUNC_PTR, PTR, fields_type)
237 :
public std::iterator<std::input_iterator_tag, fields, void>
241 inline int callFunc()
243 int v = m_func(*m_it);
244 if (v == filter_invalidate_value)
245 m_it.tb().setStat(STATUS_EOF);
253 if (v == filter_validate_block)
268 }
while (v == filter_validate_block);
274 return m_it.operator==(v.m_it);
279 return m_it.operator!=(v.m_it);
282 inline bool isEnd() {
return m_it.isEnd(); }
302 tb->seekFirst(lockBias);
305 tb->seekGreater(
true, lockBias);
308 tb->seekGreater(
false, lockBias);
312 readStatusCheck(*tb, _T(
"readIndex"));
326 tb->seekLast(lockBias);
329 tb->seekLessThan(
true, lockBias);
332 tb->seekLessThan(
false, lockBias);
336 readStatusCheck(*tb, _T(
"readIndexRv"));
343 T func, ushort_td lockBias = LOCK_BIAS_DEFAULT)
345 tb->setKeyNum(keynum);
356 char_td keynum, T func, ushort_td lockBias = LOCK_BIAS_DEFAULT)
358 tb->setKeyNum(keynum);
367 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
371 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4,
372 const T5 kv5,
const T6 kv6,
const T7 kv7)
374 keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
375 tb, keynum, kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
381 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
383 const char_td keynum,
const T0 kv0,
384 const T1 kv1,
const T2 kv2,
const T3 kv3,
385 const T4 kv4,
const T5 kv5,
const T6 kv6)
387 keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(tb, keynum, kv0, kv1, kv2,
392 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5>
394 const char_td keynum,
const T0 kv0,
395 const T1 kv1,
const T2 kv2,
const T3 kv3,
396 const T4 kv4,
const T5 kv5)
398 keyValueSetter<T0, T1, T2, T3, T4, T5>::set(tb, keynum, kv0, kv1, kv2, kv3,
403 template <
class T0,
class T1,
class T2,
class T3,
class T4>
406 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4)
408 keyValueSetter<T0, T1, T2, T3, T4>::set(tb, keynum, kv0, kv1, kv2, kv3,
413 template <
class T0,
class T1,
class T2,
class T3>
415 const char_td keynum,
const T0 kv0,
416 const T1 kv1,
const T2 kv2,
const T3 kv3)
418 keyValueSetter<T0, T1, T2, T3>::set(tb, keynum, kv0, kv1, kv2, kv3);
422 template <
class T0,
class T1,
class T2>
424 const char_td keynum,
const T0 kv0,
425 const T1 kv1,
const T2 kv2)
427 keyValueSetter<T0, T1, T2>::set(tb, keynum, kv0, kv1, kv2);
431 template <
class T0,
class T1>
433 const char_td keynum,
const T0 kv0,
436 keyValueSetter<T0, T1>::set(tb, keynum, kv0, kv1);
442 const char_td keynum,
const T0 kv0)
444 keyValueSetter<T0>::set(tb, keynum, kv0);
449 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
453 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4,
454 const T5 kv5,
const T6 kv6,
const T7 kv7)
456 keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
457 tb, keynum, kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
463 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
465 const char_td keynum,
const T0 kv0,
466 const T1 kv1,
const T2 kv2,
const T3 kv3,
467 const T4 kv4,
const T5 kv5,
const T6 kv6)
469 keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(tb, keynum, kv0, kv1, kv2,
474 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5>
476 const char_td keynum,
const T0 kv0,
477 const T1 kv1,
const T2 kv2,
const T3 kv3,
478 const T4 kv4,
const T5 kv5)
480 keyValueSetter<T0, T1, T2, T3, T4, T5>::set(tb, keynum, kv0, kv1, kv2, kv3,
485 template <
class T0,
class T1,
class T2,
class T3,
class T4>
488 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4)
490 keyValueSetter<T0, T1, T2, T3, T4>::set(tb, keynum, kv0, kv1, kv2, kv3,
495 template <
class T0,
class T1,
class T2,
class T3>
497 const char_td keynum,
const T0 kv0,
498 const T1 kv1,
const T2 kv2,
const T3 kv3)
500 keyValueSetter<T0, T1, T2, T3>::set(tb, keynum, kv0, kv1, kv2, kv3);
504 template <
class T0,
class T1,
class T2>
506 const char_td keynum,
const T0 kv0,
507 const T1 kv1,
const T2 kv2)
509 keyValueSetter<T0, T1, T2>::set(tb, keynum, kv0, kv1, kv2);
513 template <
class T0,
class T1>
515 const char_td keynum,
const T0 kv0,
518 keyValueSetter<T0, T1>::set(tb, keynum, kv0, kv1);
524 const char_td keynum,
const T0 kv0)
526 keyValueSetter<T0>::set(tb, keynum, kv0);
533 tb->stepFirst(lockBias);
539 tb->stepLast(lockBias);
545 bool serverPrepare =
false)
547 pq_handle stmt = tb->setQuery(&q, serverPrepare);
548 readStatusCheck(*tb, _T(
"setQuery"));
562 pq_handle stmt = tb->prepare(&q, serverPrepare);
563 readStatusCheck(*tb, _T(
"prepare"));
567 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
570 const T0 kv0,
const T1 kv1,
const T2 kv2,
const T3 kv3,
571 const T4 kv4,
const T5 kv5,
const T6 kv6,
const T7 kv7)
574 keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
575 tb, keynum, kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
583 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
585 const T0 kv0,
const T1 kv1,
const T2 kv2,
const T3 kv3,
586 const T4 kv4,
const T5 kv5,
const T6 kv6)
589 keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(tb, keynum, kv0, kv1, kv2,
595 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4,
class T5>
597 const T0 kv0,
const T1 kv1,
const T2 kv2,
const T3 kv3,
598 const T4 kv4,
const T5 kv5)
601 keyValueSetter<T0, T1, T2, T3, T4, T5>::set(tb, keynum, kv0, kv1, kv2, kv3,
607 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4>
609 const T0 kv0,
const T1 kv1,
const T2 kv2,
const T3 kv3,
613 keyValueSetter<T0, T1, T2, T3, T4>::set(tb, keynum, kv0, kv1, kv2, kv3,
619 template <
class Q,
class T0,
class T1,
class T2,
class T3>
621 const T0 kv0,
const T1 kv1,
const T2 kv2,
const T3 kv3)
624 keyValueSetter<T0, T1, T2, T3>::set(tb, keynum, kv0, kv1, kv2, kv3);
629 template <
class Q,
class T0,
class T1,
class T2>
631 const T0 kv0,
const T1 kv1,
const T2 kv2)
634 keyValueSetter<T0, T1, T2>::set(tb, keynum, kv0, kv1, kv2);
639 template <
class Q,
class T0,
class T1>
641 const T0 kv0,
const T1 kv1)
644 keyValueSetter<T0, T1>::set(tb, keynum, kv0, kv1);
649 template <
class Q,
class T0>
654 keyValueSetter<T0>::set(tb, keynum, kv0);
660 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
663 const Q& q,
const T0 kv0,
const T1 kv1,
664 const T2 kv2,
const T3 kv3,
const T4 kv4,
665 const T5 kv5,
const T6 kv6,
const T7 kv7)
668 keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
669 tb, keynum, kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
676 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
678 const Q& q,
const T0 kv0,
const T1 kv1,
679 const T2 kv2,
const T3 kv3,
const T4 kv4,
680 const T5 kv5,
const T6 kv6)
683 keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(tb, keynum, kv0, kv1, kv2,
689 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4,
class T5>
692 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4,
const T5 kv5)
695 keyValueSetter<T0, T1, T2, T3, T4, T5>::set(tb, keynum, kv0, kv1, kv2, kv3,
701 template <
class Q,
class T0,
class T1,
class T2,
class T3,
class T4>
703 const Q& q,
const T0 kv0,
const T1 kv1,
704 const T2 kv2,
const T3 kv3,
const T4 kv4)
707 keyValueSetter<T0, T1, T2, T3, T4>::set(tb, keynum, kv0, kv1, kv2, kv3,
713 template <
class Q,
class T0,
class T1,
class T2,
class T3>
715 const Q& q,
const T0 kv0,
const T1 kv1,
716 const T2 kv2,
const T3 kv3)
719 keyValueSetter<T0, T1, T2, T3>::set(tb, keynum, kv0, kv1, kv2, kv3);
724 template <
class Q,
class T0,
class T1,
class T2>
726 const Q& q,
const T0 kv0,
const T1 kv1,
730 keyValueSetter<T0, T1, T2>::set(tb, keynum, kv0, kv1, kv2);
735 template <
class Q,
class T0,
class T1>
737 const Q& q,
const T0 kv0,
const T1 kv1)
740 keyValueSetter<T0, T1>::set(tb, keynum, kv0, kv1);
745 template <
class Q,
class T0>
747 const Q& q,
const T0 kv0)
750 keyValueSetter<T0>::set(tb, keynum, kv0);
780 template <
class Database_Ptr>
783 return db && db->isOpened() && (_tcsicmp(param->
uri(), db->uri()) == 0) &&
784 (param->
mode() == db->mode());
796 if (nsdatabase::testTablePtr(p))
807 template <
class Database_Ptr>
810 db->disconnect(connPrams.
uri());
817 template <
class Database_Ptr>
inline void disconnect(Database_Ptr db)
824 template <
class Database_Ptr>
825 inline void throwDbError(Database_Ptr db,
const _TCHAR* caption,
const _TCHAR* uri)
832 template <
class Database_Ptr,
class ConnectParam_type>
833 inline void connect(Database_Ptr db,
const ConnectParam_type& connPrams,
836 db->connect(connPrams.uri(), newConnection);
838 throwDbError(db, _T(
"Connect database : "), connPrams.uri());
841 template <
class Database_Ptr>
844 db->create(connPrams.
uri());
849 template <
class Database_Ptr>
857 template <
class Database_Ptr,
class ConnectParam_type>
858 inline void openDatabase(Database_Ptr db,
const ConnectParam_type& connPrams)
860 db->open(connPrams.uri(), connPrams.type(), connPrams.mode());
862 throwDbError(db, _T(
"Open database : "), connPrams.uri());
865 template <
class Database_Ptr>
867 short schemaType = 0,
short mode = -2,
868 const _TCHAR* dir = NULL,
869 const _TCHAR* ownername = NULL)
871 db->open(uri, schemaType, mode, dir, ownername);
876 template <
class Database_Ptr>
881 connect(db, connPrams, newConnection);
885 template <
class Database_Ptr>
inline void dropDatabase(Database_Ptr db)
893 template <
class Database_Ptr>
895 short mode = TD_OPEN_NORMAL,
896 bool autoCreate =
true,
const _TCHAR* ownerName = NULL,
897 const _TCHAR* uri = NULL)
899 table_ptr p(db->openTable(name, mode, autoCreate, ownerName, uri),
907 template <
class Database_Ptr>
909 short mode = TD_OPEN_NORMAL,
910 bool autoCreate =
true,
const _TCHAR* ownerName = NULL,
911 const _TCHAR* uri = NULL)
913 table_ptr p(db->openTable(tableid, mode, autoCreate, ownerName, uri),
919 _stprintf_s(buf, 50, _T(
"Open table id = %d"), tableid);
925 template <
class Database_Ptr>
926 inline void dropTable(Database_Ptr db,
const _TCHAR* name)
934 template <
class Database_Ptr>
938 if (db->existsTableFile(tableid, NULL))
940 db->setOnCopyData(func);
941 db->convertTable(tableid,
false, NULL);
942 db->setOnCopyData(NULL);
946 db->dbDef()->popBackup(tableid);
953 template <
class Database_Ptr>
958 short tablenum = db->dbDef()->tableNumByName(name);
963 unsigned short charsetIndex)
971 if (def->
stat() != 0)
973 (std::_tstring(_T(
"Insert tabledef ")) + name).c_str(),
980 if (def->
stat() != 0)
989 if (def->
stat() != 0)
995 const _TCHAR* name, uchar_td type, ushort_td len)
998 if (def->
stat() != 0)
1000 (std::_tstring(_T(
"Insert fielddef ")) + name).c_str(),
1012 if (def->
stat() != 0)
1019 if (def->
stat() != 0)
1028 if (def->
stat() != 0)
1035 if (def->
stat() != 0)
1048 if (def->
stat() != 0)
1060 template <
class T>
inline table* getTable(T& it)
1065 template <>
inline table* getTable(
table_ptr& tb)
1070 template <>
inline table* getTable(table*& tb)
1079 table* tb = getTable(some);
1081 if (tb->
stat() != 0)
1096 table* tb = getTable(some);
1098 if (tb->
stat() != 0)
1104 table* tb = getTable(some);
1106 if (tb->
stat() != 0)
1112 table* tb = getTable(some);
1116 if (tb->
stat() != 0)
1120 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
1123 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4,
1124 const T5 kv5,
const T6 kv6,
const T7 kv7)
1126 keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
1127 tb, keynum, kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
1133 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
1135 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4,
1136 const T5 kv5,
const T6 kv6)
1138 keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(tb, keynum, kv0, kv1, kv2,
1139 kv3, kv4, kv5, kv6);
1144 template <
class T0,
class T1,
class T2,
class T3,
class T4,
class T5>
1146 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4,
1149 keyValueSetter<T0, T1, T2, T3, T4, T5>::set(tb, keynum, kv0, kv1, kv2, kv3,
1155 template <
class T0,
class T1,
class T2,
class T3,
class T4>
1157 const T1 kv1,
const T2 kv2,
const T3 kv3,
const T4 kv4)
1159 keyValueSetter<T0, T1, T2, T3, T4>::set(tb, keynum, kv0, kv1, kv2, kv3,
1165 template <
class T0,
class T1,
class T2,
class T3>
1167 const T1 kv1,
const T2 kv2,
const T3 kv3)
1169 keyValueSetter<T0, T1, T2, T3>::set(tb, keynum, kv0, kv1, kv2, kv3);
1174 template <
class T0,
class T1,
class T2>
1176 const T1 kv1,
const T2 kv2)
1178 keyValueSetter<T0, T1, T2>::set(tb, keynum, kv0, kv1, kv2);
1183 template <
class T0,
class T1>
1187 keyValueSetter<T0, T1>::set(tb, keynum, kv0, kv1);
1195 keyValueSetter<T0>::set(tb, keynum, kv0);
1201 template <
class T,
class F>
void for_each(T iterator, F func)
1203 std::for_each(iterator, iterator, func);
1229 : m_db(db), m_bias(bias){};
1232 if (m_db->enableTrn())
1235 inline void begin() { m_db->beginTrn(m_bias); }
1236 inline void end() { m_db->endTrn(); }
1237 inline void abort() { m_db->abortTrn(); }
1251 snapshot(DB db,
short bias = CONSISTENT_READ) : m_db(db) { m_db->beginSnapshot(bias); }
1269 m_tb->beginBulkInsert(bufsize);
1277 m_tb->beginBulkInsert(bufsize);
1289 #endif // BZS_DB_PROTOCOL_TDAP_CLIENT_TRDBOOSTAPI_H
~snapshot()
Definition: trdboostapi.h:1253
Definition: trdboostapi.h:53
const _TCHAR * protocol(const _TCHAR *uri)
Definition: uri.h:42
void renumberTable(short oldIndex, short newIndex)
autoBulkinsert(table_ptr tb, int bufsize=BULKBUFSIZE)
Definition: trdboostapi.h:1267
keydef * insertKey(dbdef *def, short tableid, short insertIndex)
Definition: trdboostapi.h:1016
ushort_td len
Definition: tdapSchema.h:232
virtual void use(const connectParams *param=NULL)=0
virtual void reset(int)=0
tableIterator & operator++()
Definition: trdboostapi.h:200
バルクインサート自動開始終了クラス
Definition: trdboostapi.h:1262
static database * create()
virtual void beginTrn(short bias)=0
void openDatabase(Database_Ptr db, const ConnectParam_type &connPrams)
Definition: trdboostapi.h:858
virtual uchar_td * clientID() const =0
eStepOpType
ステップオペレーションタイプ
Definition: trdboostapi.h:57
void del(bool in_key=false)
Definition: nsTable.h:174
pq_handle setQuery(const queryBase *query, bool serverPrepare=false)
void for_each(T iterator, F func)
Definition: trdboostapi.h:1201
~autoBulkinsert()
Definition: trdboostapi.h:1280
virtual char_td mode() const =0
テーブルイテレータクラステンプレート
Definition: trdboostapi.h:178
autoBulkinsert(T &tba, int bufsize=BULKBUFSIZE)
Definition: trdboostapi.h:1274
transaction(DB db, short bias=SINGLELOCK_READ_COMMITED+NOWAIT_WRITE)
Definition: trdboostapi.h:1227
virtual void setOption(__int64 v)=0
void deleteKey(short tableIndex, short deleteIndex)
void setMode(char_td v)
Definition: trdboostapi.h:118
void deleteRecord(T &some)
Definition: trdboostapi.h:1102
pq_handle prepare(table_ptr &tb, const queryBase &q, bool serverPrepare=false)
Definition: trdboostapi.h:560
トランザクション自動ロールバックオブジェクト
Definition: trdboostapi.h:1221
void begin()
Definition: trdboostapi.h:1235
fields operator*()
Definition: trdboostapi.h:257
pq_handle setQuery(table_ptr &tb, const queryBase &q, bool serverPrepare=false)
Definition: trdboostapi.h:544
void setTableName(const char *s)
virtual void beginSnapshot(short bias=CONSISTENT_READ)=0
static void throwError(const _TCHAR *caption, short statusCode)
bool operator!=(const tableIterator &v)
Definition: trdboostapi.h:214
filterdIterator(T &it, validationFunc func)
Definition: trdboostapi.h:250
virtual ~idatabaseManager()
Definition: trdboostapi.h:156
void dropDatabase(Database_Ptr db)
Definition: trdboostapi.h:885
void insertTable(dbdef *def, short id, const _TCHAR *name, unsigned short charsetIndex)
Definition: trdboostapi.h:962
virtual short_td stat() const =0
void setType(short v)
Definition: trdboostapi.h:120
クエリー(フィルター)作成の補助をするためのベースクラス
Definition: table.h:314
boost::shared_ptr< idatabaseManager > dbmanager_ptr
Definition: trdboostapi.h:1207
Definition: trdboostapi.h:52
tableIterator< indexNavi > indexIterator
Definition: trdboostapi.h:219
ushort_td id
Definition: tdapSchema.h:725
void updateTableDef(dbdef *def, short tableid)
Definition: trdboostapi.h:1045
fielddef * insertField(dbdef *def, short tableid, short fieldNum, const _TCHAR *name, uchar_td type, ushort_td len)
Definition: trdboostapi.h:994
const _TCHAR * passwd(const _TCHAR *uri, _TCHAR *buf, size_t size)
Definition: uri.h:169
スナップショット自動開始終了クラス
Definition: trdboostapi.h:1246
indexRvIterator readIndexRv(table_ptr tb, eIndexOpType op, ushort_td lockBias=LOCK_BIAS_DEFAULT)
Definition: trdboostapi.h:317
void findPrev(bool notIncCurrent=true)
virtual database * db() const =0
フィールド定義構造体
Definition: tdapSchema.h:300
stepRvIterator readStepRv(table_ptr tb, ushort_td lockBias=LOCK_BIAS_DEFAULT)
Definition: trdboostapi.h:537
virtual const _TCHAR * uri() const =0
void setName(const char *s)
tabledef * tableDefs(int index)
boost::shared_ptr< table > table_ptr
Definition: fields.h:219
virtual __int64 option()=0
フィールドコレクションクラス
Definition: fields.h:224
void throwDbError(Database_Ptr db, const _TCHAR *caption, const _TCHAR *uri)
Definition: trdboostapi.h:825
void setKeyNum(char_td v)
Definition: nsTable.h:166
tableIterator< indexRvNavi > indexRvIterator
Definition: trdboostapi.h:223
void abort()
Definition: trdboostapi.h:1237
findIterator find(table_ptr tb, const char_td keynum, const Q &q, const T0 kv0, const T1 kv1, const T2 kv2, const T3 kv3, const T4 kv4, const T5 kv5, const T6 kv6, const T7 kv7)
Definition: trdboostapi.h:569
~transaction()
Definition: trdboostapi.h:1230
findRvIterator findRv(table_ptr tb, const char_td keynum, const Q &q, const T0 kv0, const T1 kv1, const T2 kv2, const T3 kv3, const T4 kv4, const T5 kv5, const T6 kv6, const T7 kv7)
Definition: trdboostapi.h:662
filterdIterator< findIterator > filterdFindIterator
Definition: trdboostapi.h:287
void(__STDCALL * copyDataFn)(database *db, int recordCount, int count, bool &cancel)
Definition: database.h:55
void insertRecord(T &some, bool ncc=true)
Definition: trdboostapi.h:1077
Definition: trdboostapi.h:50
Definition: trdboostapi.h:67
short_td stat() const
Definition: dbDef.h:101
void setFileName(const char *s)
keydef * insertKey(short tableIndex, short insertIndex)
boost::function< int(const fields &)> validationFunc
Definition: trdboostapi.h:231
Definition: trdboostapi.h:65
transaction< dbmanager_ptr > dbmTransaction
Definition: trdboostapi.h:1244
T createDatabaseForConnectionPool(T &p)
snapshot< database_ptr > dbSnapshot
Definition: trdboostapi.h:1257
void deleteField(short tableIndex, short deleteIndex)
boost::shared_ptr< database > database_ptr
Definition: fields.h:218
eIndexOpType
インデックスオペレーションタイプ
Definition: trdboostapi.h:46
tableIterator< indexRvFindNavi > findRvIterator
Definition: trdboostapi.h:224
const _TCHAR * dbname(const _TCHAR *uri, _TCHAR *buf, size_t size)
Definition: uri.h:113
virtual int enableTrn()=0
filterdIterator< indexRvIterator > filterdIndexRvIterator
Definition: trdboostapi.h:289
Definition: trdboostapi.h:51
テーブルスキーマ管理クラス (nocopyable noncreatable)
Definition: dbDef.h:46
テーブルアクセスクラス (nocopyable)
Definition: table.h:89
T & operator++()
Definition: trdboostapi.h:261
bool operator==(const tableIterator &v)
Definition: trdboostapi.h:212
bool operator==(const filterdIterator &v)
Definition: trdboostapi.h:272
void createDatabase(Database_Ptr db, const connectParams &connPrams)
Definition: trdboostapi.h:842
void setLockBias(ushort_td v)
Definition: trdboostapi.h:194
void connect(Database_Ptr db, const ConnectParam_type &connPrams, bool newConnection)
Definition: trdboostapi.h:833
short_td stat() const
Definition: nsTable.h:163
indexIterator readIndex_v(table_ptr tb, eIndexOpType op, const char_td keynum, const T0 kv0, const T1 kv1, const T2 kv2, const T3 kv3, const T4 kv4, const T5 kv5, const T6 kv6, const T7 kv7)
Definition: trdboostapi.h:370
void deleteField(dbdef *def, short tableid, short fieldNum)
Definition: trdboostapi.h:1009
eFindCurrntType
Definition: trdboostapi.h:63
void releaseDatabase(database *db)
Definition: trdboostapi.h:787
findIterator getFindIterator(indexIterator it, const queryBase &q, bool isCurrentValid)
Definition: trdboostapi.h:757
virtual bool isOpened() const =0
fields * operator->()
Definition: trdboostapi.h:198
const _TCHAR * uri(bool noPasswd=false) const
Definition: trdboostapi.h:136
uchar_td type
Definition: tdapSchema.h:231
connectParams(const _TCHAR *uri)
Definition: trdboostapi.h:100
filterdIterator< stepIterator > filterdStepIterator
Definition: trdboostapi.h:286
snapshot(DB db, short bias=CONSISTENT_READ)
Definition: trdboostapi.h:1251
snapshot< idatabaseManager * > dbmSnapshot
Definition: trdboostapi.h:1260
キー定義構造体
Definition: tdapSchema.h:147
static void destroy(database *db)
void dropTable(Database_Ptr db, const _TCHAR *name)
Definition: trdboostapi.h:926
stepIterator readStep(table_ptr tb, ushort_td lockBias=LOCK_BIAS_DEFAULT)
Definition: trdboostapi.h:531
void deleteKey(dbdef *def, short tableid, short keynum)
Definition: trdboostapi.h:1025
fields & operator*()
Definition: trdboostapi.h:196
tableIterator< stepRvNavi > stepRvIterator
Definition: trdboostapi.h:225
const _TCHAR * stripPasswd(const _TCHAR *uri, _TCHAR *buf, size_t size)
Definition: uri.h:201
tableIterator< indexFindNavi > findIterator
Definition: trdboostapi.h:220
Definition: trdboostapi.h:48
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
short validateTableDef(short TableIndex)
データベースとテーブルを管理するインタフェース
Definition: trdboostapi.h:152
void updateRecord(fields &fd, const char_td keynum)
Definition: trdboostapi.h:1085
database_ptr createDatabaseObject()
Definition: trdboostapi.h:801
connectParams(const _TCHAR *protocol, const _TCHAR *hostOrIp, const _TCHAR *dbname, const _TCHAR *schemaTable, const _TCHAR *userName=NULL, const _TCHAR *passwd=NULL)
Definition: trdboostapi.h:77
void connectOpen(Database_Ptr db, const connectParams &connPrams, bool newConnection)
Definition: trdboostapi.h:877
virtual table_ptr table(const _TCHAR *name)=0
fields * operator->()
Definition: trdboostapi.h:259
tableIterator(table &tb, ushort_td lockBias=LOCK_BIAS_DEFAULT)
Definition: trdboostapi.h:187
bool isSameUri(const connectParams *param, const Database_Ptr &db)
Definition: trdboostapi.h:781
void disconnect(Database_Ptr db, const connectParams &connPrams)
Definition: trdboostapi.h:808
bool isEnd()
Definition: trdboostapi.h:216
void insertTable(tabledef *tableDef)
transaction< database_ptr > dbTransaction
Definition: trdboostapi.h:1241
short type() const
Definition: trdboostapi.h:143
bool operator!=(const filterdIterator &v)
Definition: trdboostapi.h:277
tableIterator & operator--()
Definition: trdboostapi.h:206
filterdIterator< findRvIterator > filterdFindRvIterator
Definition: trdboostapi.h:291
tableIterator< stepNavi > stepIterator
Definition: trdboostapi.h:221
void findNext(bool notIncCurrent=true)
filterdIterator< stepRvIterator > filterdStepRvIterator
Definition: trdboostapi.h:290
indexRvIterator readIndexRv_v(table_ptr tb, eIndexOpType op, const char_td keynum, const T0 kv0, const T1 kv1, const T2 kv2, const T3 kv3, const T4 kv4, const T5 kv5, const T6 kv6, const T7 kv7)
Definition: trdboostapi.h:452
const _TCHAR * schemaTable(const _TCHAR *uri, _TCHAR *buf, size_t size)
Definition: uri.h:133
filterdIterator< indexIterator > filterdIndexIterator
Definition: trdboostapi.h:285
Definition: trdboostapi.h:66
virtual void endSnapshot()=0
ushort_td insert(bool ncc=false)
Definition: nsTable.h:175
void renumberTable(dbdef *def, short id, short newid)
Definition: trdboostapi.h:986
void updateTableDef(short tableIndex, bool forPsqlDdf=true)
データベースアクセスクラス
Definition: database.h:59
void releaseTable(table *p)
Definition: trdboostapi.h:792
const char * tableName() const
void deleteTable(dbdef *def, short id)
Definition: trdboostapi.h:977
Definition: trdboostapi.h:60
void convertTable(Database_Ptr db, short tableid, copyDataFn func=NULL)
Definition: trdboostapi.h:935
eUpdateType
更新オペレーションの対象とカレント移動のタイプ
Definition: nsTable.h:50
void update(eUpdateType type=changeCurrentCc)
Definition: nsTable.h:173
const _TCHAR * c_str(const btrDate &d)
Definition: btrDate.h:207
Definition: trdboostapi.h:54
void deleteTable(short tableIndex)
char_td mode() const
Definition: trdboostapi.h:141
void validateTableDef(dbdef *def, short tableid)
Definition: trdboostapi.h:1032
uchar_td charsetIndex
Definition: tdapSchema.h:752
Definition: trdboostapi.h:49
テーブル定義構造体
Definition: tdapSchema.h:660
フィルタリングイテレータアダプターテンプレート
Definition: trdboostapi.h:236
table & tb() const
Definition: trdboostapi.h:192
const _TCHAR * userName(const _TCHAR *uri, _TCHAR *buf, size_t size)
Definition: uri.h:151
Definition: trdboostapi.h:59
table & tb() const
Definition: fields.h:251
データベースへの接続文字列生成ヘルパークラス
Definition: trdboostapi.h:70
virtual void abortTrn()=0
fielddef * insertField(short tableIndex, short insertIndex)
void end()
Definition: trdboostapi.h:1236
indexIterator readIndex(table_ptr tb, eIndexOpType op, ushort_td lockBias=LOCK_BIAS_DEFAULT)
Definition: trdboostapi.h:293
bool isEnd()
Definition: trdboostapi.h:282