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
@@ -1,29 +1,29 @@
1
- /*=================================================================
2
- Copyright (C) 2012 2013 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
- #ifndef DBMANAGER_H
20
- #define DBMANAGER_H
1
+ #ifndef BZS_DB_ENGINE_MYSQL_DBMANAGER_H
2
+ #define BZS_DB_ENGINE_MYSQL_DBMANAGER_H
3
+ /* =================================================================
4
+ Copyright (C) 2012 2013 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
21
 
22
22
  #include <boost/thread/mutex.hpp>
23
23
  #include <bzs/db/engine/mysql/database.h>
24
24
 
25
25
  /* dbManager original error code */
26
- #define DBM_ERROR_TABLE_USED HA_ERR_LAST + 1
26
+ #define DBM_ERROR_TABLE_USED HA_ERR_LAST + 1
27
27
 
28
28
  namespace bzs
29
29
  {
@@ -36,108 +36,119 @@ namespace mysql
36
36
 
37
37
  struct handle
38
38
  {
39
- handle(int i, short d, short t):id(i),db(d),tb(t),cid(0){};
40
- int id;
41
- short db;
42
- short tb;
43
- short cid;
39
+ handle(int i, short d, short t) : id(i), db(d), tb(t), cid(0){};
40
+
41
+ int id;
42
+ short db;
43
+ short tb;
44
+ short cid;
44
45
  };
45
46
 
46
47
  class smartDbsReopen
47
48
  {
48
- std::vector<boost::shared_ptr<database> >& m_dbs;
49
-
50
- public:
51
- static std::string removeName;
52
-
53
- smartDbsReopen(std::vector<boost::shared_ptr<database> >& dbs)
54
- :m_dbs(dbs)
55
- {
56
- for (size_t i=0;i<m_dbs.size();i++)
57
- {
58
- if (m_dbs[i])
59
- {
60
- m_dbs[i]->use();
61
- m_dbs[i]->unUseTables(false);
62
- m_dbs[i]->closeForReopen();
63
- }
64
- }
65
- }
66
-
67
- ~smartDbsReopen()
68
- {
69
- for (size_t i=0;i<m_dbs.size();i++)
70
- {
71
- if (m_dbs[i])
72
- {
73
- if (removeName != m_dbs[i]->name())
74
- {
75
- m_dbs[i]->use();
76
- m_dbs[i]->reopen();
77
- }
78
- }
79
- }
80
- }
49
+ std::vector<boost::shared_ptr<database> >& m_dbs;
81
50
 
51
+ public:
52
+ static std::string removeName;
53
+
54
+ smartDbsReopen(std::vector<boost::shared_ptr<database> >& dbs) : m_dbs(dbs)
55
+ {
56
+ for (size_t i = 0; i < m_dbs.size(); i++)
57
+ {
58
+ if (m_dbs[i])
59
+ {
60
+ m_dbs[i]->use();
61
+ m_dbs[i]->unUseTables(false);
62
+ m_dbs[i]->closeForReopen();
63
+ }
64
+ }
65
+ }
66
+
67
+ ~smartDbsReopen()
68
+ {
69
+ for (size_t i = 0; i < m_dbs.size(); i++)
70
+ {
71
+ if (m_dbs[i])
72
+ {
73
+ if (removeName != m_dbs[i]->name())
74
+ {
75
+ m_dbs[i]->use();
76
+ m_dbs[i]->reopen();
77
+ }
78
+ }
79
+ }
80
+ }
82
81
  };
83
82
 
84
83
  class dbManager;
85
84
 
86
85
  class dbManager
87
86
  {
88
- mutable boost::mutex m_mutex;
89
- int m_autoHandle;
87
+ mutable boost::mutex m_mutex;
88
+
89
+ int m_autoHandle;
90
+
90
91
  protected:
91
- mutable databases m_dbs;
92
- mutable std::vector<handle> m_handles;
93
- table* m_tb;
94
-
95
- database* createDatabase(const char* dbname, short cid)const;
96
- void releaseDatabse(short cid);
97
- handle* getHandle(int handle)const;
98
- database* getDatabase(const char* dbname, short cid) const ;
99
- database* getDatabaseCid(short cid) const ;
100
- int getDatabaseID(short cid) const ;
101
- table* getTable(int handle, enum_sql_command cmd=SQLCOM_SELECT)const;
102
- void checkNewHandle(int newHandle)const;
103
- int addHandle(int dbid, int tableid, int assignid=-1);
104
- database* useDataBase(int id) const;
105
- int closeCacheTable(database* db, const std::string& tbname);
106
- int ddl_execSql(THD* thd, const std::string& sql_stmt);
107
- int ddl_createDataBase(THD* thd, const std::string& dbname );
108
- int ddl_dropDataBase(THD* thd, const std::string& dbname, const std::string& dbSqlname );
109
- int ddl_useDataBase(THD* thd, const std::string& dbSqlname);
110
- int ddl_dropTable(database* db, const std::string& tbname, const std::string& sqldbname
111
- , const std::string& sqltbname);
112
- int ddl_renameTable(database* db, const std::string& oldName, const std::string& dbSqlName
113
- , const std::string& oldSqlName, const std::string& newSqlName);
114
- int ddl_replaceTable(database* db , const std::string& name1, const std::string& name2
115
- , const std::string& dbSqlName, const std::string& nameSql1, const std::string& nameSql2);
116
- std::string makeSQLChangeTableComment(const std::string& dbSqlName
117
- , const std::string& tableSqlName, const char* comment);
118
- std::string makeSQLDropIndex(const std::string& dbSqlName, const std::string& tbSqlName
119
- , const char* name);
120
- void clenupNoException();
121
- virtual int errorCode(int ha_error)=0;
92
+ mutable databases m_dbs;
93
+
94
+ mutable std::vector<handle> m_handles;
95
+
96
+ table* m_tb;
97
+
98
+ database* createDatabase(const char* dbname, short cid) const;
99
+ void releaseDatabase(short cid);
100
+ handle* getHandle(int handle) const;
101
+ database* getDatabase(const char* dbname, short cid) const;
102
+ database* getDatabaseCid(short cid) const;
103
+ int getDatabaseID(short cid) const;
104
+ table* getTable(int handle, enum_sql_command cmd = SQLCOM_SELECT) const;
105
+ void checkNewHandle(int newHandle) const;
106
+ int addHandle(int dbid, int tableid, int assignid = -1);
107
+ database* useDataBase(int id) const;
108
+ int closeCacheTable(database* db, const std::string& tbname);
109
+ int ddl_execSql(THD* thd, const std::string& sql_stmt);
110
+ int ddl_createDataBase(THD* thd, const std::string& dbname);
111
+ int ddl_dropDataBase(THD* thd, const std::string& dbname,
112
+ const std::string& dbSqlname);
113
+ int ddl_useDataBase(THD* thd, const std::string& dbSqlname);
114
+ int ddl_dropTable(database* db, const std::string& tbname,
115
+ const std::string& sqldbname,
116
+ const std::string& sqltbname);
117
+ int ddl_renameTable(database* db, const std::string& oldName,
118
+ const std::string& dbSqlName,
119
+ const std::string& oldSqlName,
120
+ const std::string& newSqlName);
121
+ int ddl_replaceTable(database* db, const std::string& name1,
122
+ const std::string& name2, const std::string& dbSqlName,
123
+ const std::string& nameSql1,
124
+ const std::string& nameSql2);
125
+ std::string makeSQLChangeTableComment(const std::string& dbSqlName,
126
+ const std::string& tableSqlName,
127
+ const char* comment);
128
+ std::string makeSQLDropIndex(const std::string& dbSqlName,
129
+ const std::string& tbSqlName,
130
+ const char* name);
131
+ void clenupNoException();
132
+ virtual int errorCode(int ha_error) = 0;
133
+
122
134
  public:
123
- dbManager();
124
- virtual ~dbManager();
125
- bool isShutDown() const;
126
- const databases& dbs()const{return m_dbs;};
135
+ dbManager();
136
+ virtual ~dbManager();
137
+ bool isShutDown() const;
127
138
 
139
+ const databases& dbs() const { return m_dbs; };
128
140
  };
129
141
 
130
142
  class igetDatabases
131
143
  {
132
144
  public:
133
- virtual ~igetDatabases(){};
134
- virtual const engine::mysql::databases& dbs() const = 0;
145
+ virtual ~igetDatabases(){};
146
+ virtual const engine::mysql::databases& dbs() const = 0;
135
147
  };
136
148
 
137
- }//namespace mysql
138
- }//namespace engine
139
- }//namespace db
140
- }//namespace bzs
141
-
149
+ } // namespace mysql
150
+ } // namespace engine
151
+ } // namespace db
152
+ } // namespace bzs
142
153
 
