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,21 +1,21 @@
1
- /*=================================================================
2
- Copyright (C) 2000-2013 BizStation Corp All rights reserved.
1
+ /* =================================================================
2
+ Copyright (C) 2000-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 <tchar.h>
21
21
  #pragma hdrstop
@@ -24,25 +24,29 @@
24
24
  #include <bzs/db/protocol/tdap/mysql/characterset.h>
25
25
  #include <stdio.h>
26
26
  #ifdef _WIN32
27
- #include <windows.h>
27
+ #include <windows.h>
28
28
  #endif
29
29
 
30
+ #ifdef LINUX
31
+ #include <bzs/env/mbcswchrLinux.h>
32
+ using namespace bzs::env;
33
+ #endif
30
34
  #pragma package(smart_init)
31
35
 
32
36
  #undef USETLS
33
- #if ((defined(_WIN32) && _MSC_VER) || __APPLE__)
37
+ #if ((defined(_WIN32) && _MSC_VER) || (__APPLE__ && !defined(__BCPLUSPLUS__)))
38
+ #ifdef __APPLE__
39
+ #include <pthread.h>
40
+ #endif
34
41
  #define USETLS
35
42
  #endif
36
43
 
37
-
38
44
  #ifdef USETLS
39
- extern tls_key g_tlsiID_SC1;
45
+ extern tls_key g_tlsiID_SC1;
40
46
  #else
41
- wchar_t __THREAD g_nameBuf[266]={0};
47
+ wchar_t __THREAD g_nameBuf[266] = { 0 };
42
48
  #endif
43
49
 
44
-
45
-
46
50
  namespace bzs
47
51
  {
48
52
  namespace db
@@ -52,128 +56,268 @@ namespace protocol
52
56
  namespace tdap
53
57
  {
54
58
 
55
-
56
- #ifdef _UNICODE
57
-
58
59
  inline wchar_t* namebuf()
59
60
  {
60
- #ifdef USETLS
61
- _TCHAR* p = (_TCHAR*)tls_getspecific(g_tlsiID_SC1);
62
- if (p == NULL)
63
- {
64
- p = (_TCHAR*)new wchar_t[256];
65
- tls_setspecific(g_tlsiID_SC1, p);
66
- }
67
- return p;
68
- #else
69
- return g_nameBuf;
70
- #endif
61
+ #ifdef USETLS
62
+ wchar_t* p = (wchar_t*)tls_getspecific(g_tlsiID_SC1);
63
+ if (p == NULL)
64
+ {
65
+ p = (wchar_t*)new wchar_t[256];
66
+ tls_setspecific(g_tlsiID_SC1, p);
67
+ }
68
+ return p;
69
+ #else
70
+ return g_nameBuf;
71
+ #endif
72
+ }
73
+
74
+ inline char* namebufA()
75
+ {
76
+ return (char*)namebuf();
71
77
  }
72
- const wchar_t* fielddef::name()const
78
+
79
+ #ifdef _UNICODE
80
+
81
+ const wchar_t* fielddef::name() const
73
82
  {
74
- return name(namebuf());
83
+ return name(namebuf());
75
84
  }
76
85
 
77
- const wchar_t* fielddef::name(wchar_t* buf)const
86
+ const wchar_t* fielddef::name(wchar_t* buf) const
78
87
  {
79
- MultiByteToWideChar(m_schemaCodePage, (m_schemaCodePage==CP_UTF8)?0:MB_PRECOMPOSED, m_name, -1, buf, MYSQL_FDNAME_SIZE);
80
- return buf;
88
+ MultiByteToWideChar(m_schemaCodePage,
89
+ (m_schemaCodePage == CP_UTF8) ? 0 : MB_PRECOMPOSED,
90
+ m_name, -1, buf, MYSQL_FDNAME_SIZE);
91
+ return buf;
81
92
  }
82
93
 
83
- const wchar_t* fielddef::chainChar()const
94
+ const wchar_t* fielddef::chainChar() const
84
95
  {
85
- wchar_t* p = namebuf();
86
- MultiByteToWideChar(m_schemaCodePage, (m_schemaCodePage==CP_UTF8)?0:MB_PRECOMPOSED, m_chainChar, -1, p, 2);
96
+ wchar_t* p = namebuf();
97
+ MultiByteToWideChar(m_schemaCodePage,
98
+ (m_schemaCodePage == CP_UTF8) ? 0 : MB_PRECOMPOSED,
99
+ m_chainChar, -1, p, 2);
87
100
  return p;
88
101
  }
89
102
 
90
103
  void fielddef::setName(const wchar_t* s)
91
104
  {
92
- WideCharToMultiByte(m_schemaCodePage, (m_schemaCodePage == CP_UTF8) ? 0:WC_COMPOSITECHECK, s, -1, m_name, MYSQL_FDNAME_SIZE, NULL, NULL);
93
-
105
+ WideCharToMultiByte(m_schemaCodePage,
106
+ (m_schemaCodePage == CP_UTF8) ? 0 : WC_COMPOSITECHECK,
107
+ s, -1, m_name, MYSQL_FDNAME_SIZE, NULL, NULL);
94
108
  }
95
109
 
96
110
  void fielddef::setChainChar(const wchar_t* s)
97
111
  {
98
- WideCharToMultiByte(m_schemaCodePage, (m_schemaCodePage == CP_UTF8) ? 0:WC_COMPOSITECHECK, s, -1, m_chainChar, 2, NULL, NULL);
112
+ WideCharToMultiByte(m_schemaCodePage,
113
+ (m_schemaCodePage == CP_UTF8) ? 0 : WC_COMPOSITECHECK,
114
+ s, -1, m_chainChar, 2, NULL, NULL);
99
115
  }
100
116
 
101
- const wchar_t* tabledef::fileName()const
117
+ const wchar_t* tabledef::fileName() const
102
118
  {
103
- wchar_t* p = namebuf();
104
- MultiByteToWideChar(schemaCodePage, (schemaCodePage==CP_UTF8)?0:MB_PRECOMPOSED, m_fileName, -1, p, FILE_NAME_SIZE);
105
- return p;
119
+ wchar_t* p = namebuf();
120
+ MultiByteToWideChar(schemaCodePage,
121
+ (schemaCodePage == CP_UTF8) ? 0 : MB_PRECOMPOSED,
122
+ m_fileName, -1, p, FILE_NAME_SIZE);
123
+ return p;
106
124
  }
107
125
 
108
- const wchar_t* tabledef::tableName()const
126
+ const wchar_t* tabledef::tableName() const
109
127
  {
110
- wchar_t* p = namebuf();
111
- MultiByteToWideChar(schemaCodePage, (schemaCodePage==CP_UTF8)?0:MB_PRECOMPOSED, m_tableName, -1, p, TABLE_NAME_SIZE);
112
- return p;
113
-
128
+ wchar_t* p = namebuf();
129
+ MultiByteToWideChar(schemaCodePage,
130
+ (schemaCodePage == CP_UTF8) ? 0 : MB_PRECOMPOSED,
131
+ m_tableName, -1, p, TABLE_NAME_SIZE);
132
+ return p;
114
133
  }
115
134
 
116
135
  const char* tabledef::toChar(char* buf, const wchar_t* s, int size)
117
136
  {
118
- WideCharToMultiByte(schemaCodePage, (schemaCodePage == CP_UTF8) ? 0:WC_COMPOSITECHECK, s, -1, buf, size, NULL, NULL);
119
- return buf;
120
-
137
+ WideCharToMultiByte(schemaCodePage,
138
+ (schemaCodePage == CP_UTF8) ? 0 : WC_COMPOSITECHECK, s,
139
+ -1, buf, size, NULL, NULL);
140
+ return buf;
121
141
  }
122
142
 
123
143
  void tabledef::setFileName(const wchar_t* s)
124
144
  {
125
- WideCharToMultiByte(schemaCodePage, (schemaCodePage == CP_UTF8) ? 0:WC_COMPOSITECHECK, s, -1, m_fileName, FILE_NAME_SIZE, NULL, NULL);
145
+ WideCharToMultiByte(schemaCodePage,
146
+ (schemaCodePage == CP_UTF8) ? 0 : WC_COMPOSITECHECK, s,
147
+ -1, m_fileName, FILE_NAME_SIZE, NULL, NULL);
126
148
  }
127
149
 
128
150
  void tabledef::setTableName(const wchar_t* s)
129
151
  {
130
- WideCharToMultiByte(schemaCodePage, (schemaCodePage == CP_UTF8) ? 0:WC_COMPOSITECHECK, s, -1, m_tableName, TABLE_NAME_SIZE, NULL, NULL);
152
+ WideCharToMultiByte(schemaCodePage,
153
+ (schemaCodePage == CP_UTF8) ? 0 : WC_COMPOSITECHECK, s,
154
+ -1, m_tableName, TABLE_NAME_SIZE, NULL, NULL);
131
155
  }
132
- #endif //_UNICODE
133
- bool isStringType(uchar_td type)
156
+ #else // NOT _UNICODE
157
+
158
+ const char* fielddef::name() const
134
159
  {
135
- return ((type == ft_string)|| (type == ft_zstring)
136
- ||(type == ft_wstring)|| (type == ft_wzstring)
137
- ||(type == ft_myvarchar)|| (type == ft_myvarbinary)
138
- ||(type == ft_mywvarchar)|| (type == ft_mywvarbinary)
139
- ||(type == ft_myblob)|| (type == ft_mytext)
140
- ||(type == ft_mychar)|| (type == ft_mywchar)
141
- ||(type == ft_lstring)|| (type == ft_note));
160
+ #ifdef LINUX
161
+ if (m_schemaCodePage != CP_UTF8)
162
+ {
163
+ char* p = namebufA();
164
+ mbctou8(m_name, strlen(m_name), p, MYSQL_FDNAME_SIZE);
165
+ return p;
166
+ }
167
+ #endif
168
+ return m_name;
142
169
  }
143
170
 
171
+ const char* fielddef::name(char* buf) const
172
+ {
173
+ #ifdef LINUX
174
+ if (m_schemaCodePage != CP_UTF8)
175
+ {
176
+ mbctou8(m_name, strlen(m_name), buf, MYSQL_FDNAME_SIZE);
177
+ return buf;
178
+ }
179
+ #endif
180
+ return m_name;
181
+ }
144
182
 
145
- bool fielddef::isStringType()const
183
+ const char* fielddef::chainChar() const
146
184
  {
147
- return tdap::isStringType(type);
185
+ #ifdef LINUX
186
+ if (m_schemaCodePage != CP_UTF8)
187
+ {
188
+ char* p = namebufA();
189
+ mbctou8(m_chainChar, strlen(m_chainChar), p, 2);
190
+ return p;
191
+ }
192
+ #endif
193
+ return m_chainChar;
148
194
  }
149
195
 
150
- unsigned int fielddef::charNum(/*int index*/)const
151
- {
152
- if (type==ft_mychar)
153
- return (unsigned int)len/mysql::charsize(m_charsetIndex);
154
- else if (type==ft_mywchar)
155
- return (unsigned int)len/mysql::charsize(CHARSET_UTF16LE);
156
- else if (type==ft_myvarchar)
157
- return (unsigned int)(len - varLenBytes())/mysql::charsize(m_charsetIndex);
158
- else if (type==ft_mywvarchar)
159
- return (unsigned int)(len - varLenBytes())/mysql::charsize(CHARSET_UTF16LE);
160
- return len;
196
+ void fielddef::setName(const char* s)
197
+ {
198
+ #ifdef LINUX
199
+ if (m_schemaCodePage != CP_UTF8)
200
+ u8tombc(s, strlen(s), m_name, FIELD_NAME_SIZE);
201
+ else
202
+ #endif
203
+ strncpy_s(m_name, FIELD_NAME_SIZE, s, sizeof(m_name) - 1);
161
204
  }
162
205
 
206
+ void fielddef::setChainChar(const char* s)
207
+ {
208
+ #ifdef LINUX
209
+ if (m_schemaCodePage != CP_UTF8)
210
+ u8tombc(s, strlen(s), m_chainChar, 2);
211
+ else
212
+ #endif
213
+ strncpy_s(m_chainChar, 2, s, sizeof(m_chainChar) - 1);
214
+ }
163
215
 
216
+ const char* tabledef::fileName() const
217
+ {
218
+ #ifdef LINUX
219
+ if (schemaCodePage != CP_UTF8)
220
+ {
221
+ char* p = namebufA();
222
+ mbctou8(m_fileName, strlen(m_fileName), p, FILE_NAME_SIZE);
223
+ return p;
224
+ }
225
+ #endif
226
+ return m_fileName;
227
+ }
228
+
229
+ const char* tabledef::tableName() const
230
+ {
231
+ #ifdef LINUX
232
+ if (schemaCodePage != CP_UTF8)
233
+ {
234
+ char* p = namebufA();
235
+ mbctou8(m_tableName, strlen(m_tableName), p, TABLE_NAME_SIZE);
236
+ return p;
237
+ }
238
+ #endif
239
+ return m_tableName;
240
+ }
241
+
242
+ void tabledef::setFileName(const char* s)
243
+ {
244
+ #ifdef LINUX
245
+ if (schemaCodePage != CP_UTF8)
246
+ u8tombc(s, strlen(s), m_fileName, FILE_NAME_SIZE);
247
+ else
248
+ #endif
249
+ setFileNameA(s);
250
+ }
251
+
252
+ void tabledef::setTableName(const char* s)
253
+ {
254
+ #ifdef LINUX
255
+ if (schemaCodePage != CP_UTF8)
256
+ u8tombc(s, strlen(s), m_tableName, TABLE_NAME_SIZE);
257
+ else
258
+ #endif
259
+ setTableNameA(s);
260
+ }
261
+
262
+ const char* tabledef::toChar(char* buf, const char* s, int size)
263
+ {
264
+ #ifdef LINUX
265
+ if (schemaCodePage != CP_UTF8)
266
+ {
267
+ char* p = namebufA();
268
+ u8tombc(s, strlen(s), p, size);
269
+ return p;
270
+ }
271
+ #endif
272
+ strncpy_s(buf, size, s, size - 1);
273
+ return buf;
274
+ }
275
+
276
+ #endif // NOT _UNICODE
277
+
278
+ bool isStringType(uchar_td type)
279
+ {
280
+ return ((type == ft_string) || (type == ft_zstring) ||
281
+ (type == ft_wstring) || (type == ft_wzstring) ||
282
+ (type == ft_myvarchar) || (type == ft_myvarbinary) ||
283
+ (type == ft_mywvarchar) || (type == ft_mywvarbinary) ||
284
+ (type == ft_myblob) || (type == ft_mytext) || (type == ft_mychar) ||
285
+ (type == ft_mywchar) || (type == ft_lstring) || (type == ft_note));
286
+ }
287
+
288
+ bool fielddef::isStringType() const
289
+ {
290
+ return tdap::isStringType(type);
291
+ }
292
+
293
+ unsigned int fielddef::charNum(/* int index */) const
294
+ {
295
+ if (type == ft_mychar)
296
+ return (unsigned int)len / mysql::charsize(m_charsetIndex);
297
+ else if (type == ft_mywchar)
298
+ return (unsigned int)len / mysql::charsize(CHARSET_UTF16LE);
299
+ else if (type == ft_myvarchar)
300
+ return (unsigned int)(len - varLenBytes()) /
301
+ mysql::charsize(m_charsetIndex);
302
+ else if (type == ft_mywvarchar)
303
+ return (unsigned int)(len - varLenBytes()) /
304
+ mysql::charsize(CHARSET_UTF16LE);
305
+ return len;
306
+ }
164
307
 
165
308
  ushort_td lenByCharnum(uchar_td type, uchar_td charsetIndex, ushort_td charnum)
166
309
  {
167
310
  ushort_td len;
168
- if (charsetIndex && ((type == ft_mychar)|| (type == ft_mywchar)
169
- || (type == ft_myvarchar) || (type == ft_mywvarchar)))
311
+ if (charsetIndex && ((type == ft_mychar) || (type == ft_mywchar) ||
312
+ (type == ft_myvarchar) || (type == ft_mywvarchar)))
170
313
  {
171
314
  len = (ushort_td)(mysql::charsize(charsetIndex) * charnum);
172
315
  if ((type == ft_myvarchar) || (type == ft_mywvarchar))
173
- len += ((len >= 256)? 2 : 1);
316
+ len += ((len >= 256) ? 2 : 1);
174
317
  else
175
318
  len = std::min<ushort_td>(len, 255);
176
- }else
319
+ }
320
+ else
177
321
  len = charnum;
178
322
  return len;
179
323
  }
