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
@@ -31,11 +31,11 @@ namespace protocol
31
31
  namespace tdap
32
32
  {
33
33
 
34
- #pragma option -a-
35
- pragma_pack1
34
+ #pragma pack(push, 1)
35
+ pragma_pack1;
36
36
 
37
37
  #ifdef SWIG
38
- /* For swig interface
38
+ /* For swig interface
39
39
  export field names.
40
40
  */
41
41
  union btrDate
@@ -62,7 +62,7 @@ union btrDateTime
62
62
  __int64 i64;
63
63
  };
64
64
 
65
- #else
65
+ #else
66
66
 
67
67
  union btrDate
68
68
  {
@@ -74,7 +74,6 @@ union btrDate
74
74
  };
75
75
 
76
76
  int i;
77
-
78
77
  };
79
78
 
80
79
  union btrTime
@@ -99,15 +98,12 @@ union btrDateTime
99
98
  };
100
99
 
101
100
  __int64 i64;
102
-
103
101
  };
104
102
 
105
- #endif //SWIG
106
-
103
+ #endif // SWIG
107
104
 
108
-
109
- #pragma option -a
110
- pragma_pop
105
+ #pragma pack(pop)
106
+ pragma_pop;
111
107
 
112
108
  class PACKAGE btrTimeStamp
113
109
  {
@@ -119,7 +115,7 @@ public:
119
115
 
120
116
  explicit btrTimeStamp(unsigned __int64 i);
121
117
  explicit btrTimeStamp(const char* p);
122
- btrTimeStamp(btrDate d, btrTime t);
118
+ btrTimeStamp(btrDate d, btrTime t);
123
119
  #ifdef _WIN32
124
120
  explicit btrTimeStamp(const wchar_t* p);
125
121
  wchar_t* toString(wchar_t* retbuf);
@@ -127,10 +123,8 @@ public:
127
123
  #endif
128
124
  char* toString(char* retbuf);
129
125
  void fromString(const char* p);
130
-
131
126
  };
132
127
 
133
-
134
128
  // Class bdate is for btrDate
135
129
 
136
130
  class PACKAGE bdate
@@ -144,24 +138,23 @@ public:
144
138
  const _TCHAR* month_str();
145
139
  const _TCHAR* date_str();
146
140
 
147
- int year() {return m_date.yy;};
141
+ int year() { return m_date.yy; };
148
142
 
149
- int date() {return m_date.dd;};
143
+ int date() { return m_date.dd; };
150
144
 
151
- int month() {return m_date.mm;};
145
+ int month() { return m_date.mm; };
152
146
 
153
- btrDate btr_date() {return m_date;};
147
+ btrDate btr_date() { return m_date; };
154
148
  const _TCHAR* c_str();
155
149
  };
156
150
 
157
151
  PACKAGE btrDate atobtrd(const char* date);
158
152
 
153
+ PACKAGE const char* btrdtoa(const btrDate& d, char* retbuf,
154
+ bool type_vb = false);
159
155
 
160
- PACKAGE const char* btrdtoa(const btrDate& d, char* retbuf, bool type_vb = false);
161
-
162
-
163
- PACKAGE const char* btrttoa(const btrTime& t, char* retbuf, bool type_vb = false);
164
-
156
+ PACKAGE const char* btrttoa(const btrTime& t, char* retbuf,
157
+ bool type_vb = false);
165
158
 
166
159
  PACKAGE btrTime atobtrt(const char* p);
167
160
 
@@ -177,15 +170,16 @@ inline const char* btrttoa(int time, char* retbuf, bool type_vb = false)
177
170
  btrTime t;
178
171
  t.i = time;
179
172
  return btrttoa(t, retbuf, type_vb);
180
-
181
173
  }
182
174
 
183
175
  #ifdef _WIN32
184
176
  PACKAGE btrDate atobtrd(const wchar_t* date);
185
177
 
186
- PACKAGE const wchar_t* btrdtoa(const btrDate& d, wchar_t* retbuf, bool type_vb = false);
178
+ PACKAGE const wchar_t* btrdtoa(const btrDate& d, wchar_t* retbuf,
179
+ bool type_vb = false);
187
180
 
188
- PACKAGE const wchar_t* btrttoa(const btrTime& t, wchar_t* retbuf, bool type_vb = false);
181
+ PACKAGE const wchar_t* btrttoa(const btrTime& t, wchar_t* retbuf,
182
+ bool type_vb = false);
189
183
 
190
184
  PACKAGE btrTime atobtrt(const wchar_t* p);
191
185
 
@@ -201,27 +195,35 @@ inline const wchar_t* btrttoa(int time, wchar_t* retbuf, bool type_vb = false)
201
195
  btrTime t;