143
- #endif //DBMANAGER_H
154
+ #endif // BZS_DB_ENGINE_MYSQL_DBMANAGER_H
@@ -1,23 +1,24 @@
1
- /*=================================================================
2
- Copyright (C) 2012 2013 BizStation Corp All rights reserved.
1
+ /* =================================================================
2
+ Copyright (C) 2012 2013 BizStation Corp All rights reserved.
3
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.
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
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.
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
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
- =================================================================*/
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
19
 
20
20
  #include "errorMessage.h"
21
+ #undef PACKAGE
21
22
  #include "mysqlInternal.h"
22
23
  #include <bzs/db/protocol/tdap/tdapcapi.h>
23
24
 
@@ -32,44 +33,42 @@ namespace mysql
32
33
 
33
34
  const char* errorMessage(int errorCode)
34
35
  {
35
- switch(errorCode)
36
- {
37
- case STATUS_PROGRAM_ERROR:
38
- return "Program error";
39
- case STATUS_CANNOT_LOCK_TABLE:
40
- return "Can not open the table Allrady locked";
41
- case STATUS_TABLE_NOTOPEN:
42
- return "Can not open the table";
43
- case STATUS_INVALID_KEYNAME:
44
- return "Invalid key name";
45
- case HA_ERR_KEY_NOT_FOUND:
46
- return "Did not find key on read or update";
47
- case STATUS_INVALID_LOCKTYPE:
48
- return "locktype is diffarent to got locks";
49
- case STATUS_INVALID_DATASIZE:
50
- return "Invalid data buffer size";
51
- case STATUS_TABLE_EXISTS_ERROR:
52
- return "Can not check if exists table";
53
- }
54
- return "";
36
+ switch (errorCode)
37
+ {
38
+ case STATUS_PROGRAM_ERROR:
39
+ return "Program error";
40
+ case STATUS_CANNOT_LOCK_TABLE:
41
+ return "Can not open the table Allrady locked";
42
+ case STATUS_TABLE_NOTOPEN:
43
+ return "Can not open the table";
44
+ case STATUS_INVALID_KEYNAME:
45
+ return "Invalid key name";
46
+ case HA_ERR_KEY_NOT_FOUND:
47
+ return "Did not find key on read or update";
48
+ case STATUS_INVALID_LOCKTYPE:
49
+ return "locktype is diffarent to got locks";
50
+ case STATUS_INVALID_DATASIZE:
51
+ return "Invalid data buffer size";
52
+ case STATUS_TABLE_EXISTS_ERROR:
53
+ return "Can not check if exists table";
54
+ }
55
+ return "";
55
56
  }
