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
@@ -12,8 +12,8 @@
12
12
  GNU General Public License for more details.
13
13
 
14
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
15
+ along with this program; if not, write to the Free Software
16
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
17
  02111-1307, USA.
18
18
  =================================================================*/
19
19
  #include "stdafx.h"
@@ -26,8 +26,6 @@
26
26
 
27
27
  using namespace bzs::db::protocol::tdap;
28
28
 
29
-
30
-
31
29
  STDMETHODIMP CDbDef::get_TableCount(short* Value)
32
30
  {
33
31
  *Value = m_dbDef->tableCount();
@@ -39,19 +37,19 @@ STDMETHODIMP CDbDef::TableDef(short Index, ITableDef** Value)
39
37
  if (!m_dbDef->tableDefs(Index))
40
38
  return Error("Invalid index.", IID_IDbDef);
41
39
 
42
- CComObject<CTableDef> *piObj = NULL;
40
+ CComObject<CTableDef>* piObj = NULL;
43
41
  CComObject<CTableDef>::CreateInstance(&piObj);
44
- if (piObj)
45
- {
46
- piObj->m_tabledefPtr = m_dbDef->tableDefPtr(Index);
47
- ITableDef* tbd;
48
- piObj->QueryInterface(IID_ITableDef, (void**)&tbd);
49
- _ASSERTE(tbd);
50
- *Value = tbd;
51
- }
52
- else
53
- *Value = 0;
54
-
42
+ if (piObj)
43
+ {
44
+ piObj->m_tabledefPtr = m_dbDef->tableDefPtr(Index);
45
+ ITableDef* tbd;
46
+ piObj->QueryInterface(IID_ITableDef, (void**)&tbd);
47
+ _ASSERTE(tbd);
48
+ *Value = tbd;
49
+ }
50
+ else
51
+ *Value = 0;
52
+
55
53
  return S_OK;
56
54
  }
57
55
 
@@ -73,7 +71,6 @@ STDMETHODIMP CDbDef::InsertTable(short index, ITableDef** Param1)
73
71
  m_dbDef->insertTable(&TableDef);
74
72
  this->TableDef(index, Param1);
75
73
  return S_OK;
76
-
77
74
  }
78
75
 
79
76
  STDMETHODIMP CDbDef::DeleteField(short TableIndex, short FieldIndex)
@@ -88,47 +85,52 @@ STDMETHODIMP CDbDef::DeleteKey(short TableIndex, short KeyIndex)
88
85
  return S_OK;
89
86
  }
90
87
 
91
- STDMETHODIMP CDbDef::InsertField(short TableIndex, short InsertIndex, IFieldDef** Param3)
88
+ STDMETHODIMP CDbDef::InsertField(short TableIndex, short InsertIndex,
89
+ IFieldDef** Param3)
92
90
 
93
91
  {
94
92
  fielddef* fdPtr = m_dbDef->insertField(TableIndex, InsertIndex);
95
93
  if (!fdPtr)
96
94
  return Error("Invalid index.", IID_IDbDef);
97
95
 
98
- CComObject<CFieldDef> *piObj;
96
+ CComObject<CFieldDef>* piObj;
99
97
  CComObject<CFieldDef>::CreateInstance(&piObj);
100
- if (piObj)
101
- {
102
- piObj->m_tabledefPtr = m_dbDef->tableDefPtr(TableIndex);
103
- piObj->m_index = InsertIndex;
104
- IFieldDef* fd;
105
- piObj->QueryInterface(IID_IFieldDef, (void**)&fd);
106
- _ASSERTE(fd);
107
- *Param3 = piObj;
108
- }else
109
- *Param3 = 0;
110
-
98
+ if (piObj)
99
+ {
100
+ piObj->m_tabledefPtr = m_dbDef->tableDefPtr(TableIndex);
101
+ piObj->m_index = InsertIndex;
102
+ IFieldDef* fd;
103
+ piObj->QueryInterface(IID_IFieldDef, (void**)&fd);
104
+ _ASSERTE(fd);
105
+ *Param3 = piObj;
106
+ }
107
+ else
108
+ *Param3 = 0;
109
+
111
110
  return S_OK;
112
111
  }