@@ -182,49 +326,91 @@ const _TCHAR* getTypeName(short type)
182
326
  {
183
327
  switch (type)
184
328
  {
185
- case ft_string: return _T("String");
186
- case ft_integer: return _T("Integer");
187
- case ft_float: return _T("Float");
188
- case ft_date: return _T("Date");
189
- case ft_time: return _T("Time");
190
- case ft_decimal: return _T("Decimal");
191
- case ft_money: return _T("Money");
192
- case ft_logical: return _T("Logical");
193
- case ft_numeric: return _T("Numeric");
194
- case ft_bfloat: return _T("BFloat");
195
- case ft_lstring: return _T("LString");
196
- case ft_zstring: return _T("ZString");
197
- case ft_note: return _T("Note");
198
- case ft_lvar: return _T("Lvar");
199
- case ft_uinteger: return _T("Unsigned Binary");
200
- case ft_autoinc: return _T("AutoIncrement");
201
- case ft_bit: return _T("Bit");
202
- case ft_numericsts: return _T("Numericsts");
203
- case ft_numericsa: return _T("Numericsa");
204
- case ft_currency: return _T("Currency");
205
- case ft_timestamp: return _T("TimeStamp");
206
- case ft_blob: return _T("Blob");
207
- case ft_wstring: return _T("WString");
208
- case ft_wzstring: return _T("WZstring");
209
- case ft_datatime: return _T("DateTime");
210
- case ft_guid: return _T("Guid");
211
- case ft_myvarchar: return _T("myVarChar");
212
- case ft_myvarbinary: return _T("myVarBinary");
213
- case ft_mywvarchar: return _T("myWVarChar");
214
- case ft_mywvarbinary: return _T("myWVarBinary");
215
- case ft_mychar: return _T("myChar");
216
- case ft_mywchar: return _T("myWChar");
217
- case ft_mydate: return _T("myDate");
218
- case ft_mytime: return _T("myTime");
219
- case ft_mydatetime: return _T("myDateTime");
220
- case ft_mytimestamp: return _T("myTimeStamp");
221
- case ft_mytext: return _T("myText");
222
- case ft_myblob: return _T("myBlob");
223
- case ft_autoIncUnsigned: return _T("AutoIncUnsigned");
224
- case ft_nullindicator: return _T("Nullindicator");
225
- default: return _T("Unknown");
329
+ case ft_string:
330
+ return _T("String");
331
+ case ft_integer:
332
+ return _T("Integer");
333
+ case ft_float:
334
+ return _T("Float");
335
+ case ft_date:
336
+ return _T("Date");
337
+ case ft_time:
338
+ return _T("Time");
339
+ case ft_decimal:
340
+ return _T("Decimal");
341
+ case ft_money:
342
+ return _T("Money");
343
+ case ft_logical:
344
+ return _T("Logical");
345
+ case ft_numeric:
346
+ return _T("Numeric");
347
+ case ft_bfloat:
348
+ return _T("BFloat");
349
+ case ft_lstring:
350
+ return _T("LString");
351
+ case ft_zstring:
352
+ return _T("ZString");
353
+ case ft_note:
354
+ return _T("Note");
355
+ case ft_lvar:
356
+ return _T("Lvar");
357
+ case ft_uinteger:
358
+ return _T("Unsigned Binary");
359
+ case ft_autoinc:
360
+ return _T("AutoIncrement");
361
+ case ft_bit:
362
+ return _T("Bit");
363
+ case ft_numericsts:
364
+ return _T("Numericsts");
365
+ case ft_numericsa:
366
+ return _T("Numericsa");
367
+ case ft_currency:
368
+ return _T("Currency");
369
+ case ft_timestamp:
370
+ return _T("TimeStamp");
371
+ case ft_blob:
372
+ return _T("Blob");
373
+ case ft_wstring:
374
+ return _T("WString");
375
+ case ft_wzstring:
376
+ return _T("WZstring");
377
+ case ft_datetime:
378
+ return _T("DateTime");
379
+ case ft_guid:
380
+ return _T("Guid");
381
+ case ft_myvarchar:
382
+ return _T("myVarChar");
383
+ case ft_myvarbinary:
384
+ return _T("myVarBinary");
385
+ case ft_mywvarchar:
386
+ return _T("myWVarChar");
387
+ case ft_mywvarbinary:
388
+ return _T("myWVarBinary");
389
+ case ft_mychar:
390
+ return _T("myChar");
391
+ case ft_mywchar:
392
+ return _T("myWChar");
393
+ case ft_mydate:
394
+ return _T("myDate");
395
+ case ft_mytime:
396
+ return _T("myTime");
397
+ case ft_mydatetime:
398
+ return _T("myDateTime");
399
+ case ft_mytimestamp:
400
+ return _T("myTimeStamp");
401
+ case ft_mytext:
402
+ return _T("myText");
403
+ case ft_myblob:
404
+ return _T("myBlob");
405
+ case ft_autoIncUnsigned:
406
+ return _T("AutoIncUnsigned");
407
+ case ft_myfixedbinary:
408
+ return _T("myFixedBinary");
409
+ case ft_nullindicator:
410
+ return _T("Nullindicator");
411
+ default:
412
+ return _T("Unknown");
226
413
  }
227
-
228
414
  }
