transactd 1.2.0 → 2.0.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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/BUILD_UNIX-JA +46 -67
  3. data/BUILD_WIN-JA +106 -63
  4. data/CMakeLists.txt +40 -15
  5. data/README +219 -75
  6. data/README-JA +207 -76
  7. data/README_ORMSRCGEN +118 -0
  8. data/README_ORMSRCGEN-JA +115 -0
  9. data/bin/common/tdclc_32_2_0.dll +0 -0
  10. data/bin/common/tdclc_64_2_0.dll +0 -0
  11. data/build/common/check_for_link_iconv.cmake +18 -14
  12. data/build/common/create_symlink.cmake.in +25 -0
  13. data/build/common/get_boost_libs.cmake +23 -23
  14. data/build/common/options.cmake +0 -66
  15. data/build/common/smart_install.cmake +3 -3
  16. data/build/common/transactd.rc.in +15 -5
  17. data/build/common/transactd_cl_common.cmake +37 -18
  18. data/build/common/transactd_cl_output.cmake +55 -13
  19. data/build/common/transactd_common.cmake +108 -31
  20. data/build/swig/php/generate.cmake.in +15 -17
  21. data/build/swig/php/generate.cmd.in +15 -9
  22. data/build/swig/php/php.swg +124 -82
  23. data/build/swig/php/transactd.no_yield.php +4494 -0
  24. data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
  25. data/build/swig/php/transactd.no_yield.php.patch +685 -0
  26. data/build/swig/php/transactd.yield.php +4461 -0
  27. data/build/swig/php/transactd.yield.php.git.patch +652 -0
  28. data/build/swig/php/transactd.yield.php.patch +652 -0
  29. data/build/swig/referencecounter.h +79 -0
  30. data/build/swig/ruby/ruby.swg +226 -76
  31. data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
  32. data/build/swig/ruby/without_gvl.swg +87 -0
  33. data/build/swig/tdcl.i +659 -170
  34. data/build/swig/validatablepointer.h +91 -0
  35. data/build/tdclc/CMakeLists.txt +49 -34
  36. data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
  37. data/build/tdclc/tdclc.rc +0 -0
  38. data/build/tdclcpp/CMakeLists.txt +84 -20
  39. data/build/tdclcpp/tdclcpp.rc +0 -0
  40. data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
  41. data/build/tdclrb/CMakeLists.txt +84 -66
  42. data/build/tdclrb/bldgem/extconf.rb +28 -3
  43. data/build/tdclrb/gem/helper.rb +11 -1
  44. data/build/tdclrb/gem_output.cmake +20 -16
  45. data/index_ja.html +15 -0
  46. data/source/bzs/db/IBlobBuffer.h +15 -17
  47. data/source/bzs/db/blobBuffer.h +186 -140
  48. data/source/bzs/db/blobStructs.h +37 -37
  49. data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
  50. data/source/bzs/db/engine/mysql/bookmark.h +150 -147
  51. data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
  52. data/source/bzs/db/engine/mysql/database.h +608 -370
  53. data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
  54. data/source/bzs/db/engine/mysql/dbManager.h +115 -104
  55. data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
  56. data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
  57. data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
  58. data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
  59. data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
  60. data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
  61. data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
  62. data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
  63. data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
  64. data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
  65. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
  66. data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
  67. data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
  68. data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
  69. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
  70. data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
  71. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
  72. data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
  73. data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
  74. data/source/bzs/db/protocol/tdap/client/client.h +361 -320
  75. data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
  76. data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
  77. data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
  78. data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
  79. data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
  80. data/source/bzs/db/protocol/tdap/client/database.h +141 -118
  81. data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
  82. data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
  83. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
  84. data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
  85. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
  86. data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
  87. data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
  88. data/source/bzs/db/protocol/tdap/client/export.h +35 -0
  89. data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
  90. data/source/bzs/db/protocol/tdap/client/field.h +393 -0
  91. data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
  92. data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
  93. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
  94. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
  95. data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
  96. data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
  97. data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
  98. data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
  99. data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
  100. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
  101. data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
  102. data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
  103. data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
  104. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
  105. data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
  106. data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
  107. data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
  108. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
  109. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
  110. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
  111. data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
  112. data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
  113. data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
  114. data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
  115. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
  116. data/source/bzs/db/protocol/tdap/client/request.h +227 -170
  117. data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
  118. data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
  119. data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
  120. data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
  121. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
  122. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
  123. data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
  124. data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
  125. data/source/bzs/db/protocol/tdap/client/table.h +413 -87
  126. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
  127. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
  128. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
  129. data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
  130. data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
  131. data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
  132. data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
  133. data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
  134. data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
  135. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
  136. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
  137. data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
  138. data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
  139. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
  140. data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
  141. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
  142. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
  143. data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
  144. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
  145. data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
  146. data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
  147. data/source/bzs/db/transactd/appBuilderImple.h +21 -20
  148. data/source/bzs/db/transactd/appModule.cpp +350 -98
  149. data/source/bzs/db/transactd/appModule.h +31 -37
  150. data/source/bzs/db/transactd/connManager.cpp +138 -135
  151. data/source/bzs/db/transactd/connManager.h +28 -21
  152. data/source/bzs/db/transactd/connectionRecord.h +39 -39
  153. data/source/bzs/db/transactd/transactd.cpp +217 -203
  154. data/source/bzs/env/boost_bcb_link.h +131 -0
  155. data/source/bzs/env/compiler.h +136 -79
  156. data/source/bzs/env/crosscompile.cpp +57 -57
  157. data/source/bzs/env/crosscompile.h +130 -115
  158. data/source/bzs/env/fileopen.h +7 -8
  159. data/source/bzs/env/mbcswchrLinux.cpp +4 -9
  160. data/source/bzs/env/mbcswchrLinux.h +37 -34
  161. data/source/bzs/env/tcharMinGW.h +59 -0
  162. data/source/bzs/env/tstring.h +90 -95
  163. data/source/bzs/example/changeSchema.cpp +22 -23
  164. data/source/bzs/example/changeSchema_c.cpp +22 -24
  165. data/source/bzs/example/connection_pool_c.cpp +49 -104
  166. data/source/bzs/example/createDatabase.cpp +40 -47
  167. data/source/bzs/example/createDatabase_c.cpp +38 -43
  168. data/source/bzs/example/deleteRecords.cpp +10 -15
  169. data/source/bzs/example/deleteRecords_c.cpp +10 -14
  170. data/source/bzs/example/dropDatabase.cpp +3 -9
  171. data/source/bzs/example/dropDatabase_c.cpp +5 -6
  172. data/source/bzs/example/insertRecords.cpp +37 -29
  173. data/source/bzs/example/insertRecords_c.cpp +19 -25
  174. data/source/bzs/example/ormap_c.cpp +621 -0
  175. data/source/bzs/example/queryData.cpp +371 -0
  176. data/source/bzs/example/queryData.h +16 -0
  177. data/source/bzs/example/query_c.cpp +109 -0
  178. data/source/bzs/example/readRecords.cpp +27 -27
  179. data/source/bzs/example/readRecords_c.cpp +25 -23
  180. data/source/bzs/example/updateRecords.cpp +16 -21
  181. data/source/bzs/example/updateRecords_c.cpp +8 -12
  182. data/source/bzs/example/update_with_transaction.cpp +21 -24
  183. data/source/bzs/example/update_with_transaction_c.cpp +12 -15
  184. data/source/bzs/example/useORMRecord.cpp +177 -0
  185. data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
  186. data/source/bzs/netsvc/client/tcpClient.h +541 -489
  187. data/source/bzs/netsvc/server/IAppModule.h +119 -32
  188. data/source/bzs/netsvc/server/iserver.h +21 -23
  189. data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
  190. data/source/bzs/netsvc/server/serverCpt.h +41 -43
  191. data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
  192. data/source/bzs/netsvc/server/serverPipe.h +44 -45
  193. data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
  194. data/source/bzs/netsvc/server/serverTpool.h +38 -43
  195. data/source/bzs/rtl/benchmark.cpp +91 -31
  196. data/source/bzs/rtl/benchmark.h +76 -22
  197. data/source/bzs/rtl/datetime.cpp +231 -233
  198. data/source/bzs/rtl/datetime.h +16 -16
  199. data/source/bzs/rtl/debuglog.cpp +48 -51
  200. data/source/bzs/rtl/debuglog.h +55 -44
  201. data/source/bzs/rtl/exception.h +55 -48
  202. data/source/bzs/rtl/stl_uty.cpp +27 -28
  203. data/source/bzs/rtl/stl_uty.h +28 -29
  204. data/source/bzs/rtl/stringBuffers.cpp +8 -6
  205. data/source/bzs/rtl/stringBuffers.h +16 -9
  206. data/source/bzs/rtl/strtrim.cpp +90 -91
  207. data/source/bzs/rtl/strtrim.h +14 -16
  208. data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
  209. data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
  210. data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
  211. data/source/bzs/test/tdclphp/bench.php +357 -0
  212. data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
  213. data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
  214. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
  215. data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
  216. data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -0
  217. data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
  218. data/source/bzs/test/tdclrb/prepare.rb +15 -12
  219. data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
  220. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
  221. data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
  222. data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
  223. data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
  224. data/source/bzs/test/transactdBench/query_bench.cpp +156 -0
  225. data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
  226. data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
  227. data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
  228. data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
  229. data/source/bzs/test/transactdBench/workerBase.h +88 -0
  230. data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
  231. data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
  232. data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
  233. data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
  234. data/source/global/ormsrcgen/confParam.h +80 -0
  235. data/source/global/ormsrcgen/fieldName.cpp +77 -0
  236. data/source/global/ormsrcgen/fieldName.h +43 -0
  237. data/source/global/ormsrcgen/main.cpp +196 -0
  238. data/source/global/ormsrcgen/srcgen.cpp +763 -0
  239. data/source/global/ormsrcgen/srcgen.h +72 -0
  240. data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
  241. data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
  242. data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
  243. data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
  244. data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
  245. data/source/global/ormsrcgen/template/template.cnf +38 -0
  246. data/source/global/querystmts/querystmts.cpp +237 -0
  247. data/source/global/tdclatl/ConnectParams.cpp +77 -0
  248. data/source/global/tdclatl/ConnectParams.h +70 -0
  249. data/source/global/tdclatl/Database.cpp +132 -128
  250. data/source/global/tdclatl/Database.h +60 -49
  251. data/source/global/tdclatl/DbDef.cpp +68 -64
  252. data/source/global/tdclatl/DbDef.h +36 -36
  253. data/source/global/tdclatl/Field.cpp +12 -17
  254. data/source/global/tdclatl/Field.h +15 -12
  255. data/source/global/tdclatl/FieldDef.cpp +75 -36
  256. data/source/global/tdclatl/FieldDef.h +38 -19
  257. data/source/global/tdclatl/FieldDefs.cpp +74 -0
  258. data/source/global/tdclatl/FieldDefs.h +56 -0
  259. data/source/global/tdclatl/FieldNames.cpp +99 -0
  260. data/source/global/tdclatl/FieldNames.h +66 -0
  261. data/source/global/tdclatl/Flags.cpp +75 -37
  262. data/source/global/tdclatl/Flags.h +13 -12
  263. data/source/global/tdclatl/GroupQuery.cpp +119 -0
  264. data/source/global/tdclatl/GroupQuery.h +65 -0
  265. data/source/global/tdclatl/KeyDef.cpp +15 -14
  266. data/source/global/tdclatl/KeyDef.h +20 -17
  267. data/source/global/tdclatl/KeySegment.cpp +13 -12
  268. data/source/global/tdclatl/PooledDbManager.cpp +223 -0
  269. data/source/global/tdclatl/PooledDbManager.h +76 -0
  270. data/source/global/tdclatl/QueryBase.cpp +206 -127
  271. data/source/global/tdclatl/QueryBase.h +55 -59
  272. data/source/global/tdclatl/Record.cpp +214 -0
  273. data/source/global/tdclatl/Record.h +96 -0
  274. data/source/global/tdclatl/Recordset.cpp +278 -0
  275. data/source/global/tdclatl/Recordset.h +83 -0
  276. data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
  277. data/source/global/tdclatl/RecordsetQuery.h +126 -0
  278. data/source/global/tdclatl/Table.cpp +57 -60
  279. data/source/global/tdclatl/Table.h +32 -29
  280. data/source/global/tdclatl/TableDef.cpp +63 -62
  281. data/source/global/tdclatl/TableDef.h +20 -22
  282. data/source/global/tdclatl/TdVersion.cpp +3 -3
  283. data/source/global/tdclatl/TdVersion.h +15 -11
  284. data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
  285. data/source/global/tdclatl/activeTable.cpp +355 -0
  286. data/source/global/tdclatl/activeTable.h +79 -0
  287. data/source/global/tdclatl/dllmain.cpp +4 -3
  288. data/source/global/tdclatl/dllmain.h +7 -6
  289. data/source/global/tdclatl/keySegment.h +22 -18
  290. data/source/global/tdclatl/resource.h +0 -0
  291. data/source/global/tdclatl/stdafx.h +6 -4
  292. data/source/global/tdclatl/targetver.h +0 -1
  293. data/source/global/tdclatl/tdclatl.cpp +10 -5
  294. data/source/global/tdclatl/tdclatl.idl +530 -14
  295. data/source/linux/charsetConvert.h +78 -79
  296. data/source/linux/linuxTypes.h +9 -12
  297. data/source/linux/tchar.h +168 -166
  298. data/transactd.gemspec +24 -16
  299. metadata +98 -12
  300. data/bin/common/tdclc_32_1_2.dll +0 -0
  301. data/bin/common/tdclc_64_1_2.dll +0 -0
  302. data/build/tdclc/tdclc_32.cbproj +0 -173
  303. data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
  304. data/build/tdclrb/GEM_VERSION +0 -3
  305. data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
  306. data/source/bzs/example/useORM.cpp +0 -585
