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,438 +1,472 @@
1
1
  #ifndef BZS_DB_PROTOCOL_TDAP_TDAPCAPI_H
2
2
  #define BZS_DB_PROTOCOL_TDAP_TDAPCAPI_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
- =================================================================*/
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
  #include <bzs/env/compiler.h>
22
22
  #include <tchar.h>
23
23
 
24
-
25
24
  /** data types
26
25
  */
27
- typedef unsigned int uint_td;
28
- typedef unsigned short ushort_td;
29
- typedef void void_td;
30
- typedef short short_td;
31
- typedef unsigned char uchar_td;
32
- typedef char char_td;
33
- typedef uint_td bookmark_td;
34
- typedef int percentage_td;
26
+ typedef unsigned int uint_td;
27
+ typedef unsigned short ushort_td;
28
+ typedef void void_td;
29
+ typedef short short_td;
30
+ typedef unsigned char uchar_td;
31
+ typedef char char_td;
32
+ typedef uint_td bookmark_td;
33
+ typedef int percentage_td;
35
34
 
36
- typedef ushort_td keylen_td;
35
+ typedef ushort_td keylen_td;
37
36
 
38
37
  /** tdap c interface
39
38
  */
40
- #ifdef ARBTREGN_PKG
41
- extern __declspec(dllimport)
42
- short_td __stdcall BTRCALLID(ushort_td op, void* posb, void* data, uint_td* datalen
43
- , void* keybuf, keylen_td keylen, char_td keyNum, uchar_td* clientID);
39
+ #if (defined(__BORLANDC__) && !defined(__clang__))
40
+ typedef short __stdcall (*dllUnloadCallback)();
41
+ #else
42
+ /** @cond INTERNAL */
43
+ /** Callback function on a record was deleted. */
44
+ typedef short(__STDCALL* dllUnloadCallback)();
45
+ /** @endcond */
46
+ #endif
47
+
48
+ #ifdef LIB_TDCLCPP
49
+ extern __declspec(dllimport) short_td
50
+ __stdcall BTRCALLID(ushort_td op, void* posb, void* data, uint_td* datalen,
51
+ void* keybuf, keylen_td keylen, char_td keyNum,
52
+ uchar_td* clientID);
53
+
54
+ extern __declspec(dllimport) short_td
55
+ __stdcall CallbackRegist(dllUnloadCallback func);
44
56
  #endif
45
57
 
58
+ typedef short_td(__STDCALL* BTRCALLID_PTR)(ushort_td, void*, void*, uint_td*,
59
+ void*, keylen_td, char_td,
60
+ uchar_td*);
46
61
 
47
- typedef short_td (__STDCALL *BTRCALLID_PTR)(ushort_td,void*,void*, uint_td*
48
- ,void*,keylen_td,char_td,uchar_td*);
62
+ typedef short_td(__STDCALL* DLLUNLOADCALLBACK_PTR)(dllUnloadCallback func);
49
63
 
50
64
  /** buffer size
51
65
  */
52
- #define POS_BLOCK_SIZE 128
66
+ #define POS_BLOCK_SIZE 128
53
67
  #ifndef MAX_KEYLEN
54
- #define MAX_KEYLEN 0X3FF //1023
68
+ #define MAX_KEYLEN 0X3FF // 1023
55
69
  #endif
56
70
 
57
-
58
71
  /** operation type
59
72
  *
60
73
  */