113
112
 
114
- STDMETHODIMP CDbDef::InsertKey(short TableIndex, short InsertIndex, IKeyDef** Param3)
113
+ STDMETHODIMP CDbDef::InsertKey(short TableIndex, short InsertIndex,
114
+ IKeyDef** Param3)
115
115
 
116
116
  {
117
117
  keydef* keyPtr = m_dbDef->insertKey(TableIndex, InsertIndex);
118
118
  if (!keyPtr)
119
119
  return Error("Invalid index.", IID_IDbDef);
120
- CComObject<CKeyDef> *piObj;
120
+ CComObject<CKeyDef>* piObj;
121
121
  CComObject<CKeyDef>::CreateInstance(&piObj);
122
- if (piObj)
123
- {
124
- piObj->m_tabledefPtr = m_dbDef->tableDefPtr(TableIndex);;
125
- piObj->m_index = InsertIndex;
126
- IKeyDef* kb;
127
- piObj->QueryInterface(IID_IKeyDef, (void**)&kb);
128
- _ASSERTE(kb);
129
- *Param3 = piObj;
130
- }else
131
- *Param3 = 0;
122
+ if (piObj)
123
+ {
124
+ piObj->m_tabledefPtr = m_dbDef->tableDefPtr(TableIndex);
125
+ ;
126
+ piObj->m_index = InsertIndex;
127
+ IKeyDef* kb;
128
+ piObj->QueryInterface(IID_IKeyDef, (void**)&kb);
129
+ _ASSERTE(kb);
130
+ *Param3 = piObj;
131
+ }
132
+ else
133
+ *Param3 = 0;
132
134
  return S_OK;
133
135
  }
134
136
 
@@ -156,74 +158,77 @@ STDMETHODIMP CDbDef::TableNumByName(BSTR Name, short* Value)
156
158
  return S_OK;
157
159
  }
158
160
 
159
- STDMETHODIMP CDbDef::FieldNumByName( short TableIndex, BSTR Name, short* Value)
161
+ STDMETHODIMP CDbDef::FieldNumByName(short TableIndex, BSTR Name, short* Value)
160
162
  {
161
163
  *Value = m_dbDef->fieldNumByName(TableIndex, Name);
162
164
  return S_OK;
163
165
  }
164
166
 
165
- STDMETHODIMP CDbDef::FieldValidLength( eFieldQuery Query, short FieldType, unsigned int* Value)
167
+ STDMETHODIMP CDbDef::FieldValidLength(eFieldQuery Query, short FieldType,
168
+ unsigned int* Value)
166
169
  {
167
- *Value = m_dbDef->fieldValidLength((client::eFieldQuery)Query, (uchar_td)FieldType);
170
+ *Value = m_dbDef->fieldValidLength((client::eFieldQuery)Query,
171
+ (uchar_td)FieldType);
168
172
  return S_OK;
169
173
  }
170
174
 
171
- STDMETHODIMP CDbDef::FindKeynumByFieldNum( short TableIndex, short Index, unsigned short* Value)
175
+ STDMETHODIMP CDbDef::FindKeynumByFieldNum(short TableIndex, short Index,
176
+ unsigned short* Value)
172
177
  {
173
178
  *Value = m_dbDef->findKeynumByFieldNum(TableIndex, Index);
174
179
  return S_OK;
175
180
  }
176
181
 
177
- STDMETHODIMP CDbDef::GetRecordLen( short TableIndex, unsigned short* Value)
182
+ STDMETHODIMP CDbDef::GetRecordLen(short TableIndex, unsigned short* Value)
178
183
  {
179
184
  *Value = m_dbDef->getRecordLen(TableIndex);
180
185
  return S_OK;
181
186
  }
182
187
 