data/build/swig/tdcl.i CHANGED
@@ -30,17 +30,37 @@
30
30
  %include typemaps.i
31
31
  %include std_string.i
32
32
  %include wchar.i
33
+ %include exception.i
34
+
35
+ // Suppress warnings
36
+ #pragma SWIG nowarn=SWIGWARN_PARSE_USING_UNDEF
37
+ %warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) btrstoa;
38
+ %warnfilter(SWIGWARN_PARSE_UNNAMED_NESTED_CLASS) nstable;
39
+
40
+
41
+ /* ===============================================
42
+ type defines
43
+ =============================================== */
44
+ %apply unsigned long long { unsigned __int64 }
45
+ %apply long long { __int64 }
46
+
47
+
48
+ /* ===============================================
49
+ validatable pointer
50
+ =============================================== */
51
+ %{
52
+ #include <build/swig/validatablepointer.h>
53
+ validatablePointerList g_vPtrList;
54
+ %}
33
55
 
34
56
 
35
57
  /* ===============================================
36
58
  HEADERS (for cpp compilation)
37
59
  =============================================== */
38
60
  %{
39
- #ifdef SWIGPHP
40
- #undef realloc
41
- #endif
42
61
  #include <bzs/env/crosscompile.h>
43
62
  #include <bzs/env/compiler.h>
63
+ #include <bzs/db/protocol/tdap/client/export.h>
44
64
  #include <bzs/db/protocol/tdap/btrDate.h>
45
65
  #include <bzs/db/blobStructs.h>
46
66
  #include <bzs/db/protocol/tdap/mysql/characterset.h>
@@ -72,6 +92,13 @@
72
92
  #include <bzs/db/protocol/tdap/client/nsDatabase.h>
73
93
  #include <bzs/db/protocol/tdap/client/database.h>
74
94
  #include <bzs/db/protocol/tdap/mysql/characterset.h>
95
+ #include <bzs/db/protocol/tdap/client/field.h>
96
+ #include <bzs/db/protocol/tdap/client/fields.h>
97
+ #include <bzs/db/protocol/tdap/client/memRecord.h>
98
+ #include <bzs/db/protocol/tdap/client/recordset.h>
99
+ #include <bzs/db/protocol/tdap/client/activeTable.h>
100
+ #include <bzs/db/protocol/tdap/client/groupQuery.h>
101
+ #include <bzs/db/protocol/tdap/client/pooledDatabaseManager.h>
75
102
 
76
103
  using namespace bzs::db::protocol::tdap;
77
104
  using namespace bzs::db::protocol::tdap::client;
@@ -79,24 +106,534 @@ using namespace bzs::db::protocol::tdap::client;
79
106
 
80
107
 
81
108
  /* ===============================================
82
- Ignore section
109
+ Ruby call_without_gvl support
110
+ =============================================== */
111
+ #if defined(SWIGRUBY)
112
+ %include "ruby/without_gvl.swg"
113
+ #endif
114
+
115
+
116
+ /* ===============================================
117
+ ignore, rename, new/delobject, extend
83
118
  =============================================== */
84
- // functions used by internal C++
119
+ // ignore definitions
120
+ %ignore LIB_EXTENTION;
121
+ %ignore LIB_PREFIX;
122
+ %ignore LINUX;
123
+ %ignore MBC_CHARSETNAME;
124
+ %ignore MB_PRECOMPOSED;
125
+ %ignore SHARED_LIB_EXTENTION;
126
+ %ignore UTF8_CHARSETNAME;
127
+ %ignore WC_COMPOSITECHECK;
128
+
129
+ // common %newobject and %delobject
130
+ %newobject *::clone;
131
+ %newobject *::create;
132
+ %newobject *::createObject;
133
+ %newobject *::openTable;
134
+ %delobject *::release;
135
+
136
+ // * bzs/env/mbcswchrLinux.h *
137
+ %ignore bzs::env::u8mbcvt;
138
+ %ignore bzs::env::mbu8cvt;
139
+ %ignore bzs::env::mbcscvt;
140
+ %ignore bzs::env::wchrcvt;
141
+ %ignore bzs::env::u8wccvt;
142
+ %ignore bzs::env::wcu8cvt;
143
+ %ignore bzs::env::WideCharToMultiByte;
144
+ %ignore bzs::env::MultiByteToWideChar;
145
+ %ignore bzs::env::u8tombc;
146
+ %ignore bzs::env::mbctou8;
147
+
148
+ // * bzs/db/protocol/tdap/client/activeTable.h *
149
+ %ignore bzs::db::protocol::tdap::client::activeTable::create;
150
+ %ignore bzs::db::protocol::tdap::client::activeTable::releaseTable;
151
+ // activeTable::read returns new object
152
+ %newobject bzs::db::protocol::tdap::client::activeTable::read;
153
+ %extend bzs::db::protocol::tdap::client::activeTable {
154
+ recordset* read(queryBase& q) {
155
+ recordset* rs = recordset::create();
156
+ self->read(*rs, q);
157
+ return rs;
158
+ }
159
+ };
160
+ // create and release methods for activeTable class
161
+ %extend bzs::db::protocol::tdap::client::activeTable {
162
+ activeTable(idatabaseManager* mgr, const _TCHAR* tableName) {
163
+ bzs::db::protocol::tdap::client::activeTable* p =
164
+ bzs::db::protocol::tdap::client::activeTable::create(mgr, tableName);
165
+ g_vPtrList.add(p->table().get());
166
+ return p;
167
+ }
168
+ activeTable(database* db, const _TCHAR* tableName) {
169
+ bzs::db::protocol::tdap::client::activeTable* p =
170
+ bzs::db::protocol::tdap::client::activeTable::create(db, tableName);
171
+ g_vPtrList.add(p->table().get());
172
+ return p;
173
+ }
174
+ ~activeTable() {
175
+ if (g_vPtrList.remove(self->table().get()))
176
+ {
177
+ if (nsdatabase::testTablePtr(self->table().get()))
178
+ self->table()->nsdb()->setTestPtrIgnore(true);
179
+ }
180
+ self->release();
181
+ }
182
+ void release() {
183
+ self->releaseTable();
184
+ }
185
+ };
186
+ // ignore original methods
187
+ %ignore bzs::db::protocol::tdap::client::activeTable::activeTable;
188
+ %ignore bzs::db::protocol::tdap::client::activeTable::~activeTable;
189
+
190
+
191
+ // * bzs/db/protocol/tdap/btrDate.h *
192
+ %ignore bzs::db::protocol::tdap::bdate;
193
+ %ignore bzs::db::protocol::tdap::c_str;
194
+
195
+ // * bzs/db/protocol/tdap/client/client.h *
196
+ %ignore bzs::db::protocol::tdap::client::create;
197
+
198
+ // * bzs/db/protocol/tdap/client/connectionPool.h *
199
+ %ignore bzs::db::protocol::tdap::client::busyWaitArguments;
200
+ %ignore bzs::db::protocol::tdap::client::busyWait;
201
+ %ignore bzs::db::protocol::tdap::client::scopedLock;
202
+ %ignore bzs::db::protocol::tdap::client::connectionPool;
203
+ %ignore bzs::db::protocol::tdap::client::stdDbCconnectionPool;
204
+ %ignore bzs::db::protocol::tdap::client::stdDbmCconnectionPool;
205
+ %ignore bzs::db::protocol::tdap::client::stdCconnectionPool;
206
+ %ignore bzs::db::protocol::tdap::client::dllUnloadCallbackFunc;
207
+ %ignore bzs::db::protocol::tdap::client::releaseConnection;
208
+ %ignore bzs::db::protocol::tdap::client::cpool;
209
+
210
+ // * bzs/db/protocol/tdap/client/database.h *
211
+ %ignore bzs::db::protocol::tdap::client::database::operator=;
212
+ %ignore bzs::db::protocol::tdap::client::database::defaultAutoIncSpace;
213
+ // NOTE: ignore * STATIC * create only
214
+ %ignore bzs::db::protocol::tdap::client::database::create();
215
+ // create and release methods for database class
216
+ %extend bzs::db::protocol::tdap::client::database {
217
+ database() {
218
+ bzs::db::protocol::tdap::client::nsdatabase::setExecCodePage(CP_UTF8);
219
+ return bzs::db::protocol::tdap::client::database::create();
220
+ }
221
+ ~database() {
222
+ self->release();
223
+ }
224
+ };
225
+ // ignore original methods
226
+ %ignore bzs::db::protocol::tdap::client::database::database;
227
+ %ignore bzs::db::protocol::tdap::client::database::~database;
228
+ // overwrite openTable
229
+ %extend bzs::db::protocol::tdap::client::database {
230
+ bzs::db::protocol::tdap::client::table* openTable(const _TCHAR* tableName,
231
+ short mode = 0, bool autoCreate = true, const _TCHAR* ownerName = NULL, const _TCHAR* uri = NULL)
232
+ {
233
+ bzs::db::protocol::tdap::client::table* tb =
234
+ self->openTable(tableName, mode, autoCreate, ownerName, uri);
235
+ g_vPtrList.add(tb);
236
+ return tb;
237
+ }
238
+ bzs::db::protocol::tdap::client::table* openTable(short fileNum,
239
+ short mode = TD_OPEN_NORMAL, bool autoCreate = true, const _TCHAR* ownerName = NULL, const _TCHAR* uri = NULL)
240
+ {
241
+ bzs::db::protocol::tdap::client::table* tb =
242
+ self->openTable(fileNum, mode, autoCreate, ownerName, uri);
243
+ g_vPtrList.add(tb);
244
+ return tb;
245
+ }
246
+ };
247
+ // ignore original method
248
+ %ignore bzs::db::protocol::tdap::client::database::openTable;
249
+
250
+ // * bzs/db/protocol/tdap/client/dbDef.h *
251
+ %ignore bzs::db::protocol::tdap::client::dbdef::allocRelateData;
252
+ %ignore bzs::db::protocol::tdap::client::dbdef::cacheFieldPos;
253
+ %ignore bzs::db::protocol::tdap::client::dbdef::compAsBackup;
254
+ %ignore bzs::db::protocol::tdap::client::dbdef::fieldNumByViewNum;
255
+ %ignore bzs::db::protocol::tdap::client::dbdef::getFieldPosition;
256
+ %ignore bzs::db::protocol::tdap::client::dbdef::getFileSpec;
257
+ %ignore bzs::db::protocol::tdap::client::dbdef::popBackup;
258
+ %ignore bzs::db::protocol::tdap::client::dbdef::pushBackup;
259
+ %ignore bzs::db::protocol::tdap::client::dbdef::setStat;
260
+
261
+ // * bzs/db/protocol/tdap/client/field.h *
262
+ %ignore bzs::db::protocol::tdap::client::compBlob;
263
+ %ignore bzs::db::protocol::tdap::client::dummyFd;
264
+ %ignore bzs::db::protocol::tdap::client::fieldValue;
265
+ %ignore bzs::db::protocol::tdap::client::fieldShare;
266
+ %ignore bzs::db::protocol::tdap::client::field::operator=(const field&);
267
+ %ignore bzs::db::protocol::tdap::client::field::operator!=;
268
+ %ignore bzs::db::protocol::tdap::client::field::operator==;
269
+ %ignore bzs::db::protocol::tdap::client::field::operator=(const std::_tstring&);
270
+ %ignore bzs::db::protocol::tdap::client::field::initialize;
271
+ %ignore bzs::db::protocol::tdap::client::field::isCompPartAndMakeValue;
272
+ %ignore bzs::db::protocol::tdap::client::field::ptr;
273
+ %ignore bzs::db::protocol::tdap::client::fielddefs::operator[] (const std::_tstring&) const;
274
+ %ignore bzs::db::protocol::tdap::client::fielddefs::create;
275
+ %rename(getFielddef) bzs::db::protocol::tdap::client::fielddefs::operator[] (int index) const;
276
+ // create and release methods for fielddefs class
277
+ %extend bzs::db::protocol::tdap::client::fielddefs {
278
+ fielddefs() {
279
+ return bzs::db::protocol::tdap::client::fielddefs::create();
280
+ }
281
+ ~fielddefs() {
282
+ self->release();
283
+ }
284
+ };
285
+ // ignore original methods
286
+ %ignore bzs::db::protocol::tdap::client::fielddefs::fielddefs;
287
+ %ignore bzs::db::protocol::tdap::client::fielddefs::~fielddefs;
288
+
289
+ // * bzs/db/protocol/tdap/client/fields.h *
290
+ %ignore bzs::db::protocol::tdap::client::fields;
291
+ %ignore bzs::db::protocol::tdap::client::fieldsBase::operator[](const std::_tstring&) const;
292
+ %ignore bzs::db::protocol::tdap::client::fieldsBase::fd;
293
+ %ignore bzs::db::protocol::tdap::client::fieldsBase::setInvalidRecord;
294
+ // add methods
295
+ %extend bzs::db::protocol::tdap::client::fieldsBase {
296
+ void getFieldByIndexRef(short index, field& return_field) const {
297
+ return_field = self->operator[](index);
298
+ }
299
+ void getFieldByNameRef(const _TCHAR* name, field& return_field) const {
300
+ return_field = self->operator[](name);
301
+ }
302
+ };
303
+ %rename(Record) bzs::db::protocol::tdap::client::fieldsBase;
304
+
305
+ // * bzs/db/protocol/tdap/client/groupQuery.h *
306
+ %ignore bzs::db::protocol::tdap::client::avg::create;
307
+ %ignore bzs::db::protocol::tdap::client::count::create;
308
+ %ignore bzs::db::protocol::tdap::client::fieldNames::operator=;
309
+ %ignore bzs::db::protocol::tdap::client::fieldNames::create;
310
+ %ignore bzs::db::protocol::tdap::client::groupFuncBase::operator=;
311
+ %ignore bzs::db::protocol::tdap::client::groupQuery::operator=;
312
+ %ignore bzs::db::protocol::tdap::client::groupQuery::create;
313
+ %ignore bzs::db::protocol::tdap::client::max::create;
314
+ %ignore bzs::db::protocol::tdap::client::min::create;
315
+ %ignore bzs::db::protocol::tdap::client::recordsetQuery::operator=;
316
+ %ignore bzs::db::protocol::tdap::client::recordsetQuery::create;
317
+ %ignore bzs::db::protocol::tdap::client::sortField;
318
+ %ignore bzs::db::protocol::tdap::client::sortFields;
319
+ %ignore bzs::db::protocol::tdap::client::sortFields::operator[];
320
+ %ignore bzs::db::protocol::tdap::client::sum::create;
321
+ // create and release methods for fieldNames class
322
+ %extend bzs::db::protocol::tdap::client::fieldNames {
323
+ fieldNames() {
324
+ return bzs::db::protocol::tdap::client::fieldNames::create();
325
+ }
326
+ ~fieldNames() {
327
+ self->release();
328
+ }
329
+ };
330
+ // ignore original methods
331
+ %ignore bzs::db::protocol::tdap::client::fieldNames::fieldNames;
332
+ %ignore bzs::db::protocol::tdap::client::fieldNames::~fieldNames;
333
+ // create and release methods for groupQuery class
334
+ %extend bzs::db::protocol::tdap::client::groupQuery {
335
+ groupQuery() {
336
+ return bzs::db::protocol::tdap::client::groupQuery::create();
337
+ }
338
+ ~groupQuery() {
339
+ self->release();
340
+ }
341
+ };
342
+ // ignore original methods
343
+ %ignore bzs::db::protocol::tdap::client::groupQuery::groupQuery;
344
+ %ignore bzs::db::protocol::tdap::client::groupQuery::~groupQuery;
345
+ // create and release methods for recordsetQuery class
346
+ %extend bzs::db::protocol::tdap::client::recordsetQuery {
347
+ recordsetQuery() {
348
+ return bzs::db::protocol::tdap::client::recordsetQuery::create();
349
+ }
350
+ ~recordsetQuery() {
351
+ self->release();
352
+ }
353
+ };
354
+ // ignore original methods
355
+ %ignore bzs::db::protocol::tdap::client::recordsetQuery::recordsetQuery;
356
+ %ignore bzs::db::protocol::tdap::client::recordsetQuery::~recordsetQuery;
357
+ // create and release methods for avg class
358
+ %extend bzs::db::protocol::tdap::client::avg {
359
+ avg(const fieldNames& targetNames, const _TCHAR* resultName = NULL) {
360
+ return bzs::db::protocol::tdap::client::avg::create(targetNames, resultName);
361
+ }
362
+ ~avg() {
363
+ self->release();
364
+ }
365
+ };
366
+ // ignore original methods
367
+ %ignore bzs::db::protocol::tdap::client::avg::avg;
368
+ %ignore bzs::db::protocol::tdap::client::avg::~avg;
369
+ // create and release methods for count class
370
+ %extend bzs::db::protocol::tdap::client::count {
371
+ count(const _TCHAR* resultName) {
372
+ return bzs::db::protocol::tdap::client::count::create(resultName);
373
+ }
374
+ ~count() {
375
+ self->release();
376
+ }
377
+ };
378
+ // ignore original methods
379
+ %ignore bzs::db::protocol::tdap::client::count::count;
380
+ %ignore bzs::db::protocol::tdap::client::count::~count;
381
+ // create and release methods for max class
382
+ %extend bzs::db::protocol::tdap::client::max {
383
+ max(const fieldNames& targetNames, const _TCHAR* resultName = NULL) {
384
+ return bzs::db::protocol::tdap::client::max::create(targetNames, resultName);
385
+ }
386
+ ~max() {
387
+ self->release();
388
+ }
389
+ };
390
+ // ignore original methods
391
+ %ignore bzs::db::protocol::tdap::client::max::max;
392
+ %ignore bzs::db::protocol::tdap::client::max::~max;
393
+ // create and release methods for min class
394
+ %extend bzs::db::protocol::tdap::client::min {
395
+ min(const fieldNames& targetNames, const _TCHAR* resultName = NULL) {
396
+ return bzs::db::protocol::tdap::client::min::create(targetNames, resultName);
397
+ }
398
+ ~min() {
399
+ self->release();
400
+ }
401
+ };
402
+ // ignore original methods
403
+ %ignore bzs::db::protocol::tdap::client::min::min;
404
+ %ignore bzs::db::protocol::tdap::client::min::~min;
405
+ // create and release methods for sum class
406
+ %extend bzs::db::protocol::tdap::client::sum {
407
+ sum(const fieldNames& targetNames, const _TCHAR* resultName = NULL) {
408
+ return bzs::db::protocol::tdap::client::sum::create(targetNames, resultName);
409
+ }
410
+ ~sum() {
411
+ self->release();
412
+ }
413
+ };
414
+ // ignore original methods
415
+ %ignore bzs::db::protocol::tdap::client::sum::sum;
416
+ %ignore bzs::db::protocol::tdap::client::sum::~sum;
417
+
418
+ // * bzs/db/protocol/tdap/client/memRecord.h *
419
+ %ignore bzs::db::protocol::tdap::client::autoMemory;
420
+ %ignore bzs::db::protocol::tdap::client::autoMemory::operator=;
421
+ %ignore bzs::db::protocol::tdap::client::memoryRecord::clear;
422
+ %ignore bzs::db::protocol::tdap::client::memoryRecord::create;
423
+ %ignore bzs::db::protocol::tdap::client::memoryRecord::setRecordData;
424
+ %rename(createRecord) bzs::db::protocol::tdap::client::memoryRecord::create(fielddefs&);
425
+ // create and release methods for memoryRecord class
426
+ %extend bzs::db::protocol::tdap::client::memoryRecord {
427
+ memoryRecord(fielddefs& fds) {
428
+ return bzs::db::protocol::tdap::client::memoryRecord::create(fds);
429
+ }
430
+ ~memoryRecord() {
431
+ bzs::db::protocol::tdap::client::memoryRecord::release(self);
432
+ }
433
+ };
434
+ // ignore original methods
435
+ %ignore bzs::db::protocol::tdap::client::memoryRecord::memoryRecord;
436
+ %ignore bzs::db::protocol::tdap::client::memoryRecord::~memoryRecord;
437
+
438
+ // * bzs/db/protocol/tdap/client/nsDatabase.h *
85
439
  %ignore bzs::db::protocol::tdap::client::nsdatabase::btrvFunc;
86
- %ignore bzs::db::protocol::tdap::fileSpec;
440
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::operator=;
441
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::createTable;
442
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::getBtrVersion(btrVersions*, uchar_td*);
443
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::getDllUnloadCallbackFunc;
444
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::isTestPtrIgnore;
445
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::localSharing;
446
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::setTestPtrIgnore;
447
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::testTablePtr;
448
+
449
+ // * bzs/db/protocol/tdap/client/nsTable.h *
450
+ %ignore bzs::db::protocol::tdap::client::nstable::data;
451
+ %ignore bzs::db::protocol::tdap::client::nstable::setBuflen;
452
+ %ignore bzs::db::protocol::tdap::client::nstable::setData;
453
+ %ignore bzs::db::protocol::tdap::client::nstable::setStat;
454
+ %ignore bzs::db::protocol::tdap::client::nstable::test;
455
+ %ignore bzs::db::protocol::tdap::client::nstable::throwError;
456
+ %rename(tdapLastErr) bzs::db::protocol::tdap::client::nstable::tdapErr(HWND, _TCHAR*);
457
+
458
+ // * bzs/db/protocol/tdap/client/recordset.h *
459
+ %ignore bzs::db::protocol::tdap::client::recordset::operator=;
460
+ %ignore bzs::db::protocol::tdap::client::recordset::create;
461
+ %rename(Recordset) bzs::db::protocol::tdap::client::recordset;
462
+ %rename(unionRecordset) bzs::db::protocol::tdap::client::recordset::operator+=;
463
+ // add method
464
+ %extend bzs::db::protocol::tdap::client::recordset {
465
+ void getRow(size_t index, bzs::db::protocol::tdap::client::fieldsBase** return_record){
466
+ *return_record = &(self->operator[](index));
467
+ }
468
+ };
469
+ // create and release methods for recordset class
470
+ %extend bzs::db::protocol::tdap::client::recordset {
471
+ recordset() {
472
+ return bzs::db::protocol::tdap::client::recordset::create();
473
+ }
474
+ ~recordset() {
475
+ self->release();
476
+ }
477
+ };
478
+ %ignore bzs::db::protocol::tdap::client::recordset::recordset;
479
+ %ignore bzs::db::protocol::tdap::client::recordset::~recordset;
480
+
481
+ // * bzs/db/protocol/tdap/client/table.h *
482
+ %ignore bzs::db::protocol::tdap::client::keyValuePtr;
483
+ %ignore bzs::db::protocol::tdap::client::mra_nojoin;
484
+ %ignore bzs::db::protocol::tdap::client::mra_first;
485
+ %ignore bzs::db::protocol::tdap::client::mra_nextrows;
486
+ %ignore bzs::db::protocol::tdap::client::mra_innerjoin;
487
+ %ignore bzs::db::protocol::tdap::client::mra_outerjoin;
488
+ %ignore bzs::db::protocol::tdap::client::mra_current_block;
489
+ %ignore bzs::db::protocol::tdap::client::multiRecordAlocator;
490
+ %ignore bzs::db::protocol::tdap::client::query::create;
491
+ %ignore bzs::db::protocol::tdap::client::queryBase::operator=;
492
+ %ignore bzs::db::protocol::tdap::client::queryBase::addField;
493
+ %ignore bzs::db::protocol::tdap::client::queryBase::addLogic;
494
+ %ignore bzs::db::protocol::tdap::client::queryBase::addSeekKeyValuePtr;
495
+ %ignore bzs::db::protocol::tdap::client::queryBase::reserveSeekKeyValuePtrSize;
496
+ %ignore bzs::db::protocol::tdap::client::queryBase::queryBase;
497
+ %ignore bzs::db::protocol::tdap::client::queryBase::~queryBase;
498
+ %ignore bzs::db::protocol::tdap::client::queryBase::create;
499
+ %ignore bzs::db::protocol::tdap::client::table::fieldPtr;
500
+ %ignore bzs::db::protocol::tdap::client::table::getCurProcFieldCount;
501
+ %ignore bzs::db::protocol::tdap::client::table::getCurProcFieldIndex;
502
+ // create and release methods for query class
503
+ %extend bzs::db::protocol::tdap::client::query {
504
+ query() {
505
+ return bzs::db::protocol::tdap::client::query::create();
506
+ }
507
+ ~query() {
508
+ self->release();
509
+ }
510
+ };
511
+ // ignore original methods
512
+ %ignore bzs::db::protocol::tdap::client::query::query;
513
+ %ignore bzs::db::protocol::tdap::client::query::~query;
514
+ // ignore keyValueDescription and re-define with expand.
515
+ %ignore bzs::db::protocol::tdap::client::table::keyValueDescription(_TCHAR* buf, int bufsize);
516
+ %typemap(in,numinputs=0) (_TCHAR* keyValueDescription_buf) (_TCHAR tmpbuf[1024 * 8]) {
517
+ $1 = tmpbuf;
518
+ }
519
+ %extend bzs::db::protocol::tdap::client::table {
520
+ const _TCHAR* keyValueDescription(_TCHAR* keyValueDescription_buf) {
521
+ self->keyValueDescription(keyValueDescription_buf, 1024 * 8);
522
+ return keyValueDescription_buf;
523
+ }
524
+ };
525
+ // create and release methods for table class
526
+ %extend bzs::db::protocol::tdap::client::table {
527
+ void release() {
528
+ if (bzs::db::protocol::tdap::client::nsdatabase::testTablePtr(self))
529
+ self->release();
530
+ }
531
+ ~table() {
532
+ if (!g_vPtrList.remove(self))
533
+ {
534
+ if (bzs::db::protocol::tdap::client::nsdatabase::testTablePtr(self))
535
+ self->release();
536
+ }
537
+ }
538
+ };
539
+ // ignore original methods
540
+ %ignore bzs::db::protocol::tdap::client::table::table;
541
+ %ignore bzs::db::protocol::tdap::client::table::~table;
542
+
543
+ // * bzs/db/protocol/tdap/client/trdboostapi.h *
544
+ %ignore bzs::db::protocol::tdap::client::autoBulkinsert;
545
+ %ignore bzs::db::protocol::tdap::client::createDatabaseObject;
546
+ %ignore bzs::db::protocol::tdap::client::eFindCurrntType;
547
+ %ignore bzs::db::protocol::tdap::client::eIndexOpType;
548
+ %ignore bzs::db::protocol::tdap::client::eStepOpType;
549
+ %ignore bzs::db::protocol::tdap::client::filterdIterator;
550
+ %ignore bzs::db::protocol::tdap::client::qlogic;
551
+ %ignore bzs::db::protocol::tdap::client::snapshot;
552
+ %ignore bzs::db::protocol::tdap::client::tableIterator;
553
+ %ignore bzs::db::protocol::tdap::client::transaction;
554
+ %ignore bzs::db::protocol::tdap::client::connect;
555
+ %ignore bzs::db::protocol::tdap::client::connectOpen;
556
+ %ignore bzs::db::protocol::tdap::client::convertTable;
557
+ %ignore bzs::db::protocol::tdap::client::createDatabase;
558
+ %ignore bzs::db::protocol::tdap::client::createDatabaseForConnectionPool;
559
+ %ignore bzs::db::protocol::tdap::client::createDatadaseObject;
560
+ %ignore bzs::db::protocol::tdap::client::deleteRecord;
561
+ %ignore bzs::db::protocol::tdap::client::disconnect;
562
+ %ignore bzs::db::protocol::tdap::client::dropDatabase;
563
+ %ignore bzs::db::protocol::tdap::client::filterdIterator;
564
+ %ignore bzs::db::protocol::tdap::client::filterdIterator::operator++;
565
+ %ignore bzs::db::protocol::tdap::client::filterdIterator::operator==;
566
+ %ignore bzs::db::protocol::tdap::client::filterdIterator::operator!=;
567
+ %ignore bzs::db::protocol::tdap::client::filterdIterator::operator*;
568
+ %ignore bzs::db::protocol::tdap::client::filterdIterator::operator->;
569
+ %ignore bzs::db::protocol::tdap::client::find;
570
+ %ignore bzs::db::protocol::tdap::client::findRv;
571
+ %ignore bzs::db::protocol::tdap::client::for_each;
572
+ %ignore bzs::db::protocol::tdap::client::getFindIterator;
573
+ %ignore bzs::db::protocol::tdap::client::getTable;
574
+ %ignore bzs::db::protocol::tdap::client::insertField;
575
+ %ignore bzs::db::protocol::tdap::client::insertKey;
576
+ %ignore bzs::db::protocol::tdap::client::insertRecord;
577
+ %ignore bzs::db::protocol::tdap::client::insertTable;
578
+ %ignore bzs::db::protocol::tdap::client::isSameUri;
579
+ %ignore bzs::db::protocol::tdap::client::lexical_cast;
580
+ %ignore bzs::db::protocol::tdap::client::openDatabase;
581
+ %ignore bzs::db::protocol::tdap::client::openTable;
582
+ %ignore bzs::db::protocol::tdap::client::readIndex;
583
+ %ignore bzs::db::protocol::tdap::client::readIndex_v;
584
+ %ignore bzs::db::protocol::tdap::client::readIndexRv;
585
+ %ignore bzs::db::protocol::tdap::client::readIndexRv_v;
586
+ %ignore bzs::db::protocol::tdap::client::readStep;
587
+ %ignore bzs::db::protocol::tdap::client::readStepRv;
588
+ %ignore bzs::db::protocol::tdap::client::releaseDatabase;
589
+ %ignore bzs::db::protocol::tdap::client::releaseTable;
590
+ %ignore bzs::db::protocol::tdap::client::snapshot;
591
+ %ignore bzs::db::protocol::tdap::client::tableIterator;
592
+ %ignore bzs::db::protocol::tdap::client::tableIterator::operator++;
593
+ %ignore bzs::db::protocol::tdap::client::tableIterator::operator--;
594
+ %ignore bzs::db::protocol::tdap::client::tableIterator::operator==;
595
+ %ignore bzs::db::protocol::tdap::client::tableIterator::operator!=;
596
+ %ignore bzs::db::protocol::tdap::client::tableIterator::operator*;
597
+ %ignore bzs::db::protocol::tdap::client::tableIterator::operator->;
598
+ %ignore bzs::db::protocol::tdap::client::transaction;
599
+ %ignore bzs::db::protocol::tdap::client::updateRecord;
600
+ %ignore bzs::db::protocol::tdap::client::updateTableDef;
601
+ %ignore bzs::db::protocol::tdap::client::filter_validate_value;
602
+ %ignore bzs::db::protocol::tdap::client::filter_validate_block;
603
+ %ignore bzs::db::protocol::tdap::client::filter_invalidate_value;
604
+
605
+ // * bzs/db/protocol/tdap/client/trdormapi.h *
606
+ %ignore bzs::db::protocol::tdap::client::setValue;
607
+ %ignore bzs::db::protocol::tdap::client::begin;
608
+ %ignore bzs::db::protocol::tdap::client::end;
609
+ %ignore bzs::db::protocol::tdap::client::push_back;
610
+ %ignore bzs::db::protocol::tdap::client::readBefore;
611
+ %ignore bzs::db::protocol::tdap::client::mdlsHandler;
612
+ %ignore bzs::db::protocol::tdap::client::compFunc;
613
+ %ignore bzs::db::protocol::tdap::client::sortFunc;
614
+ %ignore bzs::db::protocol::tdap::client::sortFuncBase;
615
+ %ignore bzs::db::protocol::tdap::client::sortFunctor;
616
+ %ignore bzs::db::protocol::tdap::client::sort;
617
+ %ignore bzs::db::protocol::tdap::client::mraResetter;
618
+
619
+ // * bzs/db/protocol/tdap/tdapSchema.h *
620
+ %ignore DLLUNLOADCALLBACK_PTR;
621
+ %ignore dllUnloadCallback;
87
622
  %ignore bzs::db::protocol::tdap::keySpec;
623
+ %ignore bzs::db::protocol::tdap::fileSpec;
624
+ %ignore bzs::db::protocol::tdap::fielddef::blobDataPtr;
625
+ %ignore bzs::db::protocol::tdap::fielddef::blobDataLen;
626
+ %ignore bzs::db::protocol::tdap::fielddef::chainChar;
88
627
  %ignore bzs::db::protocol::tdap::fielddef::dataLen;
628
+ %ignore bzs::db::protocol::tdap::fielddef::getKeyValueFromKeybuf;
89
629
  %ignore bzs::db::protocol::tdap::fielddef::keyCopy;
90
630
  %ignore bzs::db::protocol::tdap::fielddef::keyData;
91
631
  %ignore bzs::db::protocol::tdap::fielddef::keyDataLen;
92
- %ignore bzs::db::protocol::tdap::fielddef::blobDataPtr;
93
- %ignore bzs::db::protocol::tdap::fielddef::blobDataLen;
94
- // overwrote functions
95
- %ignore bzs::db::protocol::tdap::client::nsdatabase::createTable;
96
- %ignore bzs::db::protocol::tdap::client::nsdatabase::getBtrVersion(btrVersions*, uchar_td*);
97
- // ignore members used BizStation internal only
98
- %ignore bzs::db::protocol::tdap::fielddef::chainChar;
632
+ %ignore bzs::db::protocol::tdap::fielddef::maxVarDatalen;
633
+ %ignore bzs::db::protocol::tdap::fielddef::nameA;
99
634
  %ignore bzs::db::protocol::tdap::fielddef::setChainChar;
635
+ %ignore bzs::db::protocol::tdap::fielddef::setNameA;
636
+ %ignore bzs::db::protocol::tdap::fielddef::unPackCopy;
100
637
  %ignore bzs::db::protocol::tdap::fielddef_t::defValue;
101
638
  %ignore bzs::db::protocol::tdap::fielddef_t::defViewWidth;
102
639
  %ignore bzs::db::protocol::tdap::fielddef_t::enableFlags;
@@ -111,79 +648,58 @@ using namespace bzs::db::protocol::tdap::client;
111
648
  %ignore bzs::db::protocol::tdap::fielddef_t::viewWidth;
112
649
  %ignore bzs::db::protocol::tdap::tabledef::autoIncExSpace;
113
650
  %ignore bzs::db::protocol::tdap::tabledef::convertFileNum;
651
+ %ignore bzs::db::protocol::tdap::tabledef::fileNameA;
652
+ %ignore bzs::db::protocol::tdap::tabledef::filler0;
114
653
  %ignore bzs::db::protocol::tdap::tabledef::iconIndex;
115
654
  %ignore bzs::db::protocol::tdap::tabledef::iconIndex2;
116
655
  %ignore bzs::db::protocol::tdap::tabledef::iconIndex3;
117
656
  %ignore bzs::db::protocol::tdap::tabledef::optionFlags;
118
657
  %ignore bzs::db::protocol::tdap::tabledef::parentKeyNum;
119
658
  %ignore bzs::db::protocol::tdap::tabledef::replicaKeyNum;
120
- %ignore bzs::db::protocol::tdap::tabledef::treeIndex;
121
- %ignore bzs::db::protocol::tdap::tabledef::filler0;
122
659
  %ignore bzs::db::protocol::tdap::tabledef::reserved;
123
- %ignore bzs::db::protocol::tdap::client::dbdef::fieldNumByViewNum;
124
- // ignore operator=
125
- %ignore bzs::db::protocol::tdap::client::nsdatabase::operator=;
126
- %ignore bzs::db::protocol::tdap::client::database::operator=;
127
- // ignore internal structures / functions
128
- %ignore bzs::rtl::benchmark::report;
129
- // ignore methods that will be replaced other methods
130
- %ignore bzs::db::protocol::tdap::client::table::keyValueDescription(_TCHAR* buf, int bufsize);
131
- %ignore bzs::db::protocol::tdap::client::queryBase::addField;
132
- %ignore bzs::db::protocol::tdap::client::queryBase::addLogic;
133
- %ignore bzs::db::protocol::tdap::client::queryBase::addSeekKeyValue;
134
- // ignore queryBase destructor. use release instead of it.
135
- %ignore bzs::db::protocol::tdap::client::queryBase::~queryBase;
136
- %newobject bzs::db::protocol::tdap::client::queryBase::create;
137
- %delobject bzs::db::protocol::tdap::client::queryBase::release;
138
-
139
-
140
- /* ===============================================
141
- Rename section
142
- =============================================== */
143
- // duplicate name (class method and instance method)
144
- %rename(tdapLastErr) bzs::db::protocol::tdap::client::nstable::tdapErr(HWND, _TCHAR*);
145
-
146
-
147
- /* ===============================================
148
- Memory management
149
- =============================================== */
150
- // add new/delobject define for database
151
- %newobject bzs::db::protocol::tdap::client::database::createObject;
152
- %delobject bzs::db::protocol::tdap::client::database::release;
153
- %ignore bzs::db::protocol::tdap::client::database::destroy;
154
- %ignore bzs::db::protocol::tdap::client::database::release;
155
-
156
- // add new/delobject define for table
157
- %newobject bzs::db::protocol::tdap::client::database::openTable;
158
- %delobject bzs::db::protocol::tdap::client::table::release;
159
- %ignore bzs::db::protocol::tdap::client::nstable::release;
160
- %ignore bzs::db::protocol::tdap::client::table::release;
161
-
162
-
163
- /* ===============================================
164
- type defines
165
- =============================================== */
166
- %apply unsigned long long { unsigned __int64 }
167
- %apply long long { __int64 }
168
-
660
+ %ignore bzs::db::protocol::tdap::tabledef::tableNameA;
661
+ %ignore bzs::db::protocol::tdap::tabledef::treeIndex;
662
+ %ignore bzs::db::protocol::tdap::tabledef::setFileNameA;
663
+ %ignore bzs::db::protocol::tdap::tabledef::setTableNameA;
169
664
 
170
- /* ===============================================
171
- typemap and extend for table::keyValueDescription
172
- =============================================== */
173
- %typemap(in,numinputs=0) (_TCHAR* keyValueDescription_buf) (_TCHAR tmpbuf[1024 * 8]) {
174
- $1 = tmpbuf;
175
- }
176
- %extend bzs::db::protocol::tdap::client::table {
177
- const _TCHAR* keyValueDescription(_TCHAR* keyValueDescription_buf) {
178
- self->keyValueDescription(keyValueDescription_buf, 1024 * 8);
179
- return keyValueDescription_buf;
665
+ // add methods
666
+ %extend bzs::db::protocol::tdap::keydef {
667
+ keySegment* segment(const int index)
668
+ {
669
+ return &(self->segments[index]);
670
+ }
671
+ };
672
+ %extend bzs::db::protocol::tdap::tabledef {
673
+ fielddef* fieldDef(const int index)
674
+ {
675
+ return &(self->fieldDefs[index]);
676
+ }
677
+ keydef* keyDef(const int index)
678
+ {
679
+ return &(self->keyDefs[index]);
180
680
  }
181
681
  };
682
+ %extend bzs::db::protocol::tdap::btrVersions {
683
+ btrVersion* version(const int index) {
684
+ return &(self->versions[index]);
685
+ }
686
+ };
687
+
688
+ // * bzs/rtl/benchmark.h *
689
+ %ignore bzs::rtl::benchmark::report;
690
+ %ignore bzs::rtl::benchmark::report2;
691
+ %ignore bzs::rtl::benchmarkMt;
182
692
 
693
+ // common %ignore
694
+ %ignore *::addref;
695
+ %ignore *::destroy;
696
+ %ignore *::refCount;
697
+ %ignore *::release;
183
698
 
184
699
  /* ===============================================
185
700
  external symbols
186
701
  =============================================== */
702
+ #define DLLLIB
187
703
  %include bzs/env/compiler.h
188
704
  #ifdef SWIGWIN
189
705
  #define CP_ACP 0
@@ -209,110 +725,83 @@ using namespace bzs::db::protocol::tdap::client;
209
725
  %include bzs/db/protocol/tdap/btrDate.h
210
726
  %clear char * retbuf;
211
727
  // clear typemap for typemap for btrTimeStamp::toString/btrdtoa/btrttoa/btrstoa --
728
+ %include bzs/db/protocol/tdap/client/field.h
729
+ %include bzs/db/protocol/tdap/client/fields.h
730
+ %include bzs/db/protocol/tdap/client/memRecord.h
731
+ %include bzs/db/protocol/tdap/client/trdboostapi.h
732
+ %include bzs/db/protocol/tdap/client/groupQuery.h
733
+ %include bzs/db/protocol/tdap/client/recordset.h
734
+ %include bzs/db/protocol/tdap/client/activeTable.h
735
+ %include bzs/db/protocol/tdap/client/pooledDatabaseManager.h
212
736
 
213
737
 
214
738
  /* ===============================================
215
- expand queryBase class
216
- * Replace functions for convenience
739
+ template
217
740
  =============================================== */
218
- %extend bzs::db::protocol::tdap::client::queryBase {
219
- queryBase* select(const _TCHAR* value1,
220
- const _TCHAR* value2 = NULL, const _TCHAR* value3 = NULL, const _TCHAR* value4 = NULL,
221
- const _TCHAR* value5 = NULL, const _TCHAR* value6 = NULL, const _TCHAR* value7 = NULL,
222
- const _TCHAR* value8 = NULL, const _TCHAR* value9 = NULL, const _TCHAR* value10 = NULL)
223
- {
224
- self->addField(value1);
225
- if (value2 != NULL)
226
- self->addField(value2);
227
- if (value3 != NULL)
228
- self->addField(value3);
229
- if (value4 != NULL)
230
- self->addField(value4);
231
- if (value5 != NULL)
232
- self->addField(value5);
233
- if (value6 != NULL)
234
- self->addField(value6);
235
- if (value7 != NULL)
236
- self->addField(value7);
237
- if (value8 != NULL)
238
- self->addField(value8);
239
- if (value9 != NULL)
240
- self->addField(value9);
241
- if (value10 != NULL)
242
- self->addField(value10);
243
- return self;
244
- }
245
- queryBase* where(const _TCHAR* field, const _TCHAR* op, const _TCHAR* val)
246
- {
247
- self->addLogic(field, op, val);
248
- return self;
249
- }
250
- queryBase* And(const _TCHAR* field, const _TCHAR* op, const _TCHAR* val)
251
- {
252
- self->addLogic(_T("and") ,field, op, val);
253
- return self;
254
- }
255
- queryBase* Or(const _TCHAR* field, const _TCHAR* op, const _TCHAR* val)
256
- {
257
- self->addLogic(_T("or") ,field, op, val);
258
- return self;
259
- }
260
- queryBase* In(const _TCHAR* value1,
261
- const _TCHAR* value2 = NULL, const _TCHAR* value3 = NULL, const _TCHAR* value4 = NULL,
262
- const _TCHAR* value5 = NULL, const _TCHAR* value6 = NULL, const _TCHAR* value7 = NULL,
263
- const _TCHAR* value8 = NULL, const _TCHAR* value9 = NULL, const _TCHAR* value10 = NULL)
264
- {
265
- self->addSeekKeyValue(value1, false);
266
- if (value2 != NULL)
267
- self->addSeekKeyValue(value2, false);
268
- if (value3 != NULL)
269
- self->addSeekKeyValue(value3, false);
270
- if (value4 != NULL)
271
- self->addSeekKeyValue(value4, false);
272
- if (value5 != NULL)
273
- self->addSeekKeyValue(value5, false);
274
- if (value6 != NULL)
275
- self->addSeekKeyValue(value6, false);
276
- if (value7 != NULL)
277
- self->addSeekKeyValue(value7, false);
278
- if (value8 != NULL)
279
- self->addSeekKeyValue(value8, false);
280
- if (value9 != NULL)
281
- self->addSeekKeyValue(value9, false);
282
- if (value10 != NULL)
283
- self->addSeekKeyValue(value10, false);
284
- return self;
285
- }
286
- queryBase* addInValue(const _TCHAR* value, bool reset = false)
287
- {
288
- self->addSeekKeyValue(value, reset);
289
- return self;
290
- }
291
- };
741
+ // * 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
+ %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
+
767
+ // * bzs/db/protocol/tdap/client/groupQuery.h *
768
+ %template(when) bzs::db::protocol::tdap::client::recordsetQuery::when<_TCHAR*>;
769
+ %template(and_) bzs::db::protocol::tdap::client::recordsetQuery::and_<_TCHAR*>;
770
+ %template(or_) bzs::db::protocol::tdap::client::recordsetQuery::or_<_TCHAR*>;
292
771
 
772
+ // * bzs/db/protocol/tdap/client/table.h *
773
+ %template(where) bzs::db::protocol::tdap::client::query::where<_TCHAR*>;
774
+ %template(and_) bzs::db::protocol::tdap::client::query::and_<_TCHAR*>;
775
+ %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
+ %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>;
293
800
 
294
801
  /* ===============================================
295
- expand some classes
296
- * many languages can not use pointer as array so add helper functions.
802
+ cpointer
297
803
  =============================================== */
298
- %extend bzs::db::protocol::tdap::keydef {
299
- keySegment* segment(const int index)
300
- {
301
- return &(self->segments[index]);
302
- }
303
- };
304
- %extend bzs::db::protocol::tdap::tabledef {
305
- fielddef* fieldDef(const int index)
306
- {
307
- return &(self->fieldDefs[index]);
308
- }
309
- keydef* keyDef(const int index)
310
- {
311
- return &(self->keyDefs[index]);
312
- }
313
- };
314
- %extend bzs::db::protocol::tdap::btrVersions {
315
- btrVersion* version(const int index) {
316
- return &(self->versions[index]);
317
- }
318
- };
804
+ #if defined(SWIGPHP)
805
+ %include "cpointer.i"
806
+ %pointer_functions(bzs::db::protocol::tdap::client::fieldsBase*, fieldsBase_p_p)
807
+ #endif