202
196
  t.i = time;
203
197
  return btrttoa(t, retbuf, type_vb);
204
-
205
198
  }
206
199
 
207
200
  #endif
208
201
 
209
- PACKAGE const _TCHAR* btrstoa(const btrDateTime& d, _TCHAR* retbuf = NULL, bool type_vb = false);
202
+ PACKAGE const _TCHAR* btrstoa(const btrDateTime& d, _TCHAR* retbuf = NULL,
203
+ bool type_vb = false);
210
204
 
211
205
  PACKAGE btrDateTime atobtrs(const _TCHAR* p);
212
206
 
207
+ inline const _TCHAR* c_str(const btrDate& d)
208
+ {
209
+ return btrdtoa(d, (_TCHAR*)NULL);
210
+ }
213
211
 
214
- inline const _TCHAR* c_str(const btrDate& d) {return btrdtoa(d, (_TCHAR*)NULL);};
212
+ inline const _TCHAR* c_str(const btrTime& d)
213
+ {
214
+ return btrttoa(d, (_TCHAR*)NULL);
215
+ }
215
216
 
216
- inline const _TCHAR* c_str(const btrTime& d) {return btrttoa(d, (_TCHAR*)NULL);};
217
+ inline const _TCHAR* c_str(const btrDateTime& d, bool type_vb = false)
218
+ {
219
+ return btrstoa(d, (_TCHAR*)NULL, type_vb);
220
+ }
217
221
 
218
222
  PACKAGE int getNowDate();
219
223
  PACKAGE int getNowTime();
220
224
 
