transactd 1.2.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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/README-JA CHANGED
@@ -1,4 +1,4 @@
1
- Transactd リリースノート
1
+ Transactd リリースノート
2
2
  ===============================================================================
3
3
  Transactd PluginはMySQL/MariaDBにNoSQLアクセスを追加するプラグインです。
4
4
 
@@ -13,6 +13,8 @@ Transactd PluginはMySQL/MariaDBにNoSQLアクセスを追加するプラグイ
13
13
  * アプリケーションの開発
14
14
  * Testプログラム
15
15
  * ベンチマークプログラム
16
+ * C++ O/Rマッピングソースコードジェネレータ
17
+ * クエリーエグゼキューター
16
18
  * Transactd Pluginのライセンス
17
19
  * Transactdクライアントのライセンス
18
20
  * バグ報告・要望・質問など
@@ -43,14 +45,14 @@ show variables like 'version';
43
45
  ```
44
46
  ダウンロードするファイルは
45
47
 
46
- * Windowsの場合 transactd-[platform]-1.1.0_[mysql-version].zip
47
- * Linuxの場合 transactd-linux-x86_64-1.1.0_[mysql-version].tar.gz
48
+ * Windowsの場合 transactd-[platform]-2.0.0_[mysql-version].zip
49
+ * Linuxの場合 transactd-linux-x86_64-2.0.0_[mysql-version].tar.gz
48
50
 
49
51
  といった形式です。
50
52
  [platform]はwin32またはwin64、[mysql-version]はmysql-5.x.xまたはmariadb-5.5.xです。
51
53
  たとえば、Linux-x86_64bit mysql-5.6.14用の完全なURLは以下の通りです。
52
54
 
53
- http://www.bizstation.jp/al/transactd/download/transactd-1.1.0/transactd-linux-x86_64-1.1.0_mysql-5.6.14.tar.gz
55
+ http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-linux-x86_64-2.0.0_mysql-5.6.14.tar.gz
54
56
 
55
57
  また、ソースをダウンロードしてビルドすることもできます。その場合は、
56
58
  MySQL/MariaDBのソースコードも必要です。ビルド方法はソースコード内の
@@ -71,53 +73,53 @@ MySQL/MariaDBのバイナリに変更を加えることなく、所定の位置
71
73
  2. [MySQL|MariaDBインストールフォルダ]/lib/pluginに、transactd.dllをコピーします。
72
74
  MySQL|MariaDBインストールフォルダが不明な場合は、MySQL Command Line clientを
73
75
  起動し以下のコマンドでplugin_dirを確認してください。
74
- ```
75
- mysql>show variables like 'Plugin%';
76
- +---------------+----------------------------------------------------+
77
- | Variable_name | Value |
78
- +---------------+----------------------------------------------------+
79
- | plugin_dir | C:\Program Files\MySQL\MySQL Server 5.6\lib\plugin |
80
- +---------------+----------------------------------------------------+
81
- ```
76
+ ```
77
+ mysql>show variables like 'Plugin%';
78
+ +---------------+----------------------------------------------------+
79
+ | Variable_name | Value |
80
+ +---------------+----------------------------------------------------+
81
+ | plugin_dir | C:\Program Files\MySQL\MySQL Server 5.6\lib\plugin |
82
+ +---------------+----------------------------------------------------+
83
+ ```
82
84
 
83
85
  3. MySQL Command Line clientを起動し、以下のコマンドを実行します。
84
- ```
85
- mysql>INSTALL PLUGIN transactd SONAME 'transactd.dll';
86
- ```
87
- これでPluginのインストールは終了です。
86
+ ```
87
+ mysql>INSTALL PLUGIN transactd SONAME 'transactd.dll';
88
+ ```
89
+ これでPluginのインストールは終了です。
88
90
 
89
91
 
90
92
  ### Linuxでのインストール
91
93
  1. ダウンロードしたtar.gzのあるフォルダに移動します。
92
- ```
93
- shell>cd [TargetFolder]
94
- ```
94
+ ```
95
+ cd [TargetFolder]
96
+ ```
95
97
 
96
98
  2. ダウンロードしたtar.gzを解凍し、解凍したフォルダに移動します。
97
- ```
98
- shell>tar zxf transactd-linux-x86_64-1.1.0_mysql-5.6.14.tar.gz
99
- shell>cd transactd-linux-x86_64-1.1.0_mysql-5.6.14
100
- ```
99
+ ```
100
+ tar zxf transactd-linux-x86_64-2.0.0_mysql-5.6.14.tar.gz
101
+ cd transactd-linux-x86_64-2.0.0_mysql-5.6.14
102
+ ```
101
103
 
102
104
  3. [MySQL|MariaDBインストールフォルダ]/lib/pluginに、libtransactd.soをコピー
103
105
  します。MySQL|MariaDBインストールが不明な場合は、mysqlを起動し以下の
104
106
  コマンドでplugin_dirを確認してください。
105
- ```
106
- mysql>show variables like 'plugin%';
107
- +---------------+-----------------------------+
108
- | Variable_name | Value |
109
- +---------------+-----------------------------+
110
- | plugin_dir | /usr/local/mysql/lib/plugin |
111
- +---------------+-----------------------------+
112
- mysql>exit
113
- shell>cp libtransactd.so /usr/local/mysql/lib/plugin/
114
- ```
107
+ ```
108
+ mysql>show variables like 'plugin%';
109
+ +---------------+-----------------------------+
110
+ | Variable_name | Value |
111
+ +---------------+-----------------------------+
112
+ | plugin_dir | /usr/local/mysql/lib/plugin |
113
+ +---------------+-----------------------------+
114
+ mysql>exit
115
+ cp libtransactd.so /usr/local/mysql/lib/plugin/
116
+ ```
115
117
 
116
118
  4. mysqlを起動し、以下のコマンドを実行します。
117
- ```
118
- mysql>INSTALL PLUGIN transactd SONAME 'libtransactd.so';
119
- ```
120
- これでPluginのインストールは終了です。
119
+ ```
120
+ mysql>INSTALL PLUGIN transactd SONAME 'libtransactd.so';
121
+ ```
122
+ これでPluginのインストールは終了です。
121
123
 
122
124
 
123
125
 
@@ -127,13 +129,13 @@ Transactd Pluginを介してデータにアクセスするにはTransactdクラ
127
129
  プラットフォームに合ったビルド済Transactdクライアントをダウンロードします。
128
130
  ダウンロードするファイルは
129
131
 
130
- * Windowsの場合 transactd-client-[platform]_with_sdk-1.1.0.msi
131
- * Linuxの場合 transactd-client-linux-x86_64_with_sdk-1.1.0.tar.gz
132
+ * Windowsの場合 transactd-client-[platform]_with_sdk-2.0.0.zip
133
+ * Linuxの場合 transactd-client-linux-x86_64_with_sdk-2.0.0.tar.gz
132
134
 
133
135
  といった形式です。[platform]はwin32またはwin64です。
134
136
  たとえば、LINUXの完全なURLは以下の通りです。
135
137
 
136
- http://www.bizstation.jp/al/transactd/download/transactd-client/transactd-client-linux-x86_64_with_sdk-1.1.0.tar.gz
138
+ http://www.bizstation.jp/al/transactd/download/transactd-client/transactd-client-linux-x86_64_with_sdk-2.0.0.tar.gz
137
139
 
138
140
 
139
141
 
@@ -141,36 +143,48 @@ Transactdクライアントのインストール
141
143
  -------------------------------------------------------------------------------
142
144
 
143
145
  ### Windowsでのインストール
144
- 1. transactd-client-[platform]_with_sdk-1.1.0.msiをダブルクリックするとWindows
145
- インストーラによるインストールが始まります。あとは画面に従ってインストールし
146
- ます。
146
+ 1. ダウンロードしたtransactd-client-[platform]_with_sdk-2.0.0.zipを開きます。
147
+ 2. ルートフォルダーのtransactd-client-[platform]_with_sdk-2.0.0ごと適当なフォルダに
148
+ コピーします。
149
+ 3. transactd-client-[platform]_with_sdk-2.0.0直下にあるinstall.cmdを実行します。
150
+ これによりtransactd-client-[platform]_with_sdk-2.0.0\binフォルダをシステム環境変数
151
+ PATHに追加します。
147
152
 
148
- セットアップタイプの選択画面で[カスタム]を選択するとEmbarcadero C++Builder XE
149
- シリーズ用のクライアントも選択できます。インストールできるコンパイラターゲットは
153
+ C++クライアントは binフォルダに配置された以下の3つのDLLからなります。
150
154
 
151
- * Microsoft Visual studio 2010用 (ActiveX(COM)クライアントを含みます)
152
- * Embarcadero C++Builder XEシリーズ用
155
+ * tdclc_xx_[version].dll
156
+ * tdclcpp_xx_[Compiler]_[version].dll
157
+ * tdclstmt_xx_[Compiler]_[version].dll
158
+
159
+ このうち下の2つはC++のクラスをエクスポートするための、コンパイラごとに異なった
160
+ モジュールです。また、それを利用したテストやベンチマーク、その他のプログラムも
161
+ コンパイラごとになっていますです。それらはbin配下にコンパイラの名前のフォルダに
162
+ 配置されています。
163
+ 開発コンパイラが特定されている場合には、不要なモジュールは削除しても構いません。
153
164
 
154
- の2種類です。Microsoft Visual studio 2010版については必ずインストールされます。
165
+ ビルド済みバイナリーが含まれるコンパイラは以下の7種類です。
166
+
167
+ * Microsoft Visual studio 2010用 (ActiveX(COM)クライアントを含みます)
168
+ * Embarcadero C++Builder XE~XE6シリーズ用
155
169
 
156
170
 
157
171
  ### Linuxでのインストール
158
172
  1. ダウンロードしたtar.gzのあるフォルダに移動します。
159
- ```
160
- shell>cd [TargetFolder]
161
- ```
173
+ ```
174
+ cd [TargetFolder]
175
+ ```
162
176
 
163
177
  2. ダウンロードしたtar.gzを解凍し、解凍したフォルダに移動します。
164
- ```
165
- shell>tar zxf transactd-client-linux-x86_64_with_sdk-1.1.0.tar.gz
166
- shell>cd transactd-client-linux-x86_64_with_sdk-1.1.0
167
- ```
178
+ ```
179
+ tar zxf transactd-client-linux-x86_64_with_sdk-2.0.0.tar.gz
180
+ cd transactd-client-linux-x86_64_with_sdk-2.0.0
181
+ ```
168
182
 
169
183
  3. インストールスクリプトを実行します。
170
- ```
171
- shell>./install_client.sh
172
- ```
173
- これでクライアントのインストールは終了です。
184
+ ```
185
+ ./install_client.sh
186
+ ```
187
+ これでクライアントのインストールは終了です。
174
188
 
175
189
 
176
190
 
@@ -187,21 +201,21 @@ Transactdへアクセスするには、事前にMySQLのuserテーブルにroot@
187
201
  ```
