transactd 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/BUILD_UNIX-JA +6 -6
  3. data/README +16 -16
  4. data/README-JA +16 -16
  5. data/bin/common/tdclc_32_2_1.dll +0 -0
  6. data/bin/common/tdclc_64_2_1.dll +0 -0
  7. data/build/common/transactd_cl_common.cmake +0 -1
  8. data/build/common/transactd_common.cmake +28 -38
  9. data/build/swig/ruby/ruby.swg +36 -30
  10. data/build/swig/ruby/tdclrb_wrap.cpp +35016 -0
  11. data/build/swig/tdcl.i +217 -62
  12. data/build/tdclc/CMakeLists.txt +14 -26
  13. data/build/tdclc/libtdclcm.map +4 -0
  14. data/build/tdclc/tdclc.cbproj +1 -1
  15. data/build/tdclc/tdclc.rc +0 -0
  16. data/build/tdclcpp/CMakeLists.txt +7 -22
  17. data/build/tdclcpp/tdclcpp.rc +0 -0
  18. data/build/tdclcpp/tdclcpp_bc.cbproj +1 -1
  19. data/build/tdclrb/CMakeLists.txt +7 -49
  20. data/build/tdclrb/tdclrb.rc +62 -0
  21. data/source/bzs/db/blobBuffer.h +5 -0
  22. data/source/bzs/db/blobStructs.h +2 -0
  23. data/source/bzs/db/engine/mysql/IReadRecords.h +9 -0
  24. data/source/bzs/db/engine/mysql/database.cpp +391 -169
  25. data/source/bzs/db/engine/mysql/database.h +178 -40
  26. data/source/bzs/db/engine/mysql/dbManager.cpp +45 -3
  27. data/source/bzs/db/engine/mysql/dbManager.h +3 -39
  28. data/source/bzs/db/engine/mysql/errorMessage.cpp +11 -7
  29. data/source/bzs/db/engine/mysql/errorMessage.h +1 -1
  30. data/source/bzs/db/engine/mysql/mydebuglog.cpp +1 -2
  31. data/source/bzs/db/engine/mysql/mysqlInternal.h +8 -8
  32. data/source/bzs/db/engine/mysql/mysqlThd.cpp +11 -0
  33. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +1 -1
  34. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +41 -6
  35. data/source/bzs/db/protocol/tdap/client/activeTable.h +177 -8
  36. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +141 -62
  37. data/source/bzs/db/protocol/tdap/client/client.cpp +39 -35
  38. data/source/bzs/db/protocol/tdap/client/client.h +52 -25
  39. data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +17 -0
  40. data/source/bzs/db/protocol/tdap/client/connectionPool.h +1 -0
  41. data/source/bzs/db/protocol/tdap/client/database.cpp +5 -1
  42. data/source/bzs/db/protocol/tdap/client/database.h +1 -1
  43. data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +49 -12
  44. data/source/bzs/db/protocol/tdap/client/databaseManager.h +42 -5
  45. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +4 -2
  46. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +71 -41
  47. data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +49 -49
  48. data/source/bzs/db/protocol/tdap/client/field.cpp +22 -13
  49. data/source/bzs/db/protocol/tdap/client/field.h +7 -3
  50. data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +1 -1
  51. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +0 -1
  52. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +1 -0
  53. data/source/bzs/db/protocol/tdap/client/fields.h +111 -24
  54. data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +1 -1
  55. data/source/bzs/db/protocol/tdap/client/filter.h +687 -310
  56. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +12 -4
  57. data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +1 -1
  58. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +190 -32
  59. data/source/bzs/db/protocol/tdap/client/memRecord.h +64 -22
  60. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +4 -4
  61. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -2
  62. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +6 -3
  63. data/source/bzs/db/protocol/tdap/client/nsTable.h +1 -1
  64. data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +19 -8
  65. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +194 -87
  66. data/source/bzs/db/protocol/tdap/client/request.h +84 -26
  67. data/source/bzs/db/protocol/tdap/client/stringConverter.h +22 -12
  68. data/source/bzs/db/protocol/tdap/client/table.cpp +494 -286
  69. data/source/bzs/db/protocol/tdap/client/table.h +48 -5
  70. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +133 -87
  71. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +22 -22
  72. data/source/bzs/db/protocol/tdap/client/trdormapi.h +43 -18
  73. data/source/bzs/db/protocol/tdap/client/trnsctcl.def +3 -3
  74. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +1 -0
  75. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +268 -74
  76. data/source/bzs/db/protocol/tdap/mysql/request.h +4 -4
  77. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +179 -43
  78. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +4 -4
  79. data/source/bzs/db/protocol/tdap/tdapRequest.h +15 -14
  80. data/source/bzs/db/protocol/tdap/tdapSchema.h +125 -90
  81. data/source/bzs/db/protocol/tdap/tdapcapi.h +46 -5
  82. data/source/bzs/db/transactd/appModule.h +1 -1
  83. data/source/bzs/db/transactd/connManager.cpp +2 -0
  84. data/source/bzs/db/transactd/transactd.cpp +1 -0
  85. data/source/bzs/env/compiler.h +10 -0
  86. data/source/bzs/env/mbcswchrLinux.cpp +42 -6
  87. data/source/bzs/env/mbcswchrLinux.h +40 -12
  88. data/source/bzs/example/queryData.cpp +33 -4
  89. data/source/bzs/netsvc/client/iconnection.h +107 -0
  90. data/source/bzs/netsvc/client/tcpClient.cpp +15 -1
  91. data/source/bzs/netsvc/client/tcpClient.h +96 -87
  92. data/source/bzs/netsvc/server/serverCpt.cpp +5 -6
  93. data/source/bzs/rtl/benchmark.cpp +2 -2
  94. data/source/bzs/rtl/stringBuffers.cpp +3 -3
  95. data/source/bzs/rtl/stringBuffers.h +2 -2
  96. data/source/bzs/test/tdclatl/bench_query_atl.js +92 -99
  97. data/source/bzs/test/tdclatl/test_query_atl.js +224 -115
  98. data/source/bzs/test/tdclphp/bench.php +126 -101
  99. data/source/bzs/test/tdclphp/transactd_Test.php +1122 -158
  100. data/source/bzs/test/tdclrb/bench_tdclcpp.rb +12 -14
  101. data/source/bzs/test/tdclrb/transactd_spec.rb +1127 -142
  102. data/source/bzs/test/transactdBench/query_bench.cpp +32 -15
  103. data/source/bzs/test/transactdBench/scaling_bench.cpp +32 -7
  104. data/source/bzs/test/transactdBench/transactdBench.cpp +1 -1
  105. data/source/bzs/test/transactdBench/workerBase.h +46 -0
  106. data/source/bzs/test/transactdBench/workerMySQLImple.h +15 -7
  107. data/source/bzs/test/transactdBench/workerTransactdImple.h +10 -18
  108. data/source/bzs/test/trdclengn/test_trdclengn.cpp +1487 -174
  109. data/source/global/ormsrcgen/main.cpp +2 -0
  110. data/source/global/tdclatl/Database.cpp +2 -2
  111. data/source/global/tdclatl/Database.h +1 -1
  112. data/source/global/tdclatl/FieldDefs.cpp +0 -3
  113. data/source/global/tdclatl/PooledDbManager.cpp +2 -2
  114. data/source/global/tdclatl/PooledDbManager.h +1 -1
  115. data/source/global/tdclatl/PreparedQuery.cpp +53 -0
  116. data/source/global/tdclatl/PreparedQuery.h +61 -0
  117. data/source/global/tdclatl/QueryBase.cpp +2 -1
  118. data/source/global/tdclatl/QueryBase.h +1 -1
  119. data/source/global/tdclatl/Record.cpp +3 -15
  120. data/source/global/tdclatl/Recordset.cpp +15 -10
  121. data/source/global/tdclatl/Recordset.h +3 -0
  122. data/source/global/tdclatl/Table.cpp +42 -7
  123. data/source/global/tdclatl/Table.h +3 -1
  124. data/source/global/tdclatl/activeTable.cpp +264 -76
  125. data/source/global/tdclatl/activeTable.h +12 -3
  126. data/source/global/tdclatl/tdclatl.idl +92 -10
  127. data/source/linux/charsetConvert.h +7 -7
  128. data/transactd.gemspec +14 -27
  129. metadata +18 -27
  130. data/bin/common/tdclc_32_2_0.dll +0 -0
  131. data/bin/common/tdclc_64_2_0.dll +0 -0
  132. data/build/swig/php/generate.cmake.in +0 -56
  133. data/build/swig/php/generate.cmd.in +0 -47
  134. data/build/swig/php/php.swg +0 -197
  135. data/build/swig/php/transactd.no_yield.php +0 -4494
  136. data/build/swig/php/transactd.no_yield.php.git.patch +0 -685
  137. data/build/swig/php/transactd.no_yield.php.patch +0 -685
  138. data/build/swig/php/transactd.yield.php +0 -4461
  139. data/build/swig/php/transactd.yield.php.git.patch +0 -652
  140. data/build/swig/php/transactd.yield.php.patch +0 -652
  141. data/build/swig/ruby/generate.cmake.in +0 -35
  142. data/build/swig/ruby/generate.cmd.in +0 -19
  143. data/build/tdclc/BUILDNUMBER.txt +0 -1
  144. data/build/tdclcpp/BUILDNUMBER.txt +0 -1
  145. data/build/tdclrb/BUILDNUMBER.txt +0 -1
  146. data/build/tdclrb/GEM_RELEASE_VERSION +0 -1