61
- #define TD_OPENTABLE 0
62
- #define TD_CLOSETABLE 1
63
- #define TD_REC_INSERT 2
64
- #define TD_REC_UPDATE 3
65
- #define TD_REC_DELETE 4
66
- #define TD_KEY_SEEK 5
67
- #define TD_KEY_NEXT 6
68
- #define TD_KEY_PREV 7
69
- #define TD_KEY_AFTER 8
70
- #define TD_KEY_OR_AFTER 9
71
- #define TD_KEY_BEFORE 10
72
- #define TD_KEY_OR_BEFORE 11
73
- #define TD_KEY_FIRST 12
74
- #define TD_KEY_LAST 13
75
- #define TD_CREATETABLE 14
76
- #define TD_TABLE_INFO 15
77
- #define TD_SETDIRECTORY 17
78
- #define TD_GETDIRECTORY 18
79
- #define TD_BEGIN_TRANSACTION 19
80
- #define TD_END_TRANSACTION 20
81
- #define TD_ABORT_TRANSACTION 21
82
- #define TD_BOOKMARK 22
83
- #define TD_MOVE_BOOKMARK 23
84
- #define TD_POS_NEXT 24
85
- #define TD_STOP_ENGINE 25
86
- #define TD_VERSION 26
87
- #define TD_UNLOCK 27
88
- #define TD_RESET_CLIENT 28
89
- #define TD_SET_OWNERNAME 29
90
- #define TD_CLEAR_OWNERNAME 30
91
- #define TD_BUILD_INDEX 31
92
- #define TD_DROP_INDEX 32
93
- #define TD_POS_FIRST 33
94
- #define TD_POS_LAST 34
95
- #define TD_POS_PREV 35
96
- #define TD_KEY_NEXT_MULTI 36
97
- #define TD_KEY_PREV_MULTI 37
98
- #define TD_POS_NEXT_MULTI 38
99
- #define TD_POS_PREV_MULTI 39
100
- #define TD_INSERT_BULK 40
101
- #define TD_BACKUPMODE 42
102
- #define TD_MOVE_PER 44
103
- #define TD_GET_PER 45
104
- #define TD_UPDATE_PART 53
105
- #define TD_KEY_EQUAL_KO 55
106
- #define TD_KEY_NEXT_KO 56
107
- #define TD_KEY_PREV_KO 57
108
- #define TD_KEY_GT_KO 58
109
- #define TD_KEY_GE_KO 59
110
- #define TD_KEY_LT_KO 60
111
- #define TD_KEY_LE_KO 61
112
- #define TD_KEY_FIRST_KO 62
113
- #define TD_KEY_LAST_KO 63
114
- #define TD_CREATE_TEMP 64
115
- #define TD_TABLE_INFO_EX 65
116
- #define TD_REC_UPDATEATKEY 70
117
- #define TD_REC_DELLETEATKEY 71
118
- #define TD_KEY_GE_NEXT_MULTI 72
119
- #define TD_KEY_LE_PREV_MULTI 73
120
- #define TD_CONNECT 78
121
- #define TD_BEGIN_SHAPSHOT 88
122
- #define TD_END_SNAPSHOT 89
123
- #define TD_AUTOMEKE_SCHEMA 90
124
- #define TD_GETSERVER_CHARSET 91
125
- #define TD_ADD_SENDBLOB 92
126
- #define TD_GET_BLOB_BUF 93
127
- #define TD_STASTISTICS 94
128
- #define TD_KEY_SEEK_MULTI 95
129
-
130
-
131
-
132
-
74
+ #define TD_OPENTABLE 0
75
+ #define TD_CLOSETABLE 1
76
+ #define TD_REC_INSERT 2
77
+ #define TD_REC_UPDATE 3
78
+ #define TD_REC_DELETE 4
79
+ #define TD_KEY_SEEK 5
80
+ #define TD_KEY_NEXT 6
81
+ #define TD_KEY_PREV 7
82
+ #define TD_KEY_AFTER 8
83
+ #define TD_KEY_OR_AFTER 9
84
+ #define TD_KEY_BEFORE 10
85
+ #define TD_KEY_OR_BEFORE 11
86
+ #define TD_KEY_FIRST 12
87
+ #define TD_KEY_LAST 13
88
+ #define TD_CREATETABLE 14
89
+ #define TD_TABLE_INFO 15
90
+ #define TD_SETDIRECTORY 17
91
+ #define TD_GETDIRECTORY 18
92
+ #define TD_BEGIN_TRANSACTION 19
93
+ #define TD_END_TRANSACTION 20
94
+ #define TD_ABORT_TRANSACTION 21
95
+ #define TD_BOOKMARK 22
96
+ #define TD_MOVE_BOOKMARK 23
97
+ #define TD_POS_NEXT 24
98
+ #define TD_STOP_ENGINE 25
99
+ #define TD_VERSION 26
100
+ #define TD_UNLOCK 27
101
+ #define TD_RESET_CLIENT 28
102
+ #define TD_SET_OWNERNAME 29
103
+ #define TD_CLEAR_OWNERNAME 30
104
+ #define TD_BUILD_INDEX 31
105
+ #define TD_DROP_INDEX 32
106
+ #define TD_POS_FIRST 33
107
+ #define TD_POS_LAST 34
108
+ #define TD_POS_PREV 35
109
+ #define TD_KEY_NEXT_MULTI 36
110
+ #define TD_KEY_PREV_MULTI 37
111
+ #define TD_POS_NEXT_MULTI 38
112
+ #define TD_POS_PREV_MULTI 39
113
+ #define TD_INSERT_BULK 40
114
+ #define TD_BACKUPMODE 42
115
+ #define TD_MOVE_PER 44
116
+ #define TD_GET_PER 45
117
+ #define TD_UPDATE_PART 53
118
+ #define TD_KEY_EQUAL_KO 55
119
+ #define TD_KEY_NEXT_KO 56
120
+ #define TD_KEY_PREV_KO 57
121
+ #define TD_KEY_GT_KO 58
122
+ #define TD_KEY_GE_KO 59
123
+ #define TD_KEY_LT_KO 60
124
+ #define TD_KEY_LE_KO 61
125
+ #define TD_KEY_FIRST_KO 62
126
+ #define TD_KEY_LAST_KO 63
127
+ #define TD_CREATE_TEMP 64
128
+ #define TD_TABLE_INFO_EX 65
129
+ #define TD_REC_UPDATEATKEY 70
130
+ #define TD_REC_DELLETEATKEY 71
131
+ #define TD_KEY_GE_NEXT_MULTI 72
132
+ #define TD_KEY_LE_PREV_MULTI 73
133
+ #define TD_CONNECT 78
134
+ #define TD_BEGIN_SHAPSHOT 88
135
+ #define TD_END_SNAPSHOT 89
136
+ #define TD_AUTOMEKE_SCHEMA 90
137
+ #define TD_GETSERVER_CHARSET 91
138
+ #define TD_ADD_SENDBLOB 92
139
+ #define TD_GET_BLOB_BUF 93
140
+ #define TD_STASTISTICS 94
141
+ #define TD_KEY_SEEK_MULTI 95
133
142
 