188
202
  mysql>CREATE USER root@'192.168.0.0/255.255.255.0';
189
203
  ```
190
- この操作はrootでのアクセスを可能にしますので、rootのパスワードが未設定の場合は、
204
+ この操作はrootでのアクセスを可能にするので、rootのパスワードが未設定の場合は、
191
205
  必ず設定してください。
192
206
 
193
207
 
194
208
  ### Windowsでのrootパスワードの設定
195
209
  コマンドプロンプトを開きます。
196
210
  ```
197
- shell>"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin" -u root password 'xxxxx'
211
+ "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin" -u root password 'xxxxx'
198
212
  ```
199
213
  (xxxxxは実際のパスワードに置き換えてください)
200
214
 
201
215
 
202
216
  ### Linuxでのrootパスワードの設定
203
217
  ```
204
- shell>/usr/local/mysql/bin/mysqladmin -u root password 'xxxxx'
218
+ /usr/local/mysql/bin/mysqladmin -u root password 'xxxxx'
205
219
  ```
206
220
  (xxxxxは実際のパスワードに置き換えてください)
207
221
 
@@ -224,23 +238,58 @@ Transactd Pluginとクライアントのインストールが済んだら、テ
224
238
  テストとベンチマークの詳しい内容は、このトピックス以降にあるそれぞれのトピックス
225
239
  を参照してください。
226
240
 
241
+ テストスクリプトは、以下の内容を順に実行します。
242
+ * test_tdclcpp_xx_xxm_xxx.exe マルチバイト版テスト
243
+ * test_tdclcpp_xx_xxu_xxx.exe ユニコード版テスト(Windowsのみ)
244
+ * bench_tdclcpp_xx.exe Insert read update ベンチマーク
245
+ * bench_query_xx.exe クエリーのベンチマーク
246
+ * querystmtsxx.exe コマンドライン クエリー実行モジュール
247
+
248
+ 最後の コマンドライン クエリー実行モジュールは、ターゲットhostが localhost の場合
249
+ にのみ実行されます。
250
+
251
+
227
252
  ### Windowsでの起動
228
- 1. スタートメニューから[すべてのプログラム]-[BizStation]-[Transactd Client]-
229
- [Test (compiler)(charset)]または[Benchmark local (compiler)]
230
- をクリックします。
231
- (compiler)はVC100またはBCBです。(charset)はUnicodeまたはMultibyteです。
253
+ 1. クライアントのインストールで解凍したフォルダに移動します
254
+ ```
255
+ cd transactd-client-[platform]_with_sdk-2.0.0
256
+ ```
257
+
258
+ 2. テストの起動
259
+ ```
260
+ TestClient.cmd
261
+ ```
262
+
263
+ 最初にホスト名を聞かれるので、Transactdサーバーのホスト名を指定します。
264
+ 何も指定しない場合は localhostが自動で設定されます。
265
+
266
+ 次に、テストするコンパイラーを番号で選択します。
267
+ テストおよびベンチマークなどが連続して実行されます。
268
+
269
+ 3. ActiveX(COM)のテストの起動
270
+ ```
271
+ TestClient_ATL.cmd
272
+ ```
273
+
274
+ 最初にホスト名を聞かれるので、Transactdサーバーのホスト名を指定します。
275
+ 何も指定しない場合は localhostが自動で設定されます。
276
+ テストおよびベンチマークなどが連続して実行されます。
232
277
 
233
278
 
234
279
  ### Linuxでの起動
235
280
  1. クライアントのインストールで解凍したフォルダに移動します
236
- ```
237
- shell>cd transactd-client-linux-x86_64_with_sdk-1.1.0
238
- ```
281
+ ```
282
+ cd transactd-client-linux-x86_64_with_sdk-2.0.0
283
+ ```
239
284
 
240
285
  2. テストの起動
241
- ```
242
- ./exec_test_local.sh
243
- ```
286
+ ```
287
+ ./exec_test_all.sh
288
+ ```
289
+
290
+ 最初にホスト名を聞かれるので、Transactdサーバーのホスト名を指定します。
291
+ 何も指定しない場合は localhostが自動で設定されます。
292
+ テストおよびベンチマークなどが連続して実行されます。
244
293
 
245
294
 
246
295
 
@@ -251,6 +300,22 @@ Transactdクライアントによるアプリケーションの開発は以下
251
300
 
252
301
  http://www.bizstation.jp/ja/transactd/client/sdk/doc/
253
302
 
303
+ source/bzs/exampleフォルダに、簡単なサンプルコードがあります。
304
+
305
+ build/exampleフォルダにコンパイラに応じたプロジェクトファイル(Windows)があります。
306
+ または、make_example.shスクリプト(Linux)でこれらをビルドできます。
307
+
308
+ Visual C++ 2010のExpress版 64Bitでコンパイルする際は、各プロジェクトの[オプション]
309
+ -[構成プロパティー]-[全般]-[プラットフォームツールセット]を"v100"から"Windows7.1SDK"
310
+ に変更してください。
311
+
312
+ C++ Builderの場合は、事前にコンパイラ付属のboostをインストールが必要です。また、
313
+ [ツール]-[オプション]-[環境オプション]-[C++ オプション]-[パスとディレクトリ]の
314
+ [システムインクルードパス]に以下の変数を追加します。
315
+
316
+ * 32Bitの場合 $(CG_BOOST_ROOT)
317
+ * 64Bitの場合 $(CG_64_BOOST_ROOT)
318
+
254
319
 
255
320
 
256
321
  Testプログラム
@@ -288,9 +353,12 @@ character-set-server=utf8
288
353
 
289
354
  ベンチマークプログラム
290
355
  -------------------------------------------------------------------------------
291
- ベンチマークプログラムは、コマンドライン引数のprocessNumberを変えることで複数の
292
- インスタンスを同時に実行して計測することができます。
293
- ベンチマークプログラムのコマンドラインオプションは以下の通りです。
356
+ ベンチマークプログラムは、基本的なCRUDオペレーションのベンチマーク(bench_tdclcpp_xxx)
357
+ と、SQLライクな読み取りクエリーのベンチマーク(bench_query_xxx)の2種類あります。
358
+
359
+ bench_tdclcpp_xxxベンチマークプログラムは、コマンドライン引数のprocessNumberを
360
+ 変えることで複数のインスタンスを同時に実行して計測することができます。
361
+ bench_tdclcpp_xxxプログラムのコマンドラインオプションは以下の通りです。
294
362
 
295
363
  ```