data/build/swig/tdcl.i CHANGED
@@ -34,8 +34,8 @@
34
34
 
35
35
  // Suppress warnings
36
36
  #pragma SWIG nowarn=SWIGWARN_PARSE_USING_UNDEF
37
+ #pragma SWIG nowarn=SWIGWARN_PARSE_UNNAMED_NESTED_CLASS
37
38
  %warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) btrstoa;
38
- %warnfilter(SWIGWARN_PARSE_UNNAMED_NESTED_CLASS) nstable;
39
39
 
40
40
 
41
41
  /* ===============================================
@@ -65,15 +65,13 @@ validatablePointerList g_vPtrList;
65
65
  #include <bzs/db/blobStructs.h>
66
66
  #include <bzs/db/protocol/tdap/mysql/characterset.h>
67
67
  #include <bzs/db/transactd/connectionRecord.h>
68
- %}
69
- #ifndef SWIGWIN
70
- %{
68
+
69
+ #ifdef LINUX
71
70
  #include <linux/linuxTypes.h>
72
71
  #include <linux/charsetConvert.h>
73
72
  #include <bzs/env/mbcswchrLinux.h>
74
- %}
75
73
  #endif
76
- %{
74
+
77
75
  #include <bzs/env/tstring.h>
78
76
  #include <bzs/rtl/benchmark.h>
79
77
  #include <bzs/rtl/datetime.h>
@@ -131,9 +129,14 @@ using namespace bzs::db::protocol::tdap::client;
131
129
  %newobject *::create;
132
130
  %newobject *::createObject;
133
131
  %newobject *::openTable;
132
+ %newobject *::prepare;
133
+ %newobject *::setQuery;
134
134
  %delobject *::release;
135
135
 
136
136
  // * bzs/env/mbcswchrLinux.h *
137
+ %ignore bzs::env::initCvtProcess;
138
+ %ignore bzs::env::deinitCvtProcess;
139
+ %ignore bzs::env::getCvt;
137
140
  %ignore bzs::env::u8mbcvt;
138
141
  %ignore bzs::env::mbu8cvt;
139
142
  %ignore bzs::env::mbcscvt;
@@ -148,7 +151,9 @@ using namespace bzs::db::protocol::tdap::client;
148
151
  // * bzs/db/protocol/tdap/client/activeTable.h *
149
152
  %ignore bzs::db::protocol::tdap::client::activeTable::create;
150
153
  %ignore bzs::db::protocol::tdap::client::activeTable::releaseTable;
151
- // activeTable::read returns new object
154
+ %ignore bzs::db::protocol::tdap::client::preparedQuery::getFilter;
155
+ // activeTable::read and activeTable::prepare returns new object
156
+ %newobject bzs::db::protocol::tdap::client::activeTable::prepare;
152
157
  %newobject bzs::db::protocol::tdap::client::activeTable::read;
153
158
  %extend bzs::db::protocol::tdap::client::activeTable {
154
159
  recordset* read(queryBase& q) {
@@ -156,7 +161,100 @@ using namespace bzs::db::protocol::tdap::client;
156
161
  self->read(*rs, q);
157
162
  return rs;
158
163
  }
164
+
165
+ //read(preparedQuery* q) It can give place holder values(0-8)
166
+ recordset* read(preparedQuery* q, int v) {
167
+ recordset* rs = recordset::create();
168
+ self->read(*rs, q->getFilter(), v);
169
+ return rs;
170
+ }
171
+ preparedQuery* prepare(queryBase& q, bool serverPrepare=false) {
172
+ preparedQuery* p = new preparedQuery(self->prepare(q, serverPrepare));
173
+ return p;
174
+ }
175
+ // join and outerJoin with preparedQuery.
176
+ #if defined(SWIGPHP)
177
+ // For PHP fixed number of paramatars.
178
+ activeTable& join(recordset& rs, preparedQuery* q, const _TCHAR* name1,
179
+ const _TCHAR* name2, const _TCHAR* name3,
180
+ const _TCHAR* name4, const _TCHAR* name5,
181
+ const _TCHAR* name6, const _TCHAR* name7,
182
+ const _TCHAR* name8) {
183
+ self->join(rs, q->getFilter(), name1, name2, name3, name4, name5, name6,
184
+ name7, name8);
185
+ return *self;
186
+ }
187
+ activeTable& outerJoin(recordset& rs, preparedQuery* q, const _TCHAR* name1,
188
+ const _TCHAR* name2, const _TCHAR* name3,
189
+ const _TCHAR* name4, const _TCHAR* name5,
190
+ const _TCHAR* name6, const _TCHAR* name7,
191
+ const _TCHAR* name8) {
192
+ self->outerJoin(rs, q->getFilter(), name1, name2, name3, name4, name5, name6,
193
+ name7, name8);
194
+ return *self;
195
+ }
196
+ activeTable& join(recordset& rs, queryBase& q, const _TCHAR* name1,
197
+ const _TCHAR* name2, const _TCHAR* name3,
198
+ const _TCHAR* name4, const _TCHAR* name5,
199
+ const _TCHAR* name6, const _TCHAR* name7,
200
+ const _TCHAR* name8) {
201
+ self->join(rs, q, name1, name2, name3, name4, name5, name6,
202
+ name7, name8);
203
+ return *self;
204
+ }
205
+ activeTable& outerJoin(recordset& rs, queryBase& q, const _TCHAR* name1,
206
+ const _TCHAR* name2, const _TCHAR* name3,
207
+ const _TCHAR* name4, const _TCHAR* name5,
208
+ const _TCHAR* name6, const _TCHAR* name7,
209
+ const _TCHAR* name8) {
210
+ self->outerJoin(rs, q, name1, name2, name3, name4, name5, name6,
211
+ name7, name8);
212
+ return *self;
213
+ }
214
+ #else
215
+ activeTable& join(recordset& rs, preparedQuery* q, const _TCHAR* name1,
216
+ const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
217
+ const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
218
+ const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
219
+ const _TCHAR* name8 = NULL) {
220
+ self->join(rs, q->getFilter(), name1, name2, name3, name4, name5, name6,
221
+ name7, name8);
222
+ return *self;
223
+ }
224
+ activeTable& outerJoin(recordset& rs, preparedQuery* q, const _TCHAR* name1,
225
+ const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
226
+ const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
227
+ const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
228
+ const _TCHAR* name8 = NULL) {
229
+ self->outerJoin(rs, q->getFilter(), name1, name2, name3, name4, name5, name6,
230
+ name7, name8);
231
+ return *self;
232
+ }
233
+ activeTable& join(recordset& rs, queryBase& q, const _TCHAR* name1,
234
+ const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
235
+ const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
236
+ const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
237
+ const _TCHAR* name8 = NULL) {
238
+ self->join(rs, q, name1, name2, name3, name4, name5, name6,
239
+ name7, name8);
240
+ return *self;
241
+ }
242
+ activeTable& outerJoin(recordset& rs, queryBase& q, const _TCHAR* name1,
243
+ const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
244
+ const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
245
+ const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
246
+ const _TCHAR* name8 = NULL) {
247
+ self->outerJoin(rs, q, name1, name2, name3, name4, name5, name6,
248
+ name7, name8);
249
+ return *self;
250
+ }
251
+ #endif
159
252
  };
253
+ // ignore original methods
254
+ %ignore bzs::db::protocol::tdap::client::activeTable::read;
255
+ %ignore bzs::db::protocol::tdap::client::activeTable::prepare;
256
+ %ignore bzs::db::protocol::tdap::client::activeTable::join;
257
+ %ignore bzs::db::protocol::tdap::client::activeTable::outerJoin;
160
258
  // create and release methods for activeTable class
161
259
  %extend bzs::db::protocol::tdap::client::activeTable {
162
260
  activeTable(idatabaseManager* mgr, const _TCHAR* tableName) {
@@ -182,11 +280,14 @@ using namespace bzs::db::protocol::tdap::client;
182
280
  void release() {
183
281
  self->releaseTable();
184
282
  }
283
+ table* table() {
284
+ return self->table().get();
285
+ }
185
286
  };
186
287
  // ignore original methods
187
288
  %ignore bzs::db::protocol::tdap::client::activeTable::activeTable;
188
289
  %ignore bzs::db::protocol::tdap::client::activeTable::~activeTable;
189
-
290
+ %ignore bzs::db::protocol::tdap::client::activeTable::table;
190
291
 
191
292
  // * bzs/db/protocol/tdap/btrDate.h *
192
293
  %ignore bzs::db::protocol::tdap::bdate;
@@ -256,6 +357,7 @@ using namespace bzs::db::protocol::tdap::client;
256
357
  %ignore bzs::db::protocol::tdap::client::dbdef::getFileSpec;
257
358
  %ignore bzs::db::protocol::tdap::client::dbdef::popBackup;
258
359
  %ignore bzs::db::protocol::tdap::client::dbdef::pushBackup;
360
+ %ignore bzs::db::protocol::tdap::client::dbdef::relateData;
259
361
  %ignore bzs::db::protocol::tdap::client::dbdef::setStat;
260
362
 
261
363
  // * bzs/db/protocol/tdap/client/field.h *
@@ -269,10 +371,10 @@ using namespace bzs::db::protocol::tdap::client;
269
371
  %ignore bzs::db::protocol::tdap::client::field::operator=(const std::_tstring&);
270
372
  %ignore bzs::db::protocol::tdap::client::field::initialize;
271
373
  %ignore bzs::db::protocol::tdap::client::field::isCompPartAndMakeValue;
374
+ %ignore bzs::db::protocol::tdap::client::field::offsetBlobPtr;
272
375
  %ignore bzs::db::protocol::tdap::client::field::ptr;
273
- %ignore bzs::db::protocol::tdap::client::fielddefs::operator[] (const std::_tstring&) const;
274
376
  %ignore bzs::db::protocol::tdap::client::fielddefs::create;
275
- %rename(getFielddef) bzs::db::protocol::tdap::client::fielddefs::operator[] (int index) const;
377
+ %ignore bzs::db::protocol::tdap::client::getFieldType;
276
378
  // create and release methods for fielddefs class
277
379
  %extend bzs::db::protocol::tdap::client::fielddefs {
278
380
  fielddefs() {
@@ -287,9 +389,12 @@ using namespace bzs::db::protocol::tdap::client;
287
389
  %ignore bzs::db::protocol::tdap::client::fielddefs::~fielddefs;
288
390
 
289
391
  // * bzs/db/protocol/tdap/client/fields.h *
392
+ %ignore bzs::db::protocol::tdap::client::MEM_ALLOC_TYPE_NONE;
393
+ %ignore bzs::db::protocol::tdap::client::MEM_ALLOC_TYPE_ONE;
394
+ %ignore bzs::db::protocol::tdap::client::MEM_ALLOC_TYPE_ARRAY;
290
395
  %ignore bzs::db::protocol::tdap::client::fields;
291
- %ignore bzs::db::protocol::tdap::client::fieldsBase::operator[](const std::_tstring&) const;
292
396
  %ignore bzs::db::protocol::tdap::client::fieldsBase::fd;
397
+ %ignore bzs::db::protocol::tdap::client::fieldsBase::getFieldNoCheck;
293
398
  %ignore bzs::db::protocol::tdap::client::fieldsBase::setInvalidRecord;
294
399
  // add methods
295
400
  %extend bzs::db::protocol::tdap::client::fieldsBase {
@@ -308,12 +413,14 @@ using namespace bzs::db::protocol::tdap::client;
308
413
  %ignore bzs::db::protocol::tdap::client::fieldNames::operator=;
309
414
  %ignore bzs::db::protocol::tdap::client::fieldNames::create;
310
415
  %ignore bzs::db::protocol::tdap::client::groupFuncBase::operator=;
416
+ %ignore bzs::db::protocol::tdap::client::groupFuncBase::operator();
311
417
  %ignore bzs::db::protocol::tdap::client::groupQuery::operator=;
312
418
  %ignore bzs::db::protocol::tdap::client::groupQuery::create;
313
419
  %ignore bzs::db::protocol::tdap::client::max::create;
314
420
  %ignore bzs::db::protocol::tdap::client::min::create;
315
421
  %ignore bzs::db::protocol::tdap::client::recordsetQuery::operator=;
316
422
  %ignore bzs::db::protocol::tdap::client::recordsetQuery::create;
423
+ %ignore bzs::db::protocol::tdap::client::recordsetQuery::internalQuery;
317
424
  %ignore bzs::db::protocol::tdap::client::sortField;
318
425
  %ignore bzs::db::protocol::tdap::client::sortFields;
319
426
  %ignore bzs::db::protocol::tdap::client::sortFields::operator[];
@@ -418,6 +525,7 @@ using namespace bzs::db::protocol::tdap::client;
418
525
  // * bzs/db/protocol/tdap/client/memRecord.h *
419
526
  %ignore bzs::db::protocol::tdap::client::autoMemory;
420
527
  %ignore bzs::db::protocol::tdap::client::autoMemory::operator=;
528
+ %ignore bzs::db::protocol::tdap::client::JOINLIMIT_PER_RECORD;
421
529
  %ignore bzs::db::protocol::tdap::client::memoryRecord::clear;
422
530
  %ignore bzs::db::protocol::tdap::client::memoryRecord::create;
423
531
  %ignore bzs::db::protocol::tdap::client::memoryRecord::setRecordData;
@@ -428,7 +536,7 @@ using namespace bzs::db::protocol::tdap::client;
428
536
  return bzs::db::protocol::tdap::client::memoryRecord::create(fds);
429
537
  }
430
538
  ~memoryRecord() {
431
- bzs::db::protocol::tdap::client::memoryRecord::release(self);
539
+ self->release();
432
540
  }
433
541
  };
434
542
  // ignore original methods
@@ -443,18 +551,34 @@ using namespace bzs::db::protocol::tdap::client;
443
551
  %ignore bzs::db::protocol::tdap::client::nsdatabase::getDllUnloadCallbackFunc;
444
552
  %ignore bzs::db::protocol::tdap::client::nsdatabase::isTestPtrIgnore;
445
553
  %ignore bzs::db::protocol::tdap::client::nsdatabase::localSharing;
554
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::maxtables;
446
555
  %ignore bzs::db::protocol::tdap::client::nsdatabase::setTestPtrIgnore;
447
556
  %ignore bzs::db::protocol::tdap::client::nsdatabase::testTablePtr;
557
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::setTrnsctdEntryPoint;
558
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::getTrnsctdEntryPoint;
559
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::getBtrvEntryPoint;
560
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::setBtrvEntryPoint;
448
561
 
449
562
  // * bzs/db/protocol/tdap/client/nsTable.h *
563
+ %ignore bzs::db::protocol::tdap::client::nstable::buflen;
450
564
  %ignore bzs::db::protocol::tdap::client::nstable::data;
451
565
  %ignore bzs::db::protocol::tdap::client::nstable::setBuflen;
452
566
  %ignore bzs::db::protocol::tdap::client::nstable::setData;
453
567
  %ignore bzs::db::protocol::tdap::client::nstable::setStat;
568
+ %ignore bzs::db::protocol::tdap::client::nstable::tdap;
454
569
  %ignore bzs::db::protocol::tdap::client::nstable::test;
455
570
  %ignore bzs::db::protocol::tdap::client::nstable::throwError;
456
571
  %rename(tdapLastErr) bzs::db::protocol::tdap::client::nstable::tdapErr(HWND, _TCHAR*);
457
572
 
573
+ // * bzs/db/protocol/tdap/client/pooledDatabaseManager.h *
574
+ %ignore bzs::db::protocol::tdap::client::xaTransaction;
575
+ %extend bzs::db::protocol::tdap::client::pooledDbManager {
576
+ table* table(const _TCHAR* name) {
577
+ return self->table(name).get();
578
+ }
579
+ }
580
+ %ignore bzs::db::protocol::tdap::client::pooledDbManager::table;
581
+
458
582
  // * bzs/db/protocol/tdap/client/recordset.h *
459
583
  %ignore bzs::db::protocol::tdap::client::recordset::operator=;
460
584
  %ignore bzs::db::protocol::tdap::client::recordset::create;
@@ -480,6 +604,7 @@ using namespace bzs::db::protocol::tdap::client;
480
604
 
481
605
  // * bzs/db/protocol/tdap/client/table.h *
482
606
  %ignore bzs::db::protocol::tdap::client::keyValuePtr;
607
+ %ignore bzs::db::protocol::tdap::client::makeSupplyValues;
483
608
  %ignore bzs::db::protocol::tdap::client::mra_nojoin;
484
609
  %ignore bzs::db::protocol::tdap::client::mra_first;
485
610
  %ignore bzs::db::protocol::tdap::client::mra_nextrows;
@@ -488,17 +613,30 @@ using namespace bzs::db::protocol::tdap::client;
488
613
  %ignore bzs::db::protocol::tdap::client::mra_current_block;
489
614
  %ignore bzs::db::protocol::tdap::client::multiRecordAlocator;
490
615
  %ignore bzs::db::protocol::tdap::client::query::create;
616
+ %ignore bzs::db::protocol::tdap::client::queryBase::reset;
491
617
  %ignore bzs::db::protocol::tdap::client::queryBase::operator=;
492
618
  %ignore bzs::db::protocol::tdap::client::queryBase::addField;
493
619
  %ignore bzs::db::protocol::tdap::client::queryBase::addLogic;
494
620
  %ignore bzs::db::protocol::tdap::client::queryBase::addSeekKeyValuePtr;
495
- %ignore bzs::db::protocol::tdap::client::queryBase::reserveSeekKeyValuePtrSize;
621
+ %ignore bzs::db::protocol::tdap::client::queryBase::create;
622
+ %ignore bzs::db::protocol::tdap::client::queryBase::joinKeySize;
496
623
  %ignore bzs::db::protocol::tdap::client::queryBase::queryBase;
497
624
  %ignore bzs::db::protocol::tdap::client::queryBase::~queryBase;
498
- %ignore bzs::db::protocol::tdap::client::queryBase::create;
625
+ %ignore bzs::db::protocol::tdap::client::queryBase::reserveSeekKeyValuePtrSize;
626
+ %ignore bzs::db::protocol::tdap::client::supplyInValues;
627
+ %ignore bzs::db::protocol::tdap::client::supplyValue;
628
+ %ignore bzs::db::protocol::tdap::client::supplyValues;
629
+ %ignore bzs::db::protocol::tdap::client::supplyInValues;
630
+ %ignore bzs::db::protocol::tdap::client::table::buflen;
499
631
  %ignore bzs::db::protocol::tdap::client::table::fieldPtr;
500
632
  %ignore bzs::db::protocol::tdap::client::table::getCurProcFieldCount;
501
633
  %ignore bzs::db::protocol::tdap::client::table::getCurProcFieldIndex;
634
+ %ignore bzs::db::protocol::tdap::client::table::mra;
635
+ %ignore bzs::db::protocol::tdap::client::table::tdap;
636
+ %ignore bzs::db::protocol::tdap::client::table::setMra;
637
+ %ignore bzs::db::protocol::tdap::client::table::setFVA;
638
+ %ignore bzs::db::protocol::tdap::client::table::getFVAstr;
639
+
502
640
  // create and release methods for query class
503
641
  %extend bzs::db::protocol::tdap::client::query {
504
642
  query() {
@@ -522,6 +660,26 @@ using namespace bzs::db::protocol::tdap::client;
522
660
  return keyValueDescription_buf;
523
661
  }
524
662
  };
663
+ // table::prepare and table::setQuery returns new object
664
+ %newobject bzs::db::protocol::tdap::client::table::prepare;
665
+ %newobject bzs::db::protocol::tdap::client::table::setQuery;
666
+ %extend bzs::db::protocol::tdap::client::table {
667
+ preparedQuery* prepare(const queryBase* q, bool serverPrepare=false) {
668
+ preparedQuery* p = new preparedQuery(self->setQuery(q, serverPrepare));
669
+ return p;
670
+ }
671
+ preparedQuery* setQuery(const queryBase* q, bool serverPrepare=false) {
672
+ preparedQuery* p = new preparedQuery(self->setQuery(q, serverPrepare));
673
+ return p;
674
+ }
675
+ void setPrepare(preparedQuery* q) {
676
+ self->setPrepare(q->getFilter());
677
+ }
678
+ };
679
+ // ignore original methods
680
+ %ignore bzs::db::protocol::tdap::client::table::prepare;
681
+ %ignore bzs::db::protocol::tdap::client::table::setQuery;
682
+ %ignore bzs::db::protocol::tdap::client::table::setPrepare;
525
683
  // create and release methods for table class
526
684
  %extend bzs::db::protocol::tdap::client::table {
527
685
  void release() {
@@ -579,6 +737,7 @@ using namespace bzs::db::protocol::tdap::client;
579
737
  %ignore bzs::db::protocol::tdap::client::lexical_cast;
580
738
  %ignore bzs::db::protocol::tdap::client::openDatabase;
581
739
  %ignore bzs::db::protocol::tdap::client::openTable;
740
+ %ignore bzs::db::protocol::tdap::client::prepare;
582
741
  %ignore bzs::db::protocol::tdap::client::readIndex;
583
742
  %ignore bzs::db::protocol::tdap::client::readIndex_v;
584
743
  %ignore bzs::db::protocol::tdap::client::readIndexRv;
@@ -587,6 +746,7 @@ using namespace bzs::db::protocol::tdap::client;
587
746
  %ignore bzs::db::protocol::tdap::client::readStepRv;
588
747
  %ignore bzs::db::protocol::tdap::client::releaseDatabase;
589
748
  %ignore bzs::db::protocol::tdap::client::releaseTable;
749
+ %ignore bzs::db::protocol::tdap::client::setQuery;
590
750
  %ignore bzs::db::protocol::tdap::client::snapshot;
591
751
  %ignore bzs::db::protocol::tdap::client::tableIterator;
592
752
  %ignore bzs::db::protocol::tdap::client::tableIterator::operator++;
@@ -601,6 +761,9 @@ using namespace bzs::db::protocol::tdap::client;
601
761
  %ignore bzs::db::protocol::tdap::client::filter_validate_value;
602
762
  %ignore bzs::db::protocol::tdap::client::filter_validate_block;
603
763
  %ignore bzs::db::protocol::tdap::client::filter_invalidate_value;
764
+ %ignore bzs::db::protocol::tdap::client::host;
765
+ %ignore bzs::db::protocol::tdap::client::dbname;
766
+ %ignore bzs::db::protocol::tdap::client::schemaTable;
604
767
 
605
768
  // * bzs/db/protocol/tdap/client/trdormapi.h *
606
769
  %ignore bzs::db::protocol::tdap::client::setValue;
@@ -616,6 +779,29 @@ using namespace bzs::db::protocol::tdap::client;
616
779
  %ignore bzs::db::protocol::tdap::client::sort;
617
780
  %ignore bzs::db::protocol::tdap::client::mraResetter;
618
781
 
782
+ // * bzs/db/protocol/tdap/tdapcapi.h *
783
+ %ignore BOOKMARK_ALLOC_SIZE;
784
+ %ignore BTRV_MAX_DATA_SIZE;
785
+ %ignore C_INTERFACE_VER_MAJOR;
786
+ %ignore C_INTERFACE_VER_MINOR;
787
+ %ignore C_INTERFACE_VER_RELEASE;
788
+ %ignore C_INTERFACE_VERSTR;
789
+ %ignore FILTER_COMBINE_NOPREPARE;
790
+ %ignore FILTER_COMBINE_PREPARE;
791
+ %ignore FILTER_TYPE_SEEKS;
792
+ %ignore FILTER_TYPE_SUPPLYVALUE;
793
+ %ignore FILTER_TYPE_FORWORD;
794
+ %ignore STATUS_LMIT_OF_PREPAREED;
795
+ %ignore STATUS_INVALID_EX_DESC;
796
+ %ignore STATUS_INVALID_EX_INS;
797
+ %ignore STATUS_INVALID_PREPAREID;
798
+ %ignore STATUS_INVALID_SUPPLYVALUES;
799
+ %ignore TDAP_MAX_DATA_SIZE;
800
+ %ignore TDCLC_LIBNAME;
801
+ %ignore TD_CPP_LIB_PRE;
802
+ %ignore TD_FILTER_PREPARE;
803
+ %ignore TD_LIB_PART;
804
+
619
805
  // * bzs/db/protocol/tdap/tdapSchema.h *
620
806
  %ignore DLLUNLOADCALLBACK_PTR;
621
807
  %ignore dllUnloadCallback;
@@ -626,14 +812,17 @@ using namespace bzs::db::protocol::tdap::client;
626
812
  %ignore bzs::db::protocol::tdap::fielddef::chainChar;
627
813
  %ignore bzs::db::protocol::tdap::fielddef::dataLen;
628
814
  %ignore bzs::db::protocol::tdap::fielddef::getKeyValueFromKeybuf;
815
+ %ignore bzs::db::protocol::tdap::fielddef::isBlob;
629
816
  %ignore bzs::db::protocol::tdap::fielddef::keyCopy;
630
817
  %ignore bzs::db::protocol::tdap::fielddef::keyData;
631
818
  %ignore bzs::db::protocol::tdap::fielddef::keyDataLen;
632
819
  %ignore bzs::db::protocol::tdap::fielddef::maxVarDatalen;
633
820
  %ignore bzs::db::protocol::tdap::fielddef::nameA;
821
+ %ignore bzs::db::protocol::tdap::fielddef::setBlobFieldPointer;
634
822
  %ignore bzs::db::protocol::tdap::fielddef::setChainChar;
635
823
  %ignore bzs::db::protocol::tdap::fielddef::setNameA;
636
824
  %ignore bzs::db::protocol::tdap::fielddef::unPackCopy;
825
+ %ignore bzs::db::protocol::tdap::fielddef::varLenByteForKey;
637
826
  %ignore bzs::db::protocol::tdap::fielddef_t::defValue;
638
827
  %ignore bzs::db::protocol::tdap::fielddef_t::defViewWidth;
639
828
  %ignore bzs::db::protocol::tdap::fielddef_t::enableFlags;
@@ -644,6 +833,7 @@ using namespace bzs::db::protocol::tdap::client;
644
833
  %ignore bzs::db::protocol::tdap::fielddef_t::lookFields;
645
834
  %ignore bzs::db::protocol::tdap::fielddef_t::lookTable;
646
835
  %ignore bzs::db::protocol::tdap::fielddef_t::userOption;
836
+ %ignore bzs::db::protocol::tdap::fielddef_t::varLenByteForKey;
647
837
  %ignore bzs::db::protocol::tdap::fielddef_t::viewNum;
648
838
  %ignore bzs::db::protocol::tdap::fielddef_t::viewWidth;
649
839
  %ignore bzs::db::protocol::tdap::tabledef::autoIncExSpace;
@@ -661,7 +851,6 @@ using namespace bzs::db::protocol::tdap::client;
661
851
  %ignore bzs::db::protocol::tdap::tabledef::treeIndex;
662
852
  %ignore bzs::db::protocol::tdap::tabledef::setFileNameA;
663
853
  %ignore bzs::db::protocol::tdap::tabledef::setTableNameA;
664
-
665
854
  // add methods
666
855
  %extend bzs::db::protocol::tdap::keydef {
667
856
  keySegment* segment(const int index)
@@ -679,6 +868,13 @@ using namespace bzs::db::protocol::tdap::client;
679
868
  return &(self->keyDefs[index]);
680
869
  }
681
870
  };
871
+ %extend bzs::db::protocol::tdap::fielddef {
872
+ const char* name() const
873
+ {
874
+ return self->name();
875
+ }
876
+ }
877
+ %ignore bzs::db::protocol::tdap::fielddef::name;
682
878
  %extend bzs::db::protocol::tdap::btrVersions {
683
879
  btrVersion* version(const int index) {
684
880
  return &(self->versions[index]);
@@ -738,31 +934,14 @@ using namespace bzs::db::protocol::tdap::client;
738
934
  /* ===============================================
739
935
  template
740
936
  =============================================== */