229
415
 
230
416
  int getTypeAlign(short type)
@@ -251,88 +437,104 @@ int getTypeAlign(short type)
251
437
  case ft_mydatetime:
252
438
  case ft_mytimestamp:
253
439
  case ft_myblob:
254
- case ft_mytext: return BT_AL_LEFT;
255
-
440
+ case ft_myfixedbinary:
441
+ case ft_mytext:
442
+ return BT_AL_LEFT;
256
443
  }
257
-
258
444
  return BT_AL_RIGHT;
259
445
  }
260
446
 
261
-
262
447
  const _TCHAR* btrVersion::moduleTypeString()
263
448
  {
264
449
  switch (type)
265
450
  {
266
- case 'N': return _T("Requester");
267
- case 'D': return _T("DOS Workstation MicroKernel");
268
- case 'W': return _T("Windows Workstation MicroKernel");
269
- case 'O': return _T("OS/2 WorkStation MicroKernel");
451
+ case 'N':
452
+ return _T("Requester");
453
+ case 'D':
454
+ return _T("DOS Workstation MicroKernel");
455
+ case 'W':
456
+ return _T("Windows Workstation MicroKernel");
457
+ case 'O':
458
+ return _T("OS/2 WorkStation MicroKernel");
270
459
  case '3':
271
- case '9': return _T("Windows 32Bit Workstation MicroKernel");
272
- case 'S': return _T("Netware Server MicroKernel");
273
- case 'T': return _T("Windows Server MicroKernel");
274
- case 'L': return _T("Linux Server MicroKernel");
275
- case 'F': return _T("FileSharing WorkStation MicroKernel");
460
+ case '9':
461
+ return _T("Windows 32Bit Workstation MicroKernel");
462
+ case 'S':
463
+ return _T("Netware Server MicroKernel");
464
+ case 'T':
465
+ return _T("Windows Server MicroKernel");
466
+ case 'L':
467
+ return _T("Linux Server MicroKernel");
468
+ case 'F':
469
+ return _T("FileSharing WorkStation MicroKernel");
276
470
  }
277
471
  return _T("Unknown Type");
278
472
  }