183
- STDMETHODIMP CDbDef::get_OpenMode( eOpenMode* Value)
188
+ STDMETHODIMP CDbDef::get_OpenMode(eOpenMode* Value)
184
189
  {
185
190
  *Value = (eOpenMode)m_dbDef->openMode();
186
191
  return S_OK;
187
192
  }
188
193
 
189
- STDMETHODIMP CDbDef::PopBackup( short TableIndex)
194
+ STDMETHODIMP CDbDef::PopBackup(short TableIndex)
190
195
  {
191
- m_dbDef->popBackup(TableIndex);
196
+ m_dbDef->popBackup(TableIndex);
192
197
  return S_OK;
193
198
  }
194
- STDMETHODIMP CDbDef::PushBackup( short TableIndex)
199
+ STDMETHODIMP CDbDef::PushBackup(short TableIndex)
195
200
  {
196
- m_dbDef->pushBackup(TableIndex);
201
+ m_dbDef->pushBackup(TableIndex);
197
202
  return S_OK;
198
203
  }
199
204
 
200
- STDMETHODIMP CDbDef::RenumberTable( short OldIndex, short NewIndex)
205
+ STDMETHODIMP CDbDef::RenumberTable(short OldIndex, short NewIndex)
201
206
  {
202
- m_dbDef->renumberTable(OldIndex, NewIndex);
207
+ m_dbDef->renumberTable(OldIndex, NewIndex);
203
208
  return S_OK;
204
209
  }
205
210
 
206
- STDMETHODIMP CDbDef::Reopen( eOpenMode Mode)
211
+ STDMETHODIMP CDbDef::Reopen(eOpenMode Mode)
207
212
  {
208
- m_dbDef->reopen((char_td)Mode);
213
+ m_dbDef->reopen((char_td)Mode);
209
214
  return S_OK;
210
215
  }
211
216
 
212
- STDMETHODIMP CDbDef::get_Version( int* Value)
217
+ STDMETHODIMP CDbDef::get_Version(int* Value)
213
218
  {
214
- *Value = m_dbDef->version();
219
+ *Value = m_dbDef->version();
215
220
  return S_OK;
216
221
  }
217
222
 
218
- STDMETHODIMP CDbDef::put_Version( int Value)
223
+ STDMETHODIMP CDbDef::put_Version(int Value)
219
224
  {
220
- m_dbDef->setVersion(Value);
225
+ m_dbDef->setVersion(Value);
221
226
  return S_OK;
222
227
  }
223
228
 
224
- STDMETHODIMP CDbDef::get_Stat( eStatus* Value)
229
+ STDMETHODIMP CDbDef::get_Stat(eStatus* Value)
225
230
  {
226
- *Value = (eStatus)m_dbDef->stat();
231
+ *Value = (eStatus)m_dbDef->stat();
227
232
  return S_OK;
228
233
  }
229
234
 
@@ -231,7 +236,7 @@ STDMETHODIMP CDbDef::TdapErr(OLE_HANDLE hWnd, BSTR* Value)
231
236
  {
232
237
  if (Value)
233
238
  {
234
- wchar_t tmp[512] = {NULL};
239
+ wchar_t tmp[512] = { NULL };
235
240
  m_dbDef->tdapErr((HWND)hWnd, tmp);
236
241
  *Value = ::SysAllocString(tmp);
237
242
  }
@@ -239,4 +244,3 @@ STDMETHODIMP CDbDef::TdapErr(OLE_HANDLE hWnd, BSTR* Value)
239
244
  m_dbDef->tdapErr((HWND)hWnd);
240
245
  return S_OK;
241
246
  }
242
-
@@ -13,67 +13,67 @@
13
13
  GNU General Public License for more details.
14
14
 
15
15
  You should have received a copy of the GNU General Public License
16
- along with this program; if not, write to the Free Software
17
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
16
+ along with this program; if not, write to the Free Software
17
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18
18
  02111-1307, USA.
19
19
  =================================================================*/
20
20
  #include "resource.h"
21
21
  #include "tdclatl_i.h"