134
143
  /** create sub operations
135
144
  */
136
- #define CR_SUBOP_DROP -128
137
- #define CR_SUBOP_RENAME -127
138
- #define CR_SUBOP_SWAPNAME -126
139
- #define CR_SUBOP_BY_FILESPEC -1
140
- #define CR_SUBOP_BY_FILESPEC_NOCKECK 0
141
- #define CR_SUBOP_BY_TABLEDEF 1
142
- #define CR_SUBOP_BY_TABLEDEF_NOCKECK 2
143
-
144
- #define CR_SUB_FLAG_EXISTCHECK -1
145
+ #define CR_SUBOP_DROP -128
146
+ #define CR_SUBOP_RENAME -127
147
+ #define CR_SUBOP_SWAPNAME -126
148
+ #define CR_SUBOP_BY_FILESPEC -1
149
+ #define CR_SUBOP_BY_FILESPEC_NOCKECK 0
150
+ #define CR_SUBOP_BY_TABLEDEF 1
151
+ #define CR_SUBOP_BY_TABLEDEF_NOCKECK 2
145
152
 
153
+ #define CR_SUB_FLAG_EXISTCHECK -1
146
154
 
147
155
  /** TD_ADD_SENDBLOB sub operations
148
156
  */
149
- #define TD_ASBLOB_ENDROW -125
157
+ #define TD_ASBLOB_ENDROW -125
150
158
 
151
159
  /** TD_GET_STASTISTICS sub operations
152
- */
153
- #define TD_STSTCS_READ 0
154
- #define TD_STSTCS_DISCONNECT_ONE 1
155
- #define TD_STSTCS_DISCONNECT_ALL 2
156
-
157
-
160
+ */
161
+ #define TD_STSTCS_READ 0
162
+ #define TD_STSTCS_DISCONNECT_ONE 1
163
+ #define TD_STSTCS_DISCONNECT_ALL 2
158
164
 
159
165
  /** connect sub operation
160
- */
166
+ */
161
167
 
162
- #define LG_SUBOP_CONNECT 0
163
- #define LG_SUBOP_DISCONNECT 1
164
- #define LG_SUBOP_NEWCONNECT 3
168
+ #define LG_SUBOP_CONNECT 0
169
+ #define LG_SUBOP_DISCONNECT 1
170
+ #define LG_SUBOP_NEWCONNECT 3
165
171
 
166
172
 
167
- /** field types
173
+ /** field types
168
174
  */
169
- #define ft_string 0
170
- #define ft_integer 1
171
- #define ft_float 2
172
- #define ft_date 3
173
- #define ft_time 4
174
- #define ft_decimal 5
175
- #define ft_money 6
176
- #define ft_logical 7
177
- #define ft_numeric 8
178
- #define ft_bfloat 9
179
- #define ft_lstring 10
180
- #define ft_zstring 11
181
- #define ft_note 12
182
- #define ft_lvar 13
183
- #define ft_uinteger 14
184
- #define ft_autoinc 15
185
- #define ft_bit 16
186
- #define ft_numericsts 17
187
- #define ft_numericsa 18
188
- #define ft_currency 19
189
- #define ft_timestamp 20
190
- #define ft_blob 21
191
- #define ft_reserve22 22
192
- #define ft_reserve23 23
193
- #define ft_reserve24 24
194
- #define ft_wstring 25
195
- #define ft_wzstring 26
196
- #define ft_guid 27
197
- #define ft_datatime 30
198
- #define ft_myvarchar 40
199
- #define ft_myvarbinary 41
200
- #define ft_mywvarchar 42
201
- #define ft_mywvarbinary 43
202
- #define ft_mychar 44
203
- #define ft_mywchar 45
204
- #define ft_mydate 46
205
- #define ft_mytime 47
206
- #define ft_mydatetime 48
207
- #define ft_mytimestamp 49
208
- #define ft_mytext 50
209
- #define ft_myblob 51
210
- #define ft_autoIncUnsigned 52
211
- #define ft_nullindicator 255
212
-
213
- /** compair types
214
- */
215
- enum eCompType
216
- {
217
- equal = 1,
218
- greater = 2,
219
- less = 3,
220
- notEq = 4,
221
- greaterEq = 5,
222
- lessEq = 6
223
- };
175
+ #define ft_string 0
176
+ #define ft_integer 1
177
+ #define ft_float 2
178
+ #define ft_date 3
179
+ #define ft_time 4
180
+ #define ft_decimal 5
181
+ #define ft_money 6
182
+ #define ft_logical 7
183
+ #define ft_numeric 8
184
+ #define ft_bfloat 9
185
+ #define ft_lstring 10
186
+ #define ft_zstring 11
187
+ #define ft_note 12
188
+ #define ft_lvar 13
189
+ #define ft_uinteger 14
190
+ #define ft_autoinc 15
191
+ #define ft_bit 16
192
+ #define ft_numericsts 17
193
+ #define ft_numericsa 18
194
+ #define ft_currency 19
195
+ #define ft_timestamp 20
196
+ #define ft_blob 21
197
+ #define ft_reserve22 22
198
+ #define ft_reserve23 23
199
+ #define ft_reserve24 24
200
+ #define ft_wstring 25
201
+ #define ft_wzstring 26
202
+ #define ft_guid 27
203
+ #define ft_datetime 30
204
+ #define ft_myvarchar 40
205
+ #define ft_myvarbinary 41
206
+ #define ft_mywvarchar 42
207
+ #define ft_mywvarbinary 43
208
+ #define ft_mychar 44
209
+ #define ft_mywchar 45
210
+ #define ft_mydate 46
211
+ #define ft_mytime 47
212
+ #define ft_mydatetime 48
213
+ #define ft_mytimestamp 49
214
+ #define ft_mytext 50
215
+ #define ft_myblob 51
216
+ #define ft_autoIncUnsigned 52
217
+ #define ft_myfixedbinary 53
218
+
219
+ #define ft_nullindicator 255
224
220
 