937
+ /*
938
+ C++ templates are not supported in SWIG.
939
+ Template methods are declared only one signature pattern here.
940
+ We need to change the wrap_cpp manually to expand template codes.
941
+ */
942
+
741
943
  // * bzs/db/protocol/tdap/client/activeTable.h *
742
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*>;
743
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*>;
744
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*, _TCHAR*>;
745
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
746
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
747
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
748
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
749
944
  %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
750
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64>;
751
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64>;
752
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64, __int64>;
753
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64, __int64, __int64>;
754
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64, __int64, __int64, __int64>;
755
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64, __int64, __int64, __int64, __int64>;
756
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64, __int64, __int64, __int64, __int64, __int64>;
757
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<__int64, __int64, __int64, __int64, __int64, __int64, __int64, __int64>;
758
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double>;
759
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double>;
760
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double, double>;
761
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double, double, double>;
762
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double, double, double, double>;
763
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double, double, double, double, double>;
764
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double, double, double, double, double, double>;
765
- %template(keyValue) bzs::db::protocol::tdap::client::activeTable::keyValue<double, double, double, double, double, double, double, double>;
766
945
 
767
946
  // * bzs/db/protocol/tdap/client/groupQuery.h *
768
947
  %template(when) bzs::db::protocol::tdap::client::recordsetQuery::when<_TCHAR*>;