22
22
  #include <bzs/db/protocol/tdap/client/dbDef.h>
23
23
 
24
-
25
24
  using namespace ATL;
26
25
 
27
-
28
-
29
- class ATL_NO_VTABLE CDbDef : public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CDbDef, &CLSID_DbDef>,
30
- public IDispatchImpl<IDbDef, &IID_IDbDef, &LIBID_transactd, /* wMajor = */ 1, /* wMinor = */ 0>
26
+ class ATL_NO_VTABLE CDbDef
27
+ : public CComObjectRootEx<CComSingleThreadModel>,
28
+ public CComCoClass<CDbDef, &CLSID_DbDef>,
29
+ public IDispatchImpl<IDbDef, &IID_IDbDef, &LIBID_transactd,
30
+ /* wMajor = */ 1, /* wMinor = */ 0>
31
31
  {
32
-
33
32
 
34
33
  public:
35
- CDbDef():m_dbDef(NULL) {}
34
+ CDbDef() : m_dbDef(NULL) {}
36
35
 
37
- bzs::db::protocol::tdap::client::dbdef* m_dbDef;
38
-
39
- BEGIN_COM_MAP(CDbDef)
40
- COM_INTERFACE_ENTRY(IDbDef)
41
- COM_INTERFACE_ENTRY(IDispatch)
42
- END_COM_MAP()
36
+ bzs::db::protocol::tdap::client::dbdef* m_dbDef;
37
+
38
+ BEGIN_COM_MAP(CDbDef)
39
+ COM_INTERFACE_ENTRY(IDbDef)
40
+ COM_INTERFACE_ENTRY(IDispatch)
41
+ END_COM_MAP()
43
42
 
44
43
  DECLARE_PROTECT_FINAL_CONSTRUCT()
45
44
 
46
- HRESULT FinalConstruct() {return S_OK;}
45
+ HRESULT FinalConstruct() { return S_OK; }
47
46
 
48
- void FinalRelease(){}
47
+ void FinalRelease() {}
49
48
 
50
49
  public:
51
-
52
50
  STDMETHOD(get_TableCount)(short* Value);
53
51
  STDMETHOD(TableDef)(short Index, ITableDef** Value);
54
52
 
55
53
  STDMETHOD(InsertTable)(short index, ITableDef** Param1);
56
54
  STDMETHOD(DeleteField)(short TableIndex, short FieldIndex);
57
55
  STDMETHOD(DeleteKey)(short TableIndex, short KeyIndex);
58
- STDMETHOD(InsertField)(short TableIndex, short InsertIndex, IFieldDef** Param3);
56
+ STDMETHOD(InsertField)(short TableIndex, short InsertIndex,
57
+ IFieldDef** Param3);
59
58
 
60
59
  STDMETHOD(InsertKey)(short TableIndex, short InsertIndex, IKeyDef** Param3);
61
60
  STDMETHOD(UpDateTableDef)(short TableIndex);
62
- STDMETHOD(CompAsBackup)(short TableIndex, VARIANT_BOOL* Value);
63
- STDMETHOD(DeleteTable)(short TableIndex);
64
- STDMETHOD(TableNumByName)(BSTR Name, short* Value);
65
- STDMETHOD(FieldNumByName)( short TableIndex, BSTR Name, short* Value);
66
- STDMETHOD(FieldValidLength)( eFieldQuery Query, short FieldType, unsigned int* Value);
67
- STDMETHOD(FindKeynumByFieldNum)( short TableIndex, short Index, unsigned short* Value);
68
- STDMETHOD(GetRecordLen)( short TableIndex, unsigned short* Value);
69
- STDMETHOD(get_OpenMode)( eOpenMode* Value);
70
- STDMETHOD(PopBackup)( short TableIndex);
71
- STDMETHOD(PushBackup)( short TableIndex);
72
- STDMETHOD(RenumberTable)( short OldIndex, short NewIndex);
73
- STDMETHOD(Reopen)( eOpenMode Mode);
74
- STDMETHOD(get_Version)( int* Value);
75
- STDMETHOD(put_Version)( int Value);
76
- STDMETHOD(get_Stat)( eStatus* Value);
77
- STDMETHOD(TdapErr)(OLE_HANDLE hWnd, BSTR* Value);
78
-
61
+ STDMETHOD(CompAsBackup)(short TableIndex, VARIANT_BOOL* Value);
62
+ STDMETHOD(DeleteTable)(short TableIndex);
63
+ STDMETHOD(TableNumByName)(BSTR Name, short* Value);
64
+ STDMETHOD(FieldNumByName)(short TableIndex, BSTR Name, short* Value);
65
+ STDMETHOD(FieldValidLength)(eFieldQuery Query, short FieldType,
66
+ unsigned int* Value);
67
+ STDMETHOD(FindKeynumByFieldNum)(short TableIndex, short Index,
68
+ unsigned short* Value);
69
+ STDMETHOD(GetRecordLen)(short TableIndex, unsigned short* Value);
70
+ STDMETHOD(get_OpenMode)(eOpenMode* Value);
71
+ STDMETHOD(PopBackup)(short TableIndex);
72
+ STDMETHOD(PushBackup)(short TableIndex);
73
+ STDMETHOD(RenumberTable)(short OldIndex, short NewIndex);
74
+ STDMETHOD(Reopen)(eOpenMode Mode);
75
+ STDMETHOD(get_Version)(int* Value);
76
+ STDMETHOD(put_Version)(int Value);
77
+ STDMETHOD(get_Stat)(eStatus* Value);
78
+ STDMETHOD(TdapErr)(OLE_HANDLE hWnd, BSTR* Value);
79
79
  };