279
473
 
280
474
  const _TCHAR* btrVersion::moduleVersionShortString(_TCHAR* buf)
281
475
  {
282
- #pragma warning(disable:4996)
476
+ #pragma warning(disable : 4996)
283
477
  switch (type)
284
478
  {
285
- case 'N': _stprintf(buf, _T("Reqster %d.%d"), majorVersion, minorVersion);
479
+ case 'N':
480
+ _stprintf(buf, _T("Reqster %d.%d"), majorVersion, minorVersion);
286
481
  break;
287
- case 'D': _stprintf(buf, _T("DosLocal %d.%d"), majorVersion, minorVersion);
482
+ case 'D':
483
+ _stprintf(buf, _T("DosLocal %d.%d"), majorVersion, minorVersion);
288
484
  break;
289
- case 'W': _stprintf(buf, _T("W1Local %d.%d"), majorVersion, minorVersion);
485
+ case 'W':
486
+ _stprintf(buf, _T("W1Local %d.%d"), majorVersion, minorVersion);
290
487
  break;
291
- case 'O': _stprintf(buf, _T("OS/2Local %d.%d"), majorVersion, minorVersion);
488
+ case 'O':
489
+ _stprintf(buf, _T("OS/2Local %d.%d"), majorVersion, minorVersion);
292
490
  break;
293
491
  case '3':
294
- case '9': _stprintf(buf, _T("W3Local %d.%d"), majorVersion, minorVersion);
492
+ case '9':
493
+ _stprintf(buf, _T("W3Local %d.%d"), majorVersion, minorVersion);
295
494
  break;
296
- case 'S': _stprintf(buf, _T("NServer %d.%d"), majorVersion, minorVersion);
495
+ case 'S':
496
+ _stprintf(buf, _T("NServer %d.%d"), majorVersion, minorVersion);
297
497
  break;
298
- case 'T': _stprintf(buf, _T("Server %d.%d"), majorVersion, minorVersion);
498
+ case 'T':
499
+ _stprintf(buf, _T("Server %d.%d"), majorVersion, minorVersion);
299
500
  break;
300
- case 'L': _stprintf(buf, _T("Lerver %d.%d"), majorVersion, minorVersion);
501
+ case 'L':
502
+ _stprintf(buf, _T("Lerver %d.%d"), majorVersion, minorVersion);
301
503
  break;
302
- default: return _T("Unknown Type");
504
+ default:
505
+ return _T("Unknown Type");
303
506
  }
304
- #pragma warning(default:4996)
507
+ #pragma warning(default : 4996)
305
508
  return buf;
306
509
  }