56
57
 
57
58
  void printErrorMessage(const int* errorCode, const std::string* message)
58
59
  {
59
- int code = errorCode? *errorCode : 0;
60
- std::string msg = errorMessage(code);
61
- if (message)
62
- msg += " :" + *message;
63
-
64
- if ((code != STATUS_TABLE_NOTOPEN) && (code != STATUS_INVALID_BOOKMARK))
65
- {
66
- sql_print_error("%s", msg.c_str());
67
- }
68
- }
69
-
60
+ int code = errorCode ? *errorCode : 0;
61
+ std::string msg = errorMessage(code);
62
+ if (message)
63
+ msg += " :" + *message;
70
64
 
71
- }//namespace mysql
72
- }//namespace engine
73
- }//namespace db
74
- }//namespace bzs
65
+ if ((code != STATUS_TABLE_NOTOPEN) && (code != STATUS_INVALID_BOOKMARK))
66
+ {
67
+ sql_print_error("%s", msg.c_str());
68
+ }
69
+ }
75
70
 
71
+ } // namespace mysql
72
+ } // namespace engine
73
+ } // namespace db
74
+ } // namespace bzs
@@ -1,23 +1,23 @@
1
- #ifndef ERRORMESSAGE_H
2
- #define ERRORMESSAGE_H
3
- /*=================================================================
4
- Copyright (C) 2012 2013 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
- =================================================================*/
1
+ #ifndef BZS_DB_ENGINE_MYSQL_ERRORMESSAGE_H
2
+ #define BZS_DB_ENGINE_MYSQL_ERRORMESSAGE_H
3
+ /* =================================================================
4
+ Copyright (C) 2012 2013 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
21
 
22
22
  #include <string>
23
23
  #include <bzs/rtl/exception.h>
@@ -33,11 +33,10 @@ namespace mysql
33
33
 
34
34
  const char* errorMessage(int errorCode);
35
35
  void printErrorMessage(const int* errorCode, const std::string* msg);
36
-
37
- }//namespace mysql
38
- }//namespace engine
39
- }//namespace db
40
- }//namespace bzs
41
36
 
42
- #endif //ERRORMESSAGE_H
37
+ } // namespace mysql
38
+ } // namespace engine
39
+ } // namespace db
40
+ } // namespace bzs
43
41
 
42
+ #endif // BZS_DB_ENGINE_MYSQL_ERRORMESSAGE_H
@@ -1,27 +1,25 @@
1
- #ifndef FIELDACCESS_H
2
- #define FIELDACCESS_H
3
- /*=================================================================
4
- Copyright (C) 2013 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
- =================================================================*/
1
+ #ifndef BZS_DB_ENGINE_MYSQL_FIELDACCESS_H
2
+ #define BZS_DB_ENGINE_MYSQL_FIELDACCESS_H
3
+ /* =================================================================
4
+ Copyright (C) 2013 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
21
  #include "mysqlInternal.h"
22
22
 
23
-
24
-
25
23
  namespace bzs
26
24
  {
27
25
  namespace db
@@ -31,128 +29,124 @@ namespace engine
31
29
  namespace mysql
32
30
  {
33
31
 
34
- //-----------------------------------------------------------------------------
35
- /**
32
+ /**
36
33
  * var or bolob type sub functions;
37
34
  */