@@ -12,8 +12,8 @@
12
12
  GNU General Public License for more details.
13
13
 
14
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
15
+ along with this program; if not, write to the Free Software
16
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
17
  02111-1307, USA.
18
18
  =================================================================*/
19
19
  #include "stdafx.h"
@@ -22,46 +22,44 @@
22
22
  STDMETHODIMP CField::get_Text(BSTR* Value)
23
23
  {
24
24
 
25
- *Value = ::SysAllocString(m_tb->getFVstr(m_index));
25
+ *Value = ::SysAllocString(m_fd.getFVstr());
26
26
  return S_OK;
27
27
  }
28
28
 
29
29
  STDMETHODIMP CField::get_Vlng(int* Value)
30
30
  {
31
- *Value = m_tb->getFVint(m_index);
31
+ *Value = m_fd.getFVint();
32
32
  return S_OK;
33
33
  }
34
34
 
35
35
  STDMETHODIMP CField::put_Text(BSTR Value)
36
36
  {
37
- m_tb->setFVW(m_index, Value);
38
- ::SysFreeString(Value);
39
-
37
+ m_fd.operator=(Value);
40
38
  return S_OK;
41
39
  }
42
40
 
43
41
  STDMETHODIMP CField::put_Vlng(int Value)
44
42
  {
45
- m_tb->setFV(m_index, Value);
43
+ m_fd.operator=(Value);
46
44
  return S_OK;
47
45
  }
48
46
 
49
47
  STDMETHODIMP CField::get_V64(__int64* Value)
50
48
  {
51
- *Value = m_tb->getFV64(m_index);
49
+ *Value = m_fd.getFV64();
52
50
  return S_OK;
53
51
  }
54
52
 
55
53
  STDMETHODIMP CField::put_V64(__int64 Value)
56
54
  {
57
- m_tb->setFV(m_index, Value);
55
+ m_fd.operator=(Value);
58
56
  return S_OK;
59
57
  }
60
58
 
61
59
  STDMETHODIMP CField::get_Vbin(BSTR* Value)