307
510
 
308
511
  PACKAGE uchar_td getFilterLogicTypeCode(const _TCHAR* cmpstr)
309
512
  {
310
513
  if (_tcscmp(cmpstr, _T("=")) == 0)
311
- return (uchar_td)1;
514
+ return (uchar_td)eEqual;
312
515
 
313
516
  if (_tcscmp(cmpstr, _T(">")) == 0)
314
- return (uchar_td)2;
517
+ return (uchar_td)eGreater;
315
518
 
316
519
  if (_tcscmp(cmpstr, _T("<")) == 0)
317
- return (uchar_td)3;
520
+ return (uchar_td)eLess;
318
521
 
319
522
  if (_tcscmp(cmpstr, _T("<>")) == 0)
320
- return (uchar_td)4;
523
+ return (uchar_td)eNotEq;
321
524
 
322
525
  if (_tcscmp(cmpstr, _T("=>")) == 0)
323
- return (uchar_td)5;
526
+ return (uchar_td)eGreaterEq;
324
527
  if (_tcscmp(cmpstr, _T(">=")) == 0)
325
- return (uchar_td)5;
528
+ return (uchar_td)eGreaterEq;
326
529
 
327
530
  if (_tcscmp(cmpstr, _T("=<")) == 0)
328
- return (uchar_td)6;
531
+ return (uchar_td)eLessEq;
329
532
  if (_tcscmp(cmpstr, _T("<=")) == 0)
330
- return (uchar_td)6;
533
+ return (uchar_td)eLessEq;
331
534
  return 255;
332
535
  }
333
536
 
334
- }//namespace tdap
335
- }//namespace protocol
336
- }//namespace db
337
- }//namespace bzs
338
-
537
+ } // namespace tdap
538
+ } // namespace protocol
539
+ } // namespace db
540
+ } // namespace bzs