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
 
@@ -30,354 +30,394 @@ namespace msqlp
30
30
  static char logfilename[FN_REFLEN];
31
31
  static boost::mutex g_logMutex;
32
32
 
33
-
34
-
35
33
  char msg[1024];
36
34
  void writeDebuglog(ushort_td op, request& req, bool error)
37
35
  {
38
- bool write = false;
39
-
36
+ bool write = false;
37
+
38
+ switch (op)
39
+ {
40
+ /*case TD_CONNECT:
41
+ case TD_STOP_ENGINE:
42
+
43
+ break;*/
44
+ case TD_RESET_CLIENT:
45
+ {
46
+ std::string dbname = getDatabaseName(req);
47
+ sprintf_s(msg,
48
+ "%s TD_RESET_CLIENT result = %d \tdbname = %s\t cid = %d \n",
49
+ dateTime(), req.result, dbname.c_str(), req.cid);
50
+ write = true;
51
+ break;
52
+ }
53
+ case TD_CREATETABLE:
54
+ {
55
+ std::string dbname = getDatabaseName(req);
56
+ sprintf_s(
57
+ msg, "%s TD_CREATETABLE result = %d \tdbname = %s\t table=%s\n",
58
+ dateTime(), req.result, dbname.c_str(), getTableName(req).c_str());
59
+ write = true;
60
+ break;
61
+ }
62
+ case TD_OPENTABLE:
63
+ {
64
+ std::string dbname = getDatabaseName(req);
65
+ sprintf_s(msg,
66
+ "%s TD_OPENTABLE result = %d \tHandle = %d \tdbname = %s\n",
67
+ dateTime(), req.result, req.pbk->handle, dbname.c_str());
68
+ write = true;
69
+ break;
70
+ }
71
+ case TD_CLOSETABLE:
72
+ sprintf_s(msg, "%s TD_CLOSETABLE result = %d \tHandle = %d\n",
73
+ dateTime(), req.result, req.pbk->handle);
74
+ write = true;
75
+ break;
76
+ case TD_KEY_SEEK:
77
+ sprintf_s(msg, "%s TD_KEY_SEEK result = %d \tHandle = %d\n", dateTime(),
78
+ req.result, req.pbk->handle);
79
+ write = true;
80
+ break;
81
+ case TD_KEY_AFTER:
82
+ sprintf_s(msg, "%s TD_KEY_AFTER result = %d \tHandle = %d\n",
83
+ dateTime(), req.result, req.pbk->handle);
84
+ write = true;
85
+ break;
86
+ case TD_KEY_OR_AFTER:
87
+ sprintf_s(msg, "%s TD_KEY_OR_AFTER result = %d \tHandle = %d\n",
88
+ dateTime(), req.result, req.pbk->handle);
89
+ write = true;
90
+ break;
91
+ case TD_KEY_BEFORE:
92
+ sprintf_s(msg, "%s TD_KEY_BEFORE result = %d \tHandle = %d\n",
93
+ dateTime(), req.result, req.pbk->handle);
94
+ write = true;
95
+ break;
96
+ case TD_KEY_OR_BEFORE:
97
+ sprintf_s(msg, "%s TD_KEY_OR_BEFORE result = %d \tHandle = %d\n",
98
+ dateTime(), req.result, req.pbk->handle);
99
+ write = true;
100
+ break;
101
+ case TD_KEY_FIRST:
102
+ sprintf_s(msg, "%s TD_KEY_FIRST result = %d \tHandle = %d\n",
103
+ dateTime(), req.result, req.pbk->handle);
104
+ write = true;
105
+ break;
106
+ case TD_KEY_PREV:
107
+ sprintf_s(msg, "%s TD_KEY_PREV result = %d \tHandle = %d\n", dateTime(),
108
+ req.result, req.pbk->handle);
109
+ write = true;
110
+ break;
111
+ case TD_KEY_LAST:
112
+ sprintf_s(msg, "%s TD_KEY_LAST result = %d \tHandle = %d\n", dateTime(),
113
+ req.result, req.pbk->handle);
114
+ write = true;
115
+ break;
116
+ case TD_KEY_NEXT:
117
+ sprintf_s(msg, "%s TD_KEY_NEXT result = %d \tHandle = %d\n", dateTime(),
118
+ req.result, req.pbk->handle);
119
+ write = true;
120
+ break;
121
+ case TD_REC_INSERT:
122
+ sprintf_s(msg, "%s TD_REC_INSERT result = %d \tHandle = %d\n",
123
+ dateTime(), req.result, req.pbk->handle);
124
+ write = true;
125
+ break;
126
+ case TD_REC_UPDATE:
127
+ sprintf_s(msg, "%s TD_REC_UPDATE result = %d \tHandle = %d\n",
128
+ dateTime(), req.result, req.pbk->handle);
129
+ write = true;
130
+ break;
131
+ case TD_REC_DELETE:
132
+ sprintf_s(msg, "%s TD_REC_DELETE result = %d \tHandle = %d\n",
133
+ dateTime(), req.result, req.pbk->handle);
134
+ write = true;
135
+ break;
136
+ case TD_BEGIN_TRANSACTION:
137
+ sprintf_s(msg, "%s TD_BEGIN_TRANSACTION cid = %d \n", dateTime(),
138
+ req.cid);
139
+ write = true;
140
+ break;
141
+ case TD_END_TRANSACTION:
142
+ sprintf_s(msg, "%s TD_END_TRANSACTION cid = %d \n", dateTime(),
143
+ req.cid);
144
+ write = true;
145
+ break;
146
+ case TD_ABORT_TRANSACTION:
147
+ sprintf_s(msg, "%s TD_ABORT_TRANSACTION cid = %d \n", dateTime(),
148
+ req.cid);
149
+ write = true;
150
+ break;
151
+ case TD_BEGIN_SHAPSHOT:
152
+ sprintf_s(msg, "%s TD_BEGIN_SHAPSHOT cid = %d \n", dateTime(), req.cid);
153
+ write = true;
154
+ break;
155
+ case TD_END_SNAPSHOT:
156
+ sprintf_s(msg, "%s TD_END_SNAPSHOT cid = %d \n", dateTime(), req.cid);
157
+ write = true;
158
+ break;
159
+ case TD_TABLE_INFO:
160
+ {
161
+ std::string dbname = getDatabaseName(req);
162
+ sprintf_s(msg, "%s TD_TABLE_INFO result = %d \tHandle = %d\n",
163
+ dateTime(), req.result, req.pbk->handle);
164
+ write = true;
165
+ break;
166
+ }
40
167
 
41
- switch(op)
42
- {
43
- /*case TD_CONNECT:
44
- case TD_STOP_ENGINE:
45
-
46
- break;*/
47
- case TD_RESET_CLIENT:
48
- {
49
- std::string dbname = getDatabaseName(req);
50
- sprintf_s(msg, "%s TD_RESET_CLIENT result = %d \tdbname = %s\t cid = %d \n"
51
- ,dateTime(), req.result, dbname.c_str(), req.cid);
52
- write = true;
53
- break;
54
- }
55
- case TD_CREATETABLE:
56
- {
57
- std::string dbname = getDatabaseName(req);
58
- sprintf_s(msg, "%s TD_CREATETABLE result = %d \tdbname = %s\t table=%s\n"
59
- ,dateTime(), req.result, dbname.c_str(), getTableName(req).c_str());
60
- write = true;
61
- break;
62
- }
63
- case TD_OPENTABLE:
64
- {
65
- std::string dbname = getDatabaseName(req);
66
- sprintf_s(msg, "%s TD_OPENTABLE result = %d \tHandle = %d \tdbname = %s\n"
67
- ,dateTime(), req.result, req.pbk->handle, dbname.c_str());
68
- write = true;
69
- break;
70
- }
71
- case TD_CLOSETABLE:
72
- sprintf_s(msg, "%s TD_CLOSETABLE result = %d \tHandle = %d\n"
73
- ,dateTime(), req.result, req.pbk->handle);
74
- write = true;
75
- break;
76
- case TD_KEY_SEEK:
77
- sprintf_s(msg, "%s TD_KEY_SEEK result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
78
- write = true;
79
- break;
80
- case TD_KEY_AFTER:
81
- sprintf_s(msg, "%s TD_KEY_AFTER result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
82
- write = true;
83
- break;
84
- case TD_KEY_OR_AFTER:
85
- sprintf_s(msg, "%s TD_KEY_OR_AFTER result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
86
- write = true;
87
- break;
88
- case TD_KEY_BEFORE:
89
- sprintf_s(msg, "%s TD_KEY_BEFORE result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
90
- write = true;
91
- break;
92
- case TD_KEY_OR_BEFORE:
93
- sprintf_s(msg, "%s TD_KEY_OR_BEFORE result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
94
- write = true;
95
- break;
96
- case TD_KEY_FIRST:
97
- sprintf_s(msg, "%s TD_KEY_FIRST result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
98
- write = true;
99
- break;
100
- case TD_KEY_PREV:
101
- sprintf_s(msg, "%s TD_KEY_PREV result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
102
- write = true;
103
- break;
104
- case TD_KEY_LAST:
105
- sprintf_s(msg, "%s TD_KEY_LAST result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
106
- write = true;
107
- break;
108
- case TD_KEY_NEXT:
109
- sprintf_s(msg, "%s TD_KEY_NEXT result = %d \tHandle = %d\n" ,dateTime(), req.result, req.pbk->handle);
110
- write = true;
111
- break;
112
- case TD_REC_INSERT:
113
- sprintf_s(msg, "%s TD_REC_INSERT result = %d \tHandle = %d\n"
114
- ,dateTime(), req.result, req.pbk->handle);
115
- write = true;
116
- break;
117
- case TD_REC_UPDATE:
118
- sprintf_s(msg, "%s TD_REC_UPDATE result = %d \tHandle = %d\n"
119
- ,dateTime(), req.result, req.pbk->handle);
120
- write = true;
121
- break;
122
- case TD_REC_DELETE:
123
- sprintf_s(msg, "%s TD_REC_DELETE result = %d \tHandle = %d\n"
124
- ,dateTime(), req.result, req.pbk->handle);
125
- write = true;
126
- break;
127
- case TD_BEGIN_TRANSACTION:
128
- sprintf_s(msg, "%s TD_BEGIN_TRANSACTION cid = %d \n",dateTime(), req.cid);
129
- write = true;
130
- break;
131
- case TD_END_TRANSACTION:
132
- sprintf_s(msg, "%s TD_END_TRANSACTION cid = %d \n",dateTime(), req.cid);
133
- write = true;
134
- break;
135
- case TD_ABORT_TRANSACTION:
136
- sprintf_s(msg, "%s TD_ABORT_TRANSACTION cid = %d \n",dateTime(), req.cid);
137
- write = true;
138
- break;
139
- case TD_BEGIN_SHAPSHOT:
140
- sprintf_s(msg, "%s TD_BEGIN_SHAPSHOT cid = %d \n",dateTime(), req.cid);
141
- write = true;
142
- break;
143
- case TD_END_SNAPSHOT:
144
- sprintf_s(msg, "%s TD_END_SNAPSHOT cid = %d \n",dateTime(), req.cid);
145
- write = true;
146
- break;
147
- case TD_TABLE_INFO:
148
- {
149
- std::string dbname = getDatabaseName(req);
150
- sprintf_s(msg, "%s TD_TABLE_INFO result = %d \tHandle = %d\n"
151
- ,dateTime(), req.result, req.pbk->handle);
152
- write = true;
153
- break;
154
- }
155
-
156
- case TD_POS_FIRST:
157
- sprintf_s(msg, "%s TD_POS_FIRST result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
158
- write = true;
159
- break;
160
- case TD_POS_LAST:
161
- sprintf_s(msg, "%s TD_POS_LAST result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
162
- write = true;
163
- break;
164
- case TD_POS_NEXT:
165
- sprintf_s(msg, "%s TD_POS_NEXT result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
166
- write = true;
167
- break;
168
- case TD_POS_PREV:
169
- sprintf_s(msg, "%s TD_POS_PREV result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
170
- write = true;
171
- break;
172
- case TD_BOOKMARK:
173
- if (req.result==0)
174
- sprintf_s(msg, "%s TD_BOOKMARK result = %d \tHandle = %d key = %d pos = %d\n"
175
- ,dateTime(), req.result, req.pbk->handle, req.keyNum, *((uint*)req.data));
176
- else
177
- sprintf_s(msg, "%s TD_BOOKMARK result = %d \tHandle = %d key = %d \n"
178
- ,dateTime(), req.result, req.pbk->handle, req.keyNum);
179
- write = true;
180
- break;
168
+ case TD_POS_FIRST:
169
+ sprintf_s(msg, "%s TD_POS_FIRST result = %d \tHandle = %d\n",
170
+ dateTime(), req.result, req.pbk->handle);
171
+ write = true;
172
+ break;
173
+ case TD_POS_LAST:
174
+ sprintf_s(msg, "%s TD_POS_LAST result = %d \tHandle = %d\n", dateTime(),
175
+ req.result, req.pbk->handle);
176
+ write = true;
177
+ break;
178
+ case TD_POS_NEXT:
179
+ sprintf_s(msg, "%s TD_POS_NEXT result = %d \tHandle = %d\n", dateTime(),
180
+ req.result, req.pbk->handle);
181
+ write = true;
182
+ break;
183
+ case TD_POS_PREV:
184
+ sprintf_s(msg, "%s TD_POS_PREV result = %d \tHandle = %d\n", dateTime(),
185
+ req.result, req.pbk->handle);
186
+ write = true;
187
+ break;
188
+ case TD_BOOKMARK:
189
+ if (req.result == 0)
190
+ sprintf_s(
191
+ msg,
192
+ "%s TD_BOOKMARK result = %d \tHandle = %d key = %d pos = %d\n",
193
+ dateTime(), req.result, req.pbk->handle, req.keyNum,
194
+ *((uint*)req.data));
195
+ else
196
+ sprintf_s(msg,
197
+ "%s TD_BOOKMARK result = %d \tHandle = %d key = %d \n",
198
+ dateTime(), req.result, req.pbk->handle, req.keyNum);
199
+ write = true;
200
+ break;
181
201
 
182
- case TD_MOVE_BOOKMARK:
183
- sprintf_s(msg, "%s TD_MOVE_BOOKMARK result = %d \tHandle = %d key = %d pos = %d\n"
184
- ,dateTime(), req.result, req.pbk->handle, req.keyNum, *((uchar*)req.data));
185
- write = true;
186
- break;
187
-
188
- case TD_GETDIRECTORY:
189
- sprintf_s(msg, "%s TD_GETDIRECTORY cid = %d \n",dateTime(), req.cid);
190
- write = true;
191
- break;
202
+ case TD_MOVE_BOOKMARK:
203
+ sprintf_s(
204
+ msg,
205
+ "%s TD_MOVE_BOOKMARK result = %d \tHandle = %d key = %d pos = %d\n",
206
+ dateTime(), req.result, req.pbk->handle, req.keyNum,
207
+ *((uchar*)req.data));
208
+ write = true;
209
+ break;
192
210
 
193
- /*case TD_VERSION:
194
- break;
195
- case TD_CLEAR_OWNERNAME:
196
- */
197
- case TD_SET_OWNERNAME:
198
- sprintf_s(msg, "%s TD_SET_OWNERNAME result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
199
- write = true;
200
- break;
201
- case TD_DROP_INDEX:
202
- sprintf_s(msg, "%s TD_DROP_INDEX result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
203
- write = true;
204
- break;
205
- case TD_KEY_NEXT_MULTI:
206
- sprintf_s(msg, "%s TD_KEY_NEXT_MULTI result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
207
- write = true;
208
- break;
209
- case TD_KEY_PREV_MULTI:
210
- sprintf_s(msg, "%s TD_KEY_PREV_MULTI result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
211
- write = true;
212
- break;
213
- case TD_POS_NEXT_MULTI:
214
- sprintf_s(msg, "%s TD_POS_NEXT_MULTI result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
215
- write = true;
216
- break;
217
- case TD_POS_PREV_MULTI:
218
- sprintf_s(msg, "%s TD_POS_PREV_MULTI result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
219
- write = true;
220
- break;
221
- case TD_MOVE_PER:
222
- sprintf_s(msg, "%s TD_MOVE_PER result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
223
- write = true;
224
- break;
225
- case TD_GET_PER:
226
- sprintf_s(msg, "%s TD_GET_PER result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
227
- write = true;
228
- break;
229
- case TD_INSERT_BULK:
230
- sprintf_s(msg, "%s TD_INSERT_BULK result = %d \tHandle = %d\n",dateTime(), req.result, req.pbk->handle);
231
- write = true;
232
- break;
233
- }
234
- if (error)
235
- {
236
- sprintf_s(msg, "%s ERROR result = %d op=%d\t\tHandle = %d\n"
237
- ,dateTime(), req.result, op, req.pbk?req.pbk->handle:0);
238
- write = true;
239
- }
240
- if (write)
241
- {
242
- boost::mutex::scoped_lock lck(g_logMutex);
243
- FILE* fp = fileOpne(logfilename, "a+");
244
- if (fp)
245
- {
246
- fputs(msg, fp);
247
- fclose(fp);
248
- }
249
- }
211
+ case TD_GETDIRECTORY:
212
+ sprintf_s(msg, "%s TD_GETDIRECTORY cid = %d \n", dateTime(), req.cid);
213
+ write = true;
214
+ break;
215
+
216
+ /*case TD_VERSION:
217
+ break;
218
+ case TD_CLEAR_OWNERNAME:
219
+ */
220
+ case TD_SET_OWNERNAME:
221
+ sprintf_s(msg, "%s TD_SET_OWNERNAME result = %d \tHandle = %d\n",
222
+ dateTime(), req.result, req.pbk->handle);
223
+ write = true;
224
+ break;
225
+ case TD_DROP_INDEX:
226
+ sprintf_s(msg, "%s TD_DROP_INDEX result = %d \tHandle = %d\n",
227
+ dateTime(), req.result, req.pbk->handle);
228
+ write = true;
229
+ break;
230
+ case TD_KEY_NEXT_MULTI:
231
+ sprintf_s(msg, "%s TD_KEY_NEXT_MULTI result = %d \tHandle = %d\n",
232
+ dateTime(), req.result, req.pbk->handle);
233
+ write = true;
234
+ break;
235
+ case TD_KEY_PREV_MULTI:
236
+ sprintf_s(msg, "%s TD_KEY_PREV_MULTI result = %d \tHandle = %d\n",
237
+ dateTime(), req.result, req.pbk->handle);
238
+ write = true;
239
+ break;
240
+ case TD_POS_NEXT_MULTI:
241
+ sprintf_s(msg, "%s TD_POS_NEXT_MULTI result = %d \tHandle = %d\n",
242
+ dateTime(), req.result, req.pbk->handle);
243
+ write = true;
244
+ break;
245
+ case TD_POS_PREV_MULTI:
246
+ sprintf_s(msg, "%s TD_POS_PREV_MULTI result = %d \tHandle = %d\n",
247
+ dateTime(), req.result, req.pbk->handle);
248
+ write = true;
249
+ break;
250
+ case TD_MOVE_PER:
251
+ sprintf_s(msg, "%s TD_MOVE_PER result = %d \tHandle = %d\n", dateTime(),
252
+ req.result, req.pbk->handle);
253
+ write = true;
254
+ break;
255
+ case TD_GET_PER:
256
+ sprintf_s(msg, "%s TD_GET_PER result = %d \tHandle = %d\n", dateTime(),
257
+ req.result, req.pbk->handle);
258
+ write = true;
259
+ break;
260
+ case TD_INSERT_BULK:
261
+ sprintf_s(msg, "%s TD_INSERT_BULK result = %d \tHandle = %d\n",
262
+ dateTime(), req.result, req.pbk->handle);
263
+ write = true;
264
+ break;
265
+ }
266
+ if (error)
267
+ {
268
+ sprintf_s(msg, "%s ERROR result = %d op=%d\t\tHandle = %d\n",
269
+ dateTime(), req.result, op, req.pbk ? req.pbk->handle : 0);
270
+ write = true;
271
+ }
272
+ if (write)
273
+ {
274
+ boost::mutex::scoped_lock lck(g_logMutex);
275
+ FILE* fp = fileOpne(logfilename, "a+");
276
+ if (fp)
277
+ {
278
+ fputs(msg, fp);
279
+ fclose(fp);
280
+ }
281
+ }
250
282
  }
251
283
  void writeDebuglog(const char* msg)
252
284
  {
253
- boost::mutex::scoped_lock lck(g_logMutex);
254
- FILE* fp = fileOpne(logfilename, "a+");
255
- if (fp)
256
- {
257
- fputs(dateTime(), fp);
258
- fputs(" ", fp);
259
- fputs(msg, fp);
260
- fclose(fp);
261
- }
285
+ boost::mutex::scoped_lock lck(g_logMutex);
286
+ FILE* fp = fileOpne(logfilename, "a+");
287
+ if (fp)
288
+ {
289
+ fputs(dateTime(), fp);
290
+ fputs(" ", fp);
291
+ fputs(msg, fp);
292
+ fclose(fp);
293
+ }
262
294
  }
263
295
  void writeDebuglogDump(const char* msg, const char* p, int size)
264
296
  {
265
- boost::mutex::scoped_lock lck(g_logMutex);
266
- FILE* fp = fileOpne(logfilename, "a+");
267
- if (fp)
268
- {
269
- fputs(msg, fp);
270
- fputs("\n", fp);
271
- dump(fp, p, size, INT_MAX);
297
+ boost::mutex::scoped_lock lck(g_logMutex);
298
+ FILE* fp = fileOpne(logfilename, "a+");
299
+ if (fp)
300
+ {
301
+ fputs(msg, fp);
302
+ fputs("\n", fp);
303
+ dump(fp, p, size, INT_MAX);
272
304
 
273
- fclose(fp);
274
- }
305
+ fclose(fp);
306
+ }
275
307
  }
276
308
  void fieldDump(table* tb)
277
309
  {
278
- boost::mutex::scoped_lock lck(g_logMutex);
279
- FILE* fp = fileOpne(logfilename, "a+");
280
- if (fp)
281
- {
282
- for (int j=0;j<(int)tb->m_table->s->fields;j++)
283
- {
284
- fputs(tb->m_table->s->field[j]->field_name, fp);
285
- fputs("=", fp);
286
- fputs(tb->valStr(j), fp);
287
- fputs("\n", fp);
288
- }
289
- fclose(fp);
290
- }
310
+ boost::mutex::scoped_lock lck(g_logMutex);
311
+ FILE* fp = fileOpne(logfilename, "a+");
312
+ if (fp)
313
+ {
314
+ for (int j = 0; j < (int)tb->m_table->s->fields; j++)
315
+ {
316
+ fputs(tb->m_table->s->field[j]->field_name, fp);
317
+ fputs("=", fp);
318
+ fputs(tb->valStr(j), fp);
319
+ fputs("\n", fp);
320
+ }
321
+ fclose(fp);
322
+ }
291
323
  }
292
324
 
293
325
  void initLog()
294
326
  {
295
- fn_format(logfilename, "transctd_debug","",".log",MY_REPLACE_EXT|MY_UNPACK_FILENAME);
296
-
297
- FILE* fp = fileOpne(logfilename, "w");
298
- if (fp)
299
- {
300
- fputs(dateTime(), fp);
301
- fputs("Transctd debug Start", fp);
302
- fputs(msg, fp);
303
- fclose(fp);
304
- }
327
+ fn_format(logfilename, "transctd_debug", "", ".log",
328
+ MY_REPLACE_EXT | MY_UNPACK_FILENAME);
329
+
330
+ FILE* fp = fileOpne(logfilename, "w");
331
+ if (fp)
332
+ {
333
+ fputs(dateTime(), fp);
334
+ fputs("Transctd debug Start", fp);
335
+ fputs(msg, fp);
336
+ fclose(fp);
337
+ }
305
338
  }
306
339
  void endLog()
307
340
  {
308
- writeDebuglog("Transctd debug End");
341
+ writeDebuglog("Transctd debug End");
309
342
  }
310
343
  void dump(FILE* fp, const char* p, int size, int limit)
311
344
  {
312
- size = std::min(size, limit);
313
- for (int i=0;i<size;i+=16)
314
- {
315
-
316
- for (int j=0;j<16;j++)
317
- fprintf(fp, "%02X ", *((unsigned char*)(p+i+j)));
318
- fprintf(fp, " ");
319
- for (int j=0;j<16;j++)
320
- fprintf(fp, "%c", *((unsigned char*)(p+i+j)));
321
- fprintf(fp, "\n");
322
-
323
- }
324
- fprintf(fp, "\n");
345
+ size = std::min(size, limit);
346
+ for (int i = 0; i < size; i += 16)
347
+ {
348
+
349
+ for (int j = 0; j < 16; j++)
350
+ fprintf(fp, "%02X ", *((unsigned char*)(p + i + j)));
351
+ fprintf(fp, " ");
352
+ for (int j = 0; j < 16; j++)
353
+ fprintf(fp, "%c", *((unsigned char*)(p + i + j)));
354
+ fprintf(fp, "\n");
355
+ }
356
+ fprintf(fp, "\n");
325
357
  }
326
358
  void debugReadRecordsBegin(extResultDef* resultDef, extRequest* req)
327
359
  {
328
- char tmp[2048];
329
- char tmp2[1024]={0x00};
330
- sprintf(tmp, "READS RESULTDEF maxRows=%d fieldCount=%d\n", resultDef->maxRows, resultDef->fieldCount);
331
- for (int i=0;i<resultDef->fieldCount;i++)
332
- {
333
- resultField* fd = &resultDef->field[i];
334
- sprintf(tmp2,"RESULTDEF FIELD%d pos =%d len=%d \n",i+1, fd->pos, fd->len);
335
- strcat(tmp, tmp2);
336
- }
337
- sprintf(tmp2, "READS REQ len=%d reject=%d logicalCount=%d\n", req->len, req->rejectCount, req->logicalCount);
338
- strcat(tmp, tmp2);
339
- logicalField* field = &req->field;
340
- while(1)
341
- {
342
- sprintf(tmp2,"REQUEST FIELD1 type =%d len=%d pos=%d logType=%d opr=%d "
343
- , field->type, field->len, field->pos, field->logType, field->opr);
344
- strcat(tmp, tmp2);
345
- if (field->logType & CMPLOGICAL_FIELD)
346
- sprintf(tmp2, "offset=%d\n", field->offset);
347
- else
348
- {
349
- strcat(tmp, "Value=");
350
- for (int j=0;j<field->len;j++)
351
- {
352
- sprintf(tmp2, "%02X ", *(field->ptr+j));
353
- strcat(tmp, tmp2);
354
- }
355
- strcat(tmp, "\n");
356
- }
357
- if (field->opr == 0) break;//this is last
358
- field = field->next();
359
- }
360
- writeDebuglog(tmp);
360
+ char tmp[2048];
361
+ char tmp2[1024] = { 0x00 };
362
+ sprintf(tmp, "READS RESULTDEF maxRows=%d fieldCount=%d\n",
363
+ resultDef->maxRows, resultDef->fieldCount);
364
+ for (int i = 0; i < resultDef->fieldCount; i++)
365
+ {
366
+ resultField* fd = &resultDef->field[i];
367
+ sprintf(tmp2, "RESULTDEF FIELD%d pos =%d len=%d \n", i + 1, fd->pos,
368
+ fd->len);
369
+ strcat(tmp, tmp2);
370
+ }
371
+ sprintf(tmp2, "READS REQ len=%d reject=%d logicalCount=%d\n", req->len,
372
+ req->rejectCount, req->logicalCount);
373
+ strcat(tmp, tmp2);
374
+ logicalField* field = &req->field;
375
+ while (1)
376
+ {
377
+ sprintf(
378
+ tmp2, "REQUEST FIELD1 type =%d len=%d pos=%d logType=%d opr=%d ",
379
+ field->type, field->len, field->pos, field->logType, field->opr);
380
+ strcat(tmp, tmp2);
381
+ if (field->logType & CMPLOGICAL_FIELD)
382
+ sprintf(tmp2, "offset=%d\n", field->offset);
383
+ else
384
+ {
385
+ strcat(tmp, "Value=");
386
+ for (int j = 0; j < field->len; j++)
387
+ {
388
+ sprintf(tmp2, "%02X ", *(field->ptr + j));
389
+ strcat(tmp, tmp2);
390
+ }
391
+ strcat(tmp, "\n");
392
+ }
393
+ if (field->opr == 0)
394
+ break; // this is last
395
+ field = field->next();
396
+ }
397
+ writeDebuglog(tmp);
361
398
  }
362
399
  void debugReadRecordsEnd(resultWriter* rw)
363
400
  {
364
- writeDebuglogDump("READS RESULT DUMP", rw->resultBuffer()+RETBUF_EXT_RESERVE_SIZE
365
- , rw->resultLen()-RETBUF_EXT_RESERVE_SIZE);
401
+ writeDebuglogDump("READS RESULT DUMP",
402
+ rw->resultBuffer() + RETBUF_EXT_RESERVE_SIZE,
403
+ rw->resultLen() - RETBUF_EXT_RESERVE_SIZE);
366
404
  }
367
- void debugInsert(table* tb, const char* packPtr,int packlen, int row, int errorCount)
405
+ void debugInsert(table* tb, const char* packPtr, int packlen, int row,
406
+ int errorCount)
368
407
  {
369
- char tmp[64];
370
- sprintf(tmp, "INSERT PACKED Row=%d len=%d ErrorRows=%d ", packlen, row, errorCount);
371
- writeDebuglogDump(tmp, packPtr + sizeof(ushort_td), packlen);
372
- sprintf(tmp, "INSERT UNPACKED Row=%d len=%ld stat=%d", row, tb->recordLen(), tb->stat());
373
- writeDebuglogDump(tmp, (const char*)tb->record(), tb->recordLen());
374
- fieldDump(tb);
408
+ char tmp[64];
409
+ sprintf(tmp, "INSERT PACKED Row=%d len=%d ErrorRows=%d ", packlen, row,
410
+ errorCount);
411
+ writeDebuglogDump(tmp, packPtr + sizeof(ushort_td), packlen);
412
+ sprintf(tmp, "INSERT UNPACKED Row=%d len=%ld stat=%d", row, tb->recordLen(),
413
+ tb->stat());
414
+ writeDebuglogDump(tmp, (const char*)tb->record(), tb->recordLen());
415
+ fieldDump(tb);
375
416
  }
376
417
 
377
- }//namespace msqlp
378
- }//namespace bzs
418
+ } // namespace msqlp
419
+ } // namespace bzs
379
420
 
380
- #ifdef DEBUG_PROFILE
421
+ #ifdef DEBUG_PROFILE
381
422
  unsigned int g_v;
382
423
  #endif
383
-