38
- //-----------------------------------------------------------------------------
39
35
  inline uint var_bytes(Field* fd)
40
36
  {
41
- return (uint)HA_VARCHAR_PACKLENGTH(fd->field_length);
37
+ return (uint)HA_VARCHAR_PACKLENGTH(fd->field_length);
42
38
  }
43
39
 
44
40
  /** sizeof var text body
45
41
  */
46
42
  inline uint var_strlen(const uchar* ptr, uint varlen)
47
43
  {
48
- return (varlen==1)? *ptr:*((const unsigned short*)ptr);
44
+ return (varlen == 1) ? *ptr : *((const unsigned short*)ptr);
49
45
  }
50
46
 
51
47
  inline uint var_strlen(Field* fd)
52
48
  {
53
- return var_strlen(fd->ptr, var_bytes(fd));
49
+ return var_strlen(fd->ptr, var_bytes(fd));
54
50
  }
55
51
 
56
52
  /** sizeof var text body + size bytes
57
53
  */
58
54
  inline uint var_total_len(Field* fd)
59
55
  {
60
- uint varlen = var_bytes(fd);
61
- return var_strlen(fd->ptr, varlen) + varlen;
56
+ uint varlen = var_bytes(fd);
57
+ return var_strlen(fd->ptr, varlen) + varlen;
62
58
  }
63
59
 
64
60
  inline uint var_total_len(const uchar* ptr, uint varlen)
65
61
  {
66
- return var_strlen(ptr, varlen) + varlen;
62
+ return var_strlen(ptr, varlen) + varlen;
67
63
  }
68
64
 
69
-
70
65
  /** var text body length on key buffer
71
66
  * size bytes is 2 byte fixed in key buffer.
72
67
  */
73
68
  inline uint var_strlen_key(const uchar* ptr)
74
69
  {
75
- return *((const unsigned short*)ptr);
70
+ return *((const unsigned short*)ptr);
76
71
  }
77
72
 
78
73
  /** return Is type var type
79
74
  */
80
75
  inline bool isVarType(enum_field_types type)