225
221
  /** charset type number
226
222
  */
227
- #define charset_none 0
228
- #define charset_latin1 1
229
- #define charset_ascii 2
230
- #define charset_sjis 3
231
- #define charset_cp932 4
232
-
233
-
234
- #define charset_utf8 100
235
- #define charset_utf8mb4 101
236
- #define charset_usc2 102
223
+ #define charset_none 0
224
+ #define charset_latin1 1
225
+ #define charset_ascii 2
226
+ #define charset_sjis 3
227
+ #define charset_cp932 4
237
228
 
229
+ #define charset_utf8 100
230
+ #define charset_utf8mb4 101
231
+ #define charset_usc2 102
238
232
 
239
233
  /** extruct row comp bias
240
234
  */
241
- #define CMPLOGICAL_VAR_COMP_ALL 16 //< In the case of a var type, it is copare as whole length.
242
- #define CMPLOGICAL_CMPACS 32 //< no support
243
- #define CMPLOGICAL_FIELD 64 //< The field for comparison shows not a value but a field number.
244
- #define CMPLOGICAL_CASEINSENSITIVE 128 //< not case-sensitive
245
-
235
+ // In the case of a var type, it is copare as whole length.
236
+ #define CMPLOGICAL_VAR_COMP_ALL 16
237
+ #define CMPLOGICAL_CMPACS 32 // no support
238
+ // The field for comparison shows not a value but a field number.
239
+ #define CMPLOGICAL_FIELD 64
240
+ #define CMPLOGICAL_CASEINSENSITIVE 128 // not case-sensitive
246
241
 
247
242
 
248
243
  /** btrv transaction lock options
249
244
  */
250
- #define LOCK_SINGLE_WAIT 100
251
- #define LOCK_SINGLE_NOWAIT 200
252
- #define LOCK_MULTI_WAIT 300
253
- #define LOCK_MULTI_NOWAIT 400
245
+ #define LOCK_SINGLE_WAIT 100
246
+ #define LOCK_SINGLE_NOWAIT 200
247
+ #define LOCK_MULTI_WAIT 300
248
+ #define LOCK_MULTI_NOWAIT 400
254
249
 
255
- #define NOWAIT_WRITE 500
256
- #define PARALLEL_TRN 1000
250
+ #define NOWAIT_WRITE 500
251
+ #define PARALLEL_TRN 1000
257
252
 
258
- /** open mode
259
- */
260
- #define TD_OPEN_NORMAL 0
261
- #define TD_OPEN_READONLY -2
262
- #define TD_OPEN_EXCLUSIVE -4
263
253
 
254
+ /** open mode
255
+ */
256
+ #define TD_OPEN_NORMAL 0
257
+ #define TD_OPEN_READONLY -2
258
+ #define TD_OPEN_EXCLUSIVE -4
264
259
 
265
260
  /** filed algin
266
261
  */
267
- #define BT_AL_LEFT 0
268
- #define BT_AL_CENTER 2
269
- #define BT_AL_RIGHT 1
262
+ #define BT_AL_LEFT 0
263
+ #define BT_AL_CENTER 2
264
+ #define BT_AL_RIGHT 1
270
265
 
271
266
 
272
267
  /** error code
273
268
  */