221
-
222
- }// namespace tdap
223
- }// namespace protocol
224
- }// namespace db
225
- }// namespace bzs
226
- #endif//BZS_DB_PROTOCOL_TDAP_BTRDATE_H
227
-
225
+ } // namespace tdap
226
+ } // namespace protocol
227
+ } // namespace db
228
+ } // namespace bzs
229
+ #endif // BZS_DB_PROTOCOL_TDAP_BTRDATE_H
@@ -0,0 +1,173 @@
1
+ /*=================================================================
2
+ Copyright (C) 2014 BizStation Corp All rights reserved.
3
+
4
+ This program is free software; you can redistribute it and/or
5
+ modify it under the terms of the GNU General Public License
6
+ as published by the Free Software Foundation; either version 2
7
+ of the License, or (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License
15
+ along with this program; if not, write to the Free Software
16
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ 02111-1307, USA.
18
+ =================================================================*/
19
+ #pragma hdrstop
20
+
21
+ #include "activeTable.h"
22
+ #include "activeTableImple.h"
23
+
24
+ #pragma package(smart_init)
25
+
26
+ namespace bzs
27
+ {
28
+ namespace db
29
+ {
30
+ namespace protocol
31
+ {
32
+ namespace tdap
33
+ {
34
+ namespace client
35
+ {
36
+
37
+ query* query::create()
38
+ {
39
+ return new query();
40
+ }
41
+
42
+ activeTable::activeTable(idatabaseManager* mgr, const _TCHAR* tableName)
43
+ : m_imple(new activeTableImple(mgr, tableName))
44
+ {
45
+ }
46
+
47
+ activeTable::activeTable(dbmanager_ptr& mgr, const _TCHAR* tableName)
48
+ : m_imple(new activeTableImple(mgr.get(), tableName))
49
+ {
50
+ }
51
+
52
+ activeTable::activeTable(database_ptr& db, const _TCHAR* tableName)
53
+ : m_imple(new activeTableImple(db, tableName))
54
+ {
55
+ }
56
+
57
+ activeTable::activeTable(database* db, const _TCHAR* tableName)
58
+ : m_imple(new activeTableImple(db, tableName))
59
+ {
60
+ }
61
+
62
+ activeTable::~activeTable()
63
+ {
64
+ delete m_imple;
65
+ }
66
+
67
+ table_ptr activeTable::table() const
68
+ {
69
+ return m_imple->table();
70
+ }
71
+
72
+ activeTable& activeTable::alias(const _TCHAR* src, const _TCHAR* dst)
73
+ {
74
+ m_imple->alias(src, dst);
75
+ return *this;
76
+ }
77
+
78
+ activeTable& activeTable::resetAlias()
79
+ {
80
+ m_imple->resetAlias();
81
+ return *this;
82
+ }
83
+
84
+ writableRecord& activeTable::getWritableRecord()
85
+ {
86
+ return m_imple->getWritableRecord();
87
+ }
88
+
89
+ activeTable& activeTable::join(recordset& rs, queryBase& q, const _TCHAR* name1,
90
+ const _TCHAR* name2, const _TCHAR* name3,
91
+ const _TCHAR* name4, const _TCHAR* name5,
92
+ const _TCHAR* name6, const _TCHAR* name7,
93
+ const _TCHAR* name8, const _TCHAR* name9,
94
+ const _TCHAR* name10, const _TCHAR* name11)
95
+ {
96
+ m_imple->join(*rs.m_imple, q, name1, name2, name3, name4, name5, name6,
97
+ name7, name8);
98
+ return *this;
99
+ }
100
+
101
+ activeTable& activeTable::outerJoin(recordset& rs, queryBase& q,
102
+ const _TCHAR* name1, const _TCHAR* name2,
103
+ const _TCHAR* name3, const _TCHAR* name4,
104
+ const _TCHAR* name5, const _TCHAR* name6,
105
+ const _TCHAR* name7, const _TCHAR* name8,
106
+ const _TCHAR* name9, const _TCHAR* name10,
107
+ const _TCHAR* name11)
108
+ {
109
+ m_imple->outerJoin(*rs.m_imple, q, name1, name2, name3, name4, name5, name6,
110
+ name7, name8);
111
+ return *this;
112
+ }
113
+
114
+ activeTable& activeTable::index(int v)
115
+ {
116
+ m_imple->index(v);
117
+ return *this;
118
+ }
119
+
120
+ activeTable& activeTable::option(int v)
121
+ {
122
+ m_imple->option(v);
123
+ return *this;
124
+ }
125
+
126
+ activeTable& activeTable::read(recordset& rs, queryBase& q)
127
+ {
128
+
129
+ m_imple->read(*rs.m_imple, q);
130
+ return *this;
131
+ }
132
+
133
+ activeTable& activeTable::read(recordset& rs, queryBase& q, validationFunc func)
134
+ {
135
+ m_imple->read(*rs.m_imple, q, func);
136
+ return *this;
137
+ }
138
+
139
+ activeTable* activeTable::create(idatabaseManager* mgr, const _TCHAR* tableName)
140
+ {
141
+ return new activeTable(mgr, tableName);
142
+ }
143
+
144
+ activeTable* activeTable::create(dbmanager_ptr& mgr, const _TCHAR* tableName)
145
+ {
146
+ return new activeTable(mgr, tableName);
147
+ }
148
+
149
+ activeTable* activeTable::create(database_ptr& db, const _TCHAR* tableName)
150
+ {
151
+ return new activeTable(db, tableName);
152
+ }
153
+
154
+ activeTable* activeTable::create(database* db, const _TCHAR* tableName)
155
+ {
156
+ return new activeTable(db, tableName);
157
+ }
158
+
159
+ void activeTable::release()
160
+ {
161
+ delete this;
162
+ }
163
+
164
+ void activeTable::releaseTable()
165
+ {
166
+ m_imple->releaseTable();
167
+ }
168
+
169
+ } // namespace client
170
+ } // namespace tdap
171
+ } // namespace protocol
172
+ } // namespace db
173
+ } // namespace bzs
@@ -0,0 +1,165 @@
1
+ #ifndef BZS_DB_PROTOCOL_TDAP_CLIENT_ACTIVETABLE_H
2
+ #define BZS_DB_PROTOCOL_TDAP_CLIENT_ACTIVETABLE_H
3
+ /* =================================================================
4
+ Copyright (C) 2014 BizStation Corp All rights reserved.
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU General Public License
8
+ as published by the Free Software Foundation; either version 2
9
+ of the License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program; if not, write to the Free Software
18
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
+ 02111-1307, USA.
20
+ ================================================================= */
21
+ #include "recordset.h"
22
+ #include "memRecord.h"
23
+
24
+ namespace bzs
25
+ {
26
+ namespace db
27
+ {
28
+ namespace protocol
29
+ {
30
+ namespace tdap
31
+ {
32
+ namespace client
33
+ {
34
+
35
+ class DLLLIB activeTable
36
+ {
37
+ class activeTableImple* m_imple;
38
+
39
+ activeTable(const activeTable& r);
40
+ activeTable& operator=(const activeTable& r);
41
+
42
+ public:
43
+ explicit activeTable(idatabaseManager* mgr, const _TCHAR* tableName);
44
+ explicit activeTable(dbmanager_ptr& mgr, const _TCHAR* tableName);
45
+ explicit activeTable(database_ptr& db, const _TCHAR* tableName);
46
+ explicit activeTable(database* db, const _TCHAR* tableName);
47
+
48
+ ~activeTable();
49
+
50
+ activeTable& alias(const _TCHAR* src, const _TCHAR* dst);
51
+
52
+ activeTable& resetAlias();
53
+
54
+ writableRecord& getWritableRecord();
55
+
56
+ activeTable& join(recordset& mdls, queryBase& q, const _TCHAR* name1,
57
+ const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
58
+ const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
59
+ const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
60
+ const _TCHAR* name8 = NULL, const _TCHAR* name9 = NULL,
61
+ const _TCHAR* name10 = NULL, const _TCHAR* name11 = NULL);
62
+
63
+ activeTable&
64
+ outerJoin(recordset& mdls, queryBase& q, const _TCHAR* name1,
65
+ const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
66
+ const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
67
+ const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
68
+ const _TCHAR* name8 = NULL, const _TCHAR* name9 = NULL,
69
+ const _TCHAR* name10 = NULL, const _TCHAR* name11 = NULL);
70
+
71
+ activeTable& index(int v);
72
+ table_ptr table() const;
73
+ activeTable& option(int v);
74
+ activeTable& read(recordset& mdls, queryBase& q);
75
+ activeTable& read(recordset& mdls, queryBase& q, validationFunc func);
76
+
77
+ /** @cond INTERNAL */
78
+
79
+ template <class T0> activeTable& keyValue(const T0 kv0)
80
+ {
81
+ keyValueSetter<T0>::set(table(), table()->keyNum(), kv0);
82
+ return *this;
83
+ }
84
+
85
+ template <class T0, class T1>
86
+ activeTable& keyValue(const T0 kv0, const T1 kv1)
87
+ {
88
+ keyValueSetter<T0, T1>::set(table(), table()->keyNum(), kv0, kv1);
89
+ return *this;
90
+ }
91
+
92
+ template <class T0, class T1, class T2>
93
+ activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2)
94
+ {
95
+ keyValueSetter<T0, T1, T2>::set(table(), table()->keyNum(), kv0, kv1,
96
+ kv2);
97
+ return *this;
98
+ }
99
+
100
+ template <class T0, class T1, class T2, class T3>
101
+ activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
102
+ const T3 kv3)
103
+ {
104
+ keyValueSetter<T0, T1, T2, T3>::set(table(), table()->keyNum(), kv0,
105
+ kv1, kv2, kv3);
106
+ return *this;
107
+ }
108
+
109
+ template <class T0, class T1, class T2, class T3, class T4>
110
+ activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
111
+ const T3 kv3, const T4 kv4)
112
+ {
113
+ keyValueSetter<T0, T1, T2, T3, T4>::set(table(), table()->keyNum(), kv0,
114
+ kv1, kv2, kv3, kv4);
115
+ return *this;
116
+ }
117
+
118
+ template <class T0, class T1, class T2, class T3, class T4, class T5>
119
+ activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
120
+ const T3 kv3, const T4 kv4, const T5 kv5)
121
+ {
122
+ keyValueSetter<T0, T1, T2, T3, T4, T5>::set(
123
+ table(), table()->keyNum(), kv0, kv1, kv2, kv3, kv4, kv5);
124
+ return *this;
125
+ }
126
+
127
+ template <class T0, class T1, class T2, class T3, class T4, class T5,
128
+ class T6>
129
+ activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
130
+ const T3 kv3, const T4 kv4, const T5 kv5,
131
+ const T6 kv6)
132
+ {
133
+ keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(
134
+ table(), table()->keyNum(), kv0, kv1, kv2, kv3, kv4, kv5, kv6);
135
+ return *this;
136
+ }
137
+
138
+ /** @endcond */
139
+
140
+ template <class T0, class T1, class T2, class T3, class T4, class T5,
141
+ class T6, class T7>
142
+ activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
143
+ const T3 kv3, const T4 kv4, const T5 kv5,
144
+ const T6 kv6, const T7 kv7)
145
+ {
146
+ keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
147
+ table(), table()->keyNum(), kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
148
+ return *this;
149
+ }
150
+
151
+ static activeTable* create(idatabaseManager* mgr, const _TCHAR* tableName);
152
+ static activeTable* create(dbmanager_ptr& mgr, const _TCHAR* tableName);
153
+ static activeTable* create(database_ptr& db, const _TCHAR* tableName);
154
+ static activeTable* create(database* db, const _TCHAR* tableName);
155
+ void release();
156
+ void releaseTable();
157
+ };
158
+
159
+ } // namespace client
160
+ } // namespace tdap
161
+ } // namespace protocol
162
+ } // namespace db
163
+ } // namespace bzs
164
+
165
+ #endif // BZS_DB_PROTOCOL_TDAP_CLIENT_ACTIVETABLE_H