81
76
  {
82
- return ((type==MYSQL_TYPE_VAR_STRING) || (type==MYSQL_TYPE_VARCHAR));
77
+ return ((type == MYSQL_TYPE_VAR_STRING) || (type == MYSQL_TYPE_VARCHAR));
83
78
  }
79
+
84
80
  /** return Is type blob type
85
81
  */
86
82
  inline bool isBlobType(enum_field_types type)
87
83
  {
88
- return ((type==MYSQL_TYPE_TINY_BLOB) || (type==MYSQL_TYPE_BLOB)
89
- || (type==MYSQL_TYPE_MEDIUM_BLOB) || (type==MYSQL_TYPE_LONG_BLOB));
84
+ return ((type == MYSQL_TYPE_TINY_BLOB) || (type == MYSQL_TYPE_BLOB) ||
85
+ (type == MYSQL_TYPE_MEDIUM_BLOB) || (type == MYSQL_TYPE_LONG_BLOB));
90
86
  }
91
87
 
92
88
  inline uint blob_var_bytes(Field* fd)
93
89
  {
94
- return fd->pack_length() - portable_sizeof_char_ptr;
95
-
90
+ return fd->pack_length() - portable_sizeof_char_ptr;
96
91
  }
92
+
97
93
  /** sizeof blob body
98
94
  */
99
95
  inline uint blob_len(const uchar* ptr, uint varlen)
100
96
  {
101
- uint v = 0;
102
- memcpy(&v, ptr, varlen);
103
- return v;
97
+ uint v = 0;
98
+ memcpy(&v, ptr, varlen);
99
+ return v;
104
100
  }
105
101
 
106
102
  inline uint blob_len(Field* fd)
107
103
  {
108
- return blob_len(fd->ptr, blob_var_bytes(fd));
104
+ return blob_len(fd->ptr, blob_var_bytes(fd));
109
105
  }
110
106
 
111
107
  /** sizeof blob body ptr + size bytes. not include blob body length
112
108
  */
113
109
  inline uint blob_total_len(Field* fd)
114
110
  {
115
- return sizeof(char*) + blob_var_bytes(fd);
111
+ return sizeof(char*) + blob_var_bytes(fd);
116
112
  }
117
113
 
118
114
  inline uint blob_total_len(uint varlen)
119
115
  {
120
- return sizeof(char*) + varlen;
116
+ return sizeof(char*) + varlen;
121
117
  }
122
118
 
123
119
  inline const uchar** blobBodyPtrRef(Field* fd)
124
120
  {
125
- return (const uchar**)(fd->ptr + blob_var_bytes(fd));
121
+ return (const uchar**)(fd->ptr + blob_var_bytes(fd));
126
122
  }
127
123
 
128
124
  inline const uchar* blobBodyPtr(Field* fd)
129
125
  {
130
- return *(blobBodyPtrRef(fd));
126
+ return *(blobBodyPtrRef(fd));
131
127
  }
132
128
 
133
129
  /** return size bytes
134
130
  */
135
131
  inline uint var_bytes_if(Field* fd)
136
132
  {
137
- if (isVarType(fd->type()))
138
- return var_bytes(fd);
139
- else if (isBlobType(fd->type()))
140
- return blob_var_bytes(fd);
141
- return 0;
133
+ if (isVarType(fd->type()))
134
+ return var_bytes(fd);
135
+ else if (isBlobType(fd->type()))
136
+ return blob_var_bytes(fd);
137
+ return 0;
142
138
  }
143
139
 
144
140
  /** Is this field name NIS?
145
141
  */
146
- inline bool isNisField(const char* name)
142
+ inline bool isNisField(const char* name)
147
143
  {
148
- return (name[0] && (name[0] == '$')
149
- && name[1] && (name[1] == 'n')
150
- && name[2] && (name[2] == 'f'));
144
+ return (name[0] && (name[0] == '$') && name[1] && (name[1] == 'n') &&
145
+ name[2] && (name[2] == 'f'));
151
146
  }
152
147
 
153
- }//namespace mysql
154
- }//namespace engine
155
- }//namespace db
156
- }//namespace bzs
157
- #endif
158
-
148
+ } // namespace mysql
149
+ } // namespace engine
150
+ } // namespace db
151
+ } // namespace bzs
152
+ #endif // BZS_DB_ENGINE_MYSQL_FIELDACCESS_H