62
60
  {
63
61
  uint_td size;
64
- void* p = m_tb->getFVbin(m_index, size);
62
+ void* p = m_fd.getFVbin(size);
65
63
 
66
64
  *Value = ::SysAllocStringByteLen((char*)p, size);
67
65
 
@@ -70,7 +68,7 @@ STDMETHODIMP CField::get_Vbin(BSTR* Value)
70
68
 
71
69
  STDMETHODIMP CField::get_Vdbl(double* Value)
72
70
  {
73
- *Value = m_tb->getFVdbl(m_index);
71
+ *Value = m_fd.getFVdbl();
74
72
  return S_OK;
75
73
  }
76
74
 
@@ -78,15 +76,12 @@ STDMETHODIMP CField::put_Vbin(BSTR Value)
78
76
  {
79
77
 
80
78
  int len = ::SysStringByteLen(Value);
81
- if (len > m_tb->tableDef()->fieldDefs[m_index].len)
82
- len = m_tb->tableDef()->fieldDefs[m_index].len;
83
- m_tb->setFV(m_index, Value, len);
84
-
79
+ m_fd.setBin(Value, len);
85
80
  return S_OK;
86
81
  }
87
82
 
88
83
  STDMETHODIMP CField::put_Vdbl(double Value)
89
84
  {
90
- m_tb->setFV(m_index, Value);
85
+ m_fd.operator=(Value);
91
86
  return S_OK;
92
87
  }
@@ -13,38 +13,42 @@
13
13
  GNU General Public License for more details.
14
14
 
15
15
  You should have received a copy of the GNU General Public License
16
- along with this program; if not, write to the Free Software
17
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
16
+ along with this program; if not, write to the Free Software
17
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18
18
  02111-1307, USA.
19
19
  =================================================================*/
20
20
  #include "resource.h"
21
21
 
22
22
  #include "tdclatl_i.h"
23
23
  #include <bzs/db/protocol/tdap/client/table.h>
24
+ #include <bzs/db/protocol/tdap/client/field.h>
24
25
 
25
26
  using namespace ATL;
26
27
 
27
- class ATL_NO_VTABLE CField : public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CField, &CLSID_Field>,
28
- public IDispatchImpl<IField, &IID_IField, &LIBID_transactd, /* wMajor = */ 1, /* wMinor = */ 0>
28
+ class ATL_NO_VTABLE CField
29
+ : public CComObjectRootEx<CComSingleThreadModel>,
30
+ public CComCoClass<CField, &CLSID_Field>,
31
+ public IDispatchImpl<IField, &IID_IField, &LIBID_transactd,
32
+ /* wMajor = */ 1, /* wMinor = */ 0>
29
33
  {
30
34
  public:
31
- CField():m_tb(NULL) {}
35
+ CField() : m_tb(NULL) {}
36
+ bzs::db::protocol::tdap::client::field m_fd;
32
37
  bzs::db::protocol::tdap::client::table* m_tb;
33
38
  short m_index;
34
39
 
35
- BEGIN_COM_MAP(CField)
36
- COM_INTERFACE_ENTRY(IField)
37
- COM_INTERFACE_ENTRY(IDispatch)
38
- END_COM_MAP()
40
+ BEGIN_COM_MAP(CField)
41
+ COM_INTERFACE_ENTRY(IField)
42
+ COM_INTERFACE_ENTRY(IDispatch)
43
+ END_COM_MAP()
39
44
 
40
45
  DECLARE_PROTECT_FINAL_CONSTRUCT()
41
46
 
42
- HRESULT FinalConstruct() {return S_OK;}
47
+ HRESULT FinalConstruct() { return S_OK; }
43
48
 
44
49
  void FinalRelease() {}
45
50
 
46
51
  public:
47
-
48
52
  STDMETHOD(get_Text)(BSTR* Value);
49
53
  STDMETHOD(get_Vlng)(int* Value);
50
54
  STDMETHOD(put_Text)(BSTR Value);
@@ -55,5 +59,4 @@ public:
55
59
  STDMETHOD(get_Vdbl)(double* Value);
56
60
  STDMETHOD(put_Vbin)(BSTR Value);
57
61
  STDMETHOD(put_Vdbl)(double Value);
58
-
59
62
  };