296
364
  bench_tdclcpp_xxx.exe databaseUri processNumber functionNumber
@@ -318,8 +386,71 @@ bench_tdclcpp_xxx.exe databaseUri processNumber functionNumber
318
386
  | | 8: update in transaction. 20rec x 1000times |
319
387
  |----------------|--------------------------------------------------------|
320
388
  ex)
321
- shell>bench_tdclcpp_c_bcb_64.exe "tdap://localhost/test?dbfile=test.bdf" 0 -1
389
+ bench_tdclcpp_bc200_64u.exe "tdap://localhost/test?dbfile=test.bdf" 0 -1
390
+ ```
391
+
392
+ bench_query_xxxベンチマークプログラムは、以下のSQLと同等な結果を得る速度を計測
393
+ します。
394
+ ```
395
+ select
396
+ `user`.`id`
397
+ ,`user`.`name`
398
+ ,`extention`.`comment`
399
+ ,`groups`.`name` as `group_name`
400
+ from
401
+ `user` INNER JOIN `extention`
402
+ ON `user`.`id` = `extention`.`id`
403
+ LEFT JOIN `groups`
404
+ ON `user`.`group` = `groups`.`code`
405
+ where
406
+ `user`.`id` > 0 and `user`.`id` <= 15000;
407
+
408
+ ```
409
+ コマンドラインオプションは以下の通りです。
322
410
  ```