@@ -773,31 +952,7 @@ using namespace bzs::db::protocol::tdap::client;
773
952
  %template(where) bzs::db::protocol::tdap::client::query::where<_TCHAR*>;
774
953
  %template(and_) bzs::db::protocol::tdap::client::query::and_<_TCHAR*>;
775
954
  %template(or_) bzs::db::protocol::tdap::client::query::or_<_TCHAR*>;
776
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*>;
777
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*>;
778
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*, _TCHAR*>;
779
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
780
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
781
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
782
- %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
783
955
  %template(in) bzs::db::protocol::tdap::client::query::in<_TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*, _TCHAR*>;
784
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64>;
785
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64>;
786
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64, __int64>;
787
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64, __int64, __int64>;
788
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64, __int64, __int64, __int64>;
789
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64, __int64, __int64, __int64, __int64>;
790
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64, __int64, __int64, __int64, __int64, __int64>;
791
- %template(in) bzs::db::protocol::tdap::client::query::in<__int64, __int64, __int64, __int64, __int64, __int64, __int64, __int64>;
792
- %template(in) bzs::db::protocol::tdap::client::query::in<double>;
793
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double>;
794
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double, double>;
795
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double, double, double>;
796
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double, double, double, double>;
797
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double, double, double, double, double>;
798
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double, double, double, double, double, double>;
799
- %template(in) bzs::db::protocol::tdap::client::query::in<double, double, double, double, double, double, double, double>;
800
-
801
956
  /* ===============================================
802
957
  cpointer
803
958
  =============================================== */