274
- #define STATUS_TABLE_YET_OPEN -3
275
- #define STATUS_DURING_TRANSACTION -4
276
- #define STATUS_NO_ACR_UPDATE_DELETE -5
277
- #define STATUS_NO_ACR_INSERT -6
278
- #define STATUS_NO_ACR_READ -7
279
- #define STATUS_CANT_ALLOC_MEMORY -8
280
- #define STATUS_USE_KEYFIELD -9
281
- #define STATUS_TOO_MANY_TABLES -10
282
- #define STATUS_INVARID_PRM_KEY_NUM -11
283
- #define STATUS_INVARID_PNT_KEY_NUM -12
284
- #define STATUS_INVARID_REP_KEY_NUM -13
285
- #define STATUS_INVARID_FIELD_IDX -14
286
- #define STATUS_ALREADY_DELETED -15
287
- #define STATUS_LMITS_MAX_TABLES -16
288
- #define STATUS_DB_YET_OPEN -17
289
- #define STATUS_TABLENAME_NOTFOUND -18
290
- #define STATUS_DIFFERENT_DBVERSION -19
291
- #define STATUS_DUPLICATE_FIELDNAME -20
292
- #define STATUS_INVALID_TABLE_IDX -21
293
- #define STATUS_AUTH_DENIED -22
294
- #define STATUS_TOO_MANY_FIELDS -23
295
- #define STATUS_FILTERSTRING_ERROR -24
296
- #define STATUS_INVALID_FIELDLENGTH -25
297
- #define STATUS_INVALID_KEYTYPE -26
298
- #define STATUS_LVAR_NOTE_NOT_LAST -27
299
- #define STATUS_NODEF_FOR_CONVERT -28
300
- //#define STATUS_CANT_OPEN_TMPFILE -29
301
- //#define STATUS_CANT_SWAP_TMPFILE -30
302
- #define STATUS_AUTOINC_SPACE_ERROR -31
303
- #define STATUS_TOO_LONG_OWNERNAME -32
304
- #define STATUS_CANT_DEL_FOR_REL -33
305
- #define STATUS_NO_AUTOINC_SPACE -34
306
- #define STATUS_INVALID_RECLEN -35
307
- #define STATUS_INVALID_FIELDVALUE -36
308
- #define STATUS_INVALID_VALLEN -37
309
- #define STATUS_FIELDTYPE_NOTSUPPORT -42
310
-
311
- #define STATUS_SUCCESS 0
312
- #define STATUS_PROGRAM_ERROR 1
313
- #define STATUS_IO_ERROR 2
314
- #define STATUS_FILE_NOT_OPENED 3
315
- #define STATUS_NOT_FOUND_TI 4
316
- #define STATUS_DUPPLICATE_KEYVALUE 5
317
- #define STATUS_INVALID_KEYNUM 6
318
- #define STATUS_NO_CURRENT 8
319
- #define STATUS_EOF 9
320
- #define STATUS_TABLE_NOTOPEN 12
321
- #define STATUS_REQUESTER_DEACTIVE 20
322
- #define STATUS_KEYBUFFERTOOSMALL 21
323
- #define STATUS_BUFFERTOOSMALL 22
324
- #define STATUS_CANT_CREATE 25
325
- #define STATUS_NOSUPPORT_OP 41
326
- #define STATUS_INVALID_BOOKMARK 43
327
- #define STATUS_ACCESS_DENIED 46
328
- #define STATUS_INVALID_OWNERNAME 51
329
- #define STATUS_TABLE_EXISTS_ERROR 59
330
- #define STATUS_LIMMIT_OF_REJECT 60
331
- #define STATUS_WARKSPACE_TOO_SMALL 61
332
- #define STATUS_REACHED_FILTER_COND 64
333
- #define STATUS_INVALID_FIELD_OFFSET 65
334
- #define STATUS_CHANGE_CONFLICT 80
335
- #define STATUS_INVALID_LOCKTYPE 83
336
- #define STATUS_LOCK_ERROR 84
337
- #define STATUS_FILE_LOCKED 85
338
- #define STATUS_CANNOT_LOCK_TABLE 88
339
- #define STATUS_INVALID_KEYNAME STATUS_INVALID_KEYNUM
340
- #define STATUS_INVALID_DATASIZE STATUS_BUFFERTOOSMALL
341
- #define STATUS_INVALID_FIELDNAME STATUS_INVALID_FIELD_OFFSET
342
- #define ERROR_TD_INVALID_CLINETHOST 171
343
- #define ERROR_NOSPECIFY_TABLE 176
344
- #define ERROR_LOAD_CLIBRARY 200
345
- #define NET_BAD_SRB_FORMAT 3021
346
- #define ERROR_TD_HOSTNAME_NOT_FOUND 3103
347
- #define ERROR_TD_CONNECTION_FAILURE 3106
348
- #define ERROR_TD_NOT_CONNECTED 3110
349
-
350
-
351
- #define TRANSACTD_SCHEMANAME _T("transactd_schema")
352
- #define TYPE_SCHEMA_BDF (short)0
353
- #define TYPE_SCHEMA_DDF (short)1
354
-
355
-
356
-
357
- #define NIS_FILED_NAME "$nf"
269
+ #define STATUS_TABLE_YET_OPEN -3
270
+ #define STATUS_DURING_TRANSACTION -4
271
+ #define STATUS_NO_ACR_UPDATE_DELETE -5
272
+ #define STATUS_NO_ACR_INSERT -6
273
+ #define STATUS_NO_ACR_READ -7
274
+ #define STATUS_CANT_ALLOC_MEMORY -8
275
+ #define STATUS_USE_KEYFIELD -9
276
+ #define STATUS_TOO_MANY_TABLES -10
277
+ #define STATUS_INVARID_PRM_KEY_NUM -11
278
+ #define STATUS_INVARID_PNT_KEY_NUM -12
279
+ #define STATUS_INVARID_REP_KEY_NUM -13
280
+ #define STATUS_INVARID_FIELD_IDX -14
281
+ #define STATUS_ALREADY_DELETED -15
282
+ #define STATUS_LMITS_MAX_TABLES -16
283
+ #define STATUS_DB_YET_OPEN -17
284
+ #define STATUS_TABLENAME_NOTFOUND -18
285
+ #define STATUS_DIFFERENT_DBVERSION -19
286
+ #define STATUS_DUPLICATE_FIELDNAME -20
287
+ #define STATUS_INVALID_TABLE_IDX -21
288
+ #define STATUS_AUTH_DENIED -22
289
+ #define STATUS_TOO_MANY_FIELDS -23
290
+ #define STATUS_FILTERSTRING_ERROR -24
291
+ #define STATUS_INVALID_FIELDLENGTH -25
292
+ #define STATUS_INVALID_KEYTYPE -26
293
+ #define STATUS_LVAR_NOTE_NOT_LAST -27
294
+ #define STATUS_NODEF_FOR_CONVERT -28
295
+ #define STATUS_TRD_NEED_VARLENGTH -29
296
+ #define STATUS_INVALID_VARIABLETABLE -30
297
+ #define STATUS_AUTOINC_SPACE_ERROR -31
298
+ #define STATUS_TOO_LONG_OWNERNAME -32
299
+ #define STATUS_CANT_DEL_FOR_REL -33
300
+ #define STATUS_NO_AUTOINC_SPACE -34
301
+ #define STATUS_INVALID_RECLEN -35
302
+ #define STATUS_INVALID_FIELDVALUE -36
303
+ #define STATUS_INVALID_VALLEN -37
304
+ #define STATUS_FIELDTYPE_NOTSUPPORT -42
305
+
306
+
307
+ #define STATUS_SUCCESS 0
308
+ #define STATUS_PROGRAM_ERROR 1
309
+ #define STATUS_IO_ERROR 2
310
+ #define STATUS_FILE_NOT_OPENED 3
311
+ #define STATUS_NOT_FOUND_TI 4
312
+ #define STATUS_DUPPLICATE_KEYVALUE 5
313
+ #define STATUS_INVALID_KEYNUM 6
314
+ #define STATUS_NO_CURRENT 8
315
+ #define STATUS_EOF 9
316
+ #define STATUS_TABLE_NOTOPEN 12
317
+ #define STATUS_REQUESTER_DEACTIVE 20
318
+ #define STATUS_KEYBUFFERTOOSMALL 21
319
+ #define STATUS_BUFFERTOOSMALL 22
320
+ #define STATUS_CANT_CREATE 25
321
+ #define STATUS_NOSUPPORT_OP 41
322
+ #define STATUS_INVALID_BOOKMARK 43
323
+ #define STATUS_ACCESS_DENIED 46
324
+ #define STATUS_INVALID_OWNERNAME 51
325
+ #define STATUS_TABLE_EXISTS_ERROR 59
326
+ #define STATUS_LIMMIT_OF_REJECT 60
327
+ #define STATUS_WARKSPACE_TOO_SMALL 61
328
+ #define STATUS_REACHED_FILTER_COND 64
329
+ #define STATUS_INVALID_FIELD_OFFSET 65
330
+ #define STATUS_CHANGE_CONFLICT 80
331
+ #define STATUS_INVALID_LOCKTYPE 83
332
+ #define STATUS_LOCK_ERROR 84
333
+ #define STATUS_FILE_LOCKED 85
334
+ #define STATUS_CANNOT_LOCK_TABLE 88
335
+ #define STATUS_INVALID_KEYNAME STATUS_INVALID_KEYNUM
336
+ #define STATUS_INVALID_DATASIZE STATUS_BUFFERTOOSMALL
337
+ #define STATUS_INVALID_FIELDNAME STATUS_INVALID_FIELD_OFFSET
338
+ #define ERROR_TD_INVALID_CLINETHOST 171
339
+ #define ERROR_NOSPECIFY_TABLE 176
340
+ #define ERROR_LOAD_CLIBRARY 200
341
+ #define ERROR_INDEX_RND_INIT 201
342
+ #define SERVER_CLIENT_NOT_COMPATIBLE 3003
343
+ #define NET_BAD_SRB_FORMAT 3021
344
+ #define ERROR_TD_HOSTNAME_NOT_FOUND 3103
345
+ #define ERROR_TD_CONNECTION_FAILURE 3106
346
+ #define ERROR_TD_NOT_CONNECTED 3110
347
+
348
+ #define TRANSACTD_SCHEMANAME _T("transactd_schema")
349
+ #define TYPE_SCHEMA_BDF 0
350
+ #define TYPE_SCHEMA_DDF 1
351
+
352
+ #define FILTER_CURRENT_TYPE_NOTINC 0
353
+ #define FILTER_CURRENT_TYPE_INC 1
354
+ #define FILTER_CURRENT_TYPE_NOBOOKMARK 2
355
+
356
+
357
+ #define NIS_FILED_NAME "$nf"
358
358
 