411
+ bench_query_xxx createdb hostname type n
412
+ |----------------|--------------------------------------------------------|
413
+ | パラメータ | 内容 |
414
+ |----------------|--------------------------------------------------------|
415
+ | createdb | テスト用データベースを新しく作成するかどうかを 1 または|
416
+ | | 0で指定します。デフォルトは1です。 |
417
+ |----------------|--------------------------------------------------------|
418
+ | hostname | テストを行うホストをIPアドレスまたは名前で指定します。 |
419
+ | | デフォルトは localhostです。 |
420
+ |----------------|--------------------------------------------------------|
421
+ | type | クエリーの内容を番号で指定します。デフォルトは15です。 |
422
+ | | 1: userテーブルから15000レコードの取得 |
423
+ | | 3: 1の結果にextentionテーブルのcommentフィールドをJOIN |
424
+ | | 7: 3の結果にgroupsテーブルのnameをJOIN |
425
+ | | 5: 1の結果にgroupsテーブルのnameをJOIN |
426
+ | |+8: 繰り返しの実行プログレスを.で表示 |
427
+ |----------------|--------------------------------------------------------|
428
+ | n | typeで指定したクエリの実行回数を指定します。 |
429
+ | | デフォルトは100です。 |
430
+ |----------------|--------------------------------------------------------|
431
+ ex)
432
+ bench_query_xxx 0 localhost 15 100
433
+ ```
434
+
435
+
436
+
437
+ C++ O/Rマッピングソースコードジェネレータ
438
+ -------------------------------------------------------------------------------
439
+ ormsrcgen(32|64)はC++ O/Rマッピングのためのソースコードジェネレータです。C++で
440
+ O/Rマッピングを利用する場合はこのプログラムを使って、モデルクラスをデータベース
441
+ 定義から生成することができます。
442
+
443
+ 詳しくはSDKに付属するREADME_ORMSRCGEN-JA.mdを参照してください。
444
+
445
+
446
+
447
+ クエリーエグゼキューター
448
+ -------------------------------------------------------------------------------
449
+ querystmts(32|64)はXMLファイルに記述されたTransactdクエリーの実行プログラムです。
450
+
451
+ querystmtsにXMLファイルを渡すとその内容に従ってクエリーを実行し、結果を標準出力
452
+ に出力します。XMLファイルは、queryBuilderプログラムにて作成します。queryBuilderは
453
+ 現在まだリリースされていません。近日中にリリースされる予定です。
323
454
 
324
455
 
325
456
 
data/README_ORMSRCGEN ADDED
@@ -0,0 +1,118 @@
1
+ ormsrcgen C ++ O/R mapping source code generator
2
+ ===============================================================================
3
+ ormsrcgen (32|64) is a source code generator for C++ O/R mapping.
4
+
5
+ C++ does not allow to define classes dynamically. So we need to generate model
6
+ classes with the source code generator. You can use O/R mapping fast and easy
7
+ in C++ with it.
8
+
9
+
10
+
11
+ Introduction
12
+ -------------------------------------------------------------------------------
13
+ Related files of the generator is in `source/global/ormsrcgen/template`.
14
+ The descriptions of each files are:
15
+
16
+ * ormDataClass_template.cpp : Template of C ++ model class.
17
+ * ormDataClass_template.h : Template of C ++ model class.
18
+ * ormMapClass_template.cpp : Template of C ++ map class.
19
+ * ormMapClass_template.h : Template of C ++ map class.
20
+ * template.cnf : Template of the configuration file
21
+ * fieldNameList_sample.txt : Sample file of field name alias.
22
+
23
+ Edit `fieldNameList_sample.txt` and `template.cnf` as needed.
24
+
25
+
26
+
27
+ Command-line options
28
+ -------------------------------------------------------------------------------
29
+ Command line options are:
30
+
31
+ ```
32
+ command line option:
33
+ -d [ --database_uri ] database uri ex:tdap://hostname/dbname?dbfile=trnasctd_schema
34
+ -t [ --table_name ] table name.
35
+ -c [ --class_name ] class name.
36
+ -f [ --conf_name ] configuration file.
37
+
38
+ -d :Specify the database URI.
39
+ -t :Specify the table name to generate the model class.
40
+ The class is generated for each table.
41
+ -c :Specify the name of the model class.
42
+ -f :Specify the path of configuration file.
43
+ ```
44
+
45
+ In many cases, you can use same configuration file even if tables are different.
46
+ Template of configuration file is `source/global/ormsrcgen/template/template.cnf`.
47
+ You can copy and edit it.
48
+
49
+
50
+
51
+ Descriptions of the configuration file
52
+ -------------------------------------------------------------------------------
53
+ * `lang = (language)`
54
+
55
+ Specify the language of the code to be generated. Only `C++` is supported in
56
+ current version.
57
+
58
+ * `files = (number of file)`
59
+
60
+ Specify the number of template files required for a model. In the case of
61
+ C++, the number is `2`.
62
+
63
+ * `file1 = (file path) file2 = (file path) ... fileN = (file path)`
64
+
65
+ Specify the path of the template file, with the number that was specified in
66
+ `files=`.
67
+ Default values are `file1 = ormDataClass_template` `file2 = ormMapClass_template`,
68
+ but please specify the absolute path in actually.
69
+
70
+ * `saveDir = (output dir)`
71
+
72
+ Specify the output directory to save generated source code files.
73
+
74
+ * `setPrefix = (setter prefix)`
75
+
76
+ Specify the prefix of the setter method of member variables in the class.
77
+ If `setPrefix = set`is specified, the setter function for `name` field is:
78
+
79
+ ```
80
+ setName(const char* v)
81
+ ```
82
+
83
+ * `getPrefix = (getter prefix)`
84
+
85
+ Specify the prefix of the getter method as well as setPrefix.
86
+
87
+ * `externWord = (extern keyword)`
88
+
89
+ Add export keyword in class declaration when make shared libraries
90
+ such as `.SO` or `.DLL`.
91
+
92
+ ```
93
+ class $externWord someModel
94
+ {
95
+ ...
96
+ };
97
+ ```
98
+
99
+ * `fieldRenameList = (alias list file)`
100
+
101
+ Normally, the member variable name of the class is same as the name of
102
+ field in the table. If you want to change the name, specify fieldRenameList
103
+ which contains alias list.
104
+ The fieldRenameList format is:
105
+
106
+ ```
107
+ originalName1=alias1
108
+ originalName2=alias2
109
+ ```
110
+
111
+ * `name_space = (namespace of model class)`
112
+
113
+ Specify the namespace of the model class.
114
+
115
+ * `name_space_map = (namespace of map class)`
116
+
117
+ Specify the namespace of the map class.
118
+ The map class maps the members of the model class and the fields in the table.
@@ -0,0 +1,115 @@
1
+ ormsrcgen C++ O/Rマッピングソースコードジェネレータ
2
+ ===============================================================================
3
+ ormsrcgen(32|64) はC++ O/Rマッピングのためのソースコードジェネレータです。
4
+
5
+ C++では動的にクラスを定義することはできないため、ソースコードジェネレータで
6
+ モデルクラスを生成しコンパイルする形式を採ります。
7
+ これを使うとC++で簡単に高速なO/Rマッピングを行うことができます。
8
+
9
+
10
+
11
+ はじめに
12
+ -------------------------------------------------------------------------------
13
+ ジェネレータの関連ファイルは source/global/ormsrcgen/templateに格納されています。
14
+ それぞれのファイルの役割を説明します。
15
+
16
+ * ormDataClass_template.cpp : C++ モデルクラスのテンプレート
17
+ * ormDataClass_template.h : C++ モデルクラスのテンプレート
18
+ * ormMapClass_template.cpp : C++ マップクラスのテンプレート
19
+ * ormMapClass_template.h : C++ マップクラスのテンプレート
20
+ * template.cnf : 設定ファイルのひな形
21
+ * fieldNameList_sample.txt : フィールド名変換ファイルのサンプル
22
+
23
+ このうち、template.cnfとfieldNameList_sample.txtを必要に応じて編集します。
24
+
25
+
26
+
27
+ コマンドラインオプション
28
+ -------------------------------------------------------------------------------
29
+ コマンドラインオプションは以下の通りです。
30
+
31
+ ```
32
+ command line options:
33
+ -d [ --database_uri ] database uri ex:tdap://hostname/dbname?dbfile=trnasctd_schema
34
+ -t [ --table_name ] table name
35
+ -c [ --class_name ] class name
36
+ -f [ --conf_name ] configuration filename
37
+
38
+ -d :データベースを指定します。
39
+ -t :生成するモデルのテーブルを指定します。生成はテーブルごとに行います。
40
+ -c :-tで指定したテーブルに対応するモデルのクラス名を指定します。
41
+ -f :その他の設定項目を記述したテキストファイル(configuration file)です。
42
+ ```
43
+
44
+ configuration fileは、多くの場合、テーブルが異なっても共通の内容です。ひな形が
45
+ `source/global/ormsrcgen/template/template.cnf`として用意されています。
46
+ これをコピーして内容を編集します。
47
+
48
+
49
+
50
+ configuration fileの書式
51
+ -------------------------------------------------------------------------------
52
+ * `lang = (language)`
53
+
54
+ 生成するコードの言語を指定します。現在のバージョンでは`C++`のみサポートされます。
55
+
56
+ * `files = (number of file)`
57
+
58
+ 1つのモデルのために必要なテンプレートファイルの数を指定します。C++の場合は`2`です。
59
+
60
+ * `file1 = (file path) file2 = (file path) ... fileN = (file path)`
61
+
62
+ `files =`で指定した数のテンプレートファイルのパスを指定します。
63
+ デフォルトでは`file1 = ormDataClass_template` `file2 = ormMapClass_template`
64
+ となっていますが、実際に使用する際は絶対パスで指定してください。
65
+
66
+ * `saveDir = (output dir)`
67
+
68
+ 生成したソースコードを保存するフォルダを指定します。
69
+
70
+ * `setPrefix = (setter prefix)`
71
+
72
+ クラスのメンバ変数に値をセットするアクセスメソッド名のプレフィックスを指定します。
73
+ 例えば、`setPrefix = set`とした場合、`name`というフィールドの値をセットする
74
+ メンバ関数は以下のようになります。
75
+
76
+ ```
77
+ setName(const char* v)
78
+ ```
79
+
80
+ * `getPrefix = (getter prefix)`
81
+
82
+ setPrefixと同様に値の取得メソッドにつけられるプレフィックスを指定します。
83
+
84
+ * `externWord = (extern keyword)`
85
+
86
+ 出力されたクラスをDLLやSOなどのライブラリに含めて共有する場合は、class 宣言の後ろに
87
+ エクスポートのためのキーワードを付加できます。
88
+
89
+ ```
90
+ class $externWord someModel
91
+ {
92
+ ...
93
+ };
94
+ ```
95
+
96
+ * `fieldRenameList = (alias list file)`
97
+
98
+ 通常はテーブルに含まれるフィールド名がそのままクラスのメンバ変数名になります。
99
+ 異なる名前に変更したい場合は、このfieldRenameListで変換リストの書かれたテキスト
100
+ ファイルを指定できます。変換リストは以下のように、変換前=変換後の形式で指定します。
101
+
102
+ ```
103
+ customer_id=id
104
+ customer_name=name
105
+ ```
106
+
107
+ * `name_space = (namespace of model class)`
108
+
109
+ モデルクラスの名前空間を指定します。
110
+
111
+ * `name_space_map = (namespace of map class)`
112
+
113
+ C++の場合、モデルクラスとともに、テーブルとクラスの復元と保存をマッピングする
114
+ mapクラスも同時に生成されます。
115
+ name_space_mapはそのマップクラスの名前空間を指定します。
Binary file
Binary file