359
359
  /** max ownwr name size + 1 */
360
- #define OWNERNAME_SIZE 12
361
-
360
+ #define OWNERNAME_SIZE 12
362
361
 
363
- #define TD_BACKUP_START (char_td)0
364
- #define TD_BACKUP_END (char_td)2
365
- #define TD_BACKUP_MODE_OK STATUS_SUCCESS
366
- #define TD_BACKUP_MODE_NOT_SUPPORT STATUS_PROGRAM_ERROR
367
- #define TD_BACKUP_MODE_BUSY STATUS_CANNOT_LOCK_TABLE
368
- #define TD_BACKUP_MODE_NOT_PERMIT (short)41
369
- #define TD_BACKUP_MODE_SERVER_ERROR (short)91
362
+ #define TD_BACKUP_START 0
363
+ #define TD_BACKUP_END 2
364
+ #define TD_BACKUP_MODE_OK STATUS_SUCCESS
365
+ #define TD_BACKUP_MODE_NOT_SUPPORT STATUS_PROGRAM_ERROR
366
+ #define TD_BACKUP_MODE_BUSY STATUS_CANNOT_LOCK_TABLE
367
+ #define TD_BACKUP_MODE_NOT_PERMIT 41
368
+ #define TD_BACKUP_MODE_SERVER_ERROR 91
370
369
 
371
370
 
371
+ /** @cond INTERNAL */
372
+ struct trdVersiton
373
+ {
374
+ char cherserServer[128];
375
+ ushort_td clMajor;
376
+ ushort_td clMinor;
377
+ ushort_td clRelease;
378
+ ushort_td srvMajor;
379
+ ushort_td srvMinor;
380
+ ushort_td srvRelease;
381
+ };
382
+ /** @endcond */
372
383
 
373
384
  /* In the case of "tdclcppxxx" library of msvc, The ($TargetName) is not changed automatically.
374
385
  If you change this version then you need change The ($TargetName) project options too.
375
- */
376
- #define C_INTERFACE_VER_MAJOR "1"//##1 Build marker! Don't remove
377
- #define C_INTERFACE_VER_MINOR "2"//##2 Build marker! Don't remove
386
+ */
387
+ #define C_INTERFACE_VER_MAJOR "2"//##1 Build marker! Don't remove
388
+ #define C_INTERFACE_VER_MINOR "0"//##2 Build marker! Don't remove
378
389
  #define C_INTERFACE_VER_RELEASE "0"//##3 Build marker! Don't remove
379
390
 
391
+ /* dnamic load library name.
392
+ The default extention of Mac is ".boudle", Therefore ".so" is popular. */
380
393
  #ifdef LINUX
381
394
  #ifdef __APPLE__
382
- #define C_INTERFACE_VERSTR "." C_INTERFACE_VER_MAJOR "." C_INTERFACE_VER_MINOR ".so"//use loadlibrary
383
- #else
384
- #define C_INTERFACE_VERSTR ".so." C_INTERFACE_VER_MAJOR "." C_INTERFACE_VER_MINOR//use loadlibrary
385
- #endif
386
- #else
387
- #define C_INTERFACE_VERSTR "_" C_INTERFACE_VER_MAJOR "_" C_INTERFACE_VER_MINOR ".dll"//use loadlibrary
388
- #endif
389
-
390
-
391
- #if (defined( __x86_64__) || defined(LINUX))
392
- #define TDCLC_LIBNAME "tdclc_64" C_INTERFACE_VERSTR //use loadlibrary
393
- #else
394
- #define TDCLC_LIBNAME "tdclc_32" C_INTERFACE_VERSTR //use loadlibrary
395
- #endif
395
+ #define C_INTERFACE_VERSTR \
396
+ "." C_INTERFACE_VER_MAJOR "." C_INTERFACE_VER_MINOR ".so" // use loadlibrary
397
+ #else // NOT __APPLE__
398
+ #define C_INTERFACE_VERSTR \
399
+ ".so." C_INTERFACE_VER_MAJOR "." C_INTERFACE_VER_MINOR // use loadlibrary
400
+ #endif // NOT __APPLE__
401
+ #else // NOT LINUX
402
+ #define C_INTERFACE_VERSTR \
403
+ "_" C_INTERFACE_VER_MAJOR "_" C_INTERFACE_VER_MINOR ".dll" // use
404
+ // loadlibrary
405
+ #endif // NOT LINUX
406
+
407
+ #if (defined(__x86_64__) || (defined(LINUX) && !defined(__BORLANDC__)))
408
+ #define TDCLC_LIBNAME "tdclc_64" C_INTERFACE_VERSTR // use loadlibrary
409
+ #else //__x86_32__
410
+ #define TDCLC_LIBNAME "tdclc_32" C_INTERFACE_VERSTR // use loadlibrary
411
+ #endif //__x86_32__
396
412
 
397
413
  /* Cpp library name prefix */
398
414
  #define TD_CPP_LIB_PRE "tdclcpp"
399
415
 
400
- /* Cpp library name middle part */
401
- #if (defined( __x86_64__) || defined(LINUX))
402
- #ifdef UNICODE
403
- #define TD_LIB_PART "64u"
404
- #else
405
- #define TD_LIB_PART "64m"
406
- #endif
407
- #else //__x86_32__
408
- #ifdef UNICODE
409
- #define TD_LIB_PART "32u"
410
- #else
411
- #define TD_LIB_PART "32m"
412
- #endif
416
+ #if ((defined(_MSC_VER) && defined(_DLL)) || \
417
+ (defined(__BORLANDC__) && defined(_RTLDLL)))
418
+ #define RTL_PART "r"
419
+ #else
420
+ #define RTL_PART
413
421
  #endif
414
422
 
423
+ /* Cpp library name middle part */
424
+ #if (defined(__x86_64__) || (defined(LINUX) && !defined(__BORLANDC__)))
425
+ #ifdef _UNICODE
426
+ #define TD_LIB_PART "64u" RTL_PART
427
+ #else // NOT _UNICODE
428
+ #define TD_LIB_PART "64m" RTL_PART
429
+ #endif // NOT _UNICODE
430
+ #else //__x86_32__
431
+ #ifdef _UNICODE
432
+ #define TD_LIB_PART "32u" RTL_PART
433
+ #else // NOT _UNICODE
434
+ #define TD_LIB_PART "32m" RTL_PART
435
+ #endif // NOT _UNICODE
436
+ #endif //__x86_32__
437
+
438
+ /* Cpp library name version part
439
+ In the case of "tdclcppxxx" library of msvc , The ($TargetName) is not changed
440
+ automatically.
441
+ If you change this version then you need change The ($TargetName) project
442
+ options too.
443
+
444
+ In the case of "tdclcppxxx" library of gcc , The -soname option is not changed
445
+ automatically.
446
+ If you change this version then you need change The -soname option project
447
+ options too.
415
448
 
416
- /* Cpp library name version part
417
- In the case of "tdclcppxxx" library of msvc , The ($TargetName) is not changed automatically.
418
- If you change this version then you need change The ($TargetName) project options too.
419
-
420
- In the case of "tdclcppxxx" library of gcc , The -soname option is not changed automatically.
421
- If you change this version then you need change The -soname option project options too.
422
-
423
- */
424
-
449
+ */
425
450
 
426
- #define CPP_INTERFACE_VER_MAJOR "1"//##4 Build marker! Don't remove
427
- #define CPP_INTERFACE_VER_MINOR "2"//##5 Build marker! Don't remove
451
+ #define CPP_INTERFACE_VER_MAJOR "2"//##4 Build marker! Don't remove
452
+ #define CPP_INTERFACE_VER_MINOR "0"//##5 Build marker! Don't remove
428
453
  #define CPP_INTERFACE_VER_RELEASE "0"//##6 Build marker! Don't remove
429
454
 
430
- #ifdef _WIN32
431
- #define CPP_INTERFACE_VERSTR "_" COMPILER_VERSTR "_" TD_LIB_PART "_" CPP_INTERFACE_VER_MAJOR "_" CPP_INTERFACE_VER_MINOR //use autolink
455
+ /* use autolink tdclcpp */
456
+ #if (__BCPLUSPLUS__ || _MSC_VER)
457
+ #ifdef __APPLE__
458
+ #define CPP_INTERFACE_VERSTR \
459
+ "_" COMPILER_VERSTR "_" TD_LIB_PART "." CPP_INTERFACE_VER_MAJOR \
460
+ "." CPP_INTERFACE_VER_MINOR
461
+ #else
462
+ #define CPP_INTERFACE_VERSTR \
463
+ "_" COMPILER_VERSTR "_" TD_LIB_PART "_" CPP_INTERFACE_VER_MAJOR \
464
+ "_" CPP_INTERFACE_VER_MINOR
465
+ #endif
432
466
  #endif
433
467
 
434
- #define TRANSACTD_VER_MAJOR 1//##7 Build marker! Don't remove
435
- #define TRANSACTD_VER_MINOR 2//##8 Build marker! Don't remove
468
+ #define TRANSACTD_VER_MAJOR 2//##7 Build marker! Don't remove
469
+ #define TRANSACTD_VER_MINOR 0//##8 Build marker! Don't remove
436
470
  #define TRANSACTD_VER_RELEASE 0//##9 Build marker! Don't remove
437
471
 
438
- #endif //BZS_DB_PROTOCOL_TDAP_TDAPCAPI_H
472
+ #endif // BZS_DB_PROTOCOL_TDAP_TDAPCAPI_H