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,190 +12,227 @@
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
  #include "stdafx.h"
20
20
  #include "QueryBase.h"
21
21
  #include "Table.h"
22
22
 
23
-
24
-
25
23
  STDMETHODIMP CQueryBase::Reset(void)
26
24
  {
27
25
  m_qb.reset();
28
- return S_OK;
26
+ return S_OK;
29
27
  }
30
28
 
31
29
  STDMETHODIMP CQueryBase::ClearSeekKeyValues(void)
32
30
  {
33
31
  m_qb.clearSeekKeyValues();
34
- return S_OK;
32
+ return S_OK;
35
33
  }
36
34
 
37
35
  STDMETHODIMP CQueryBase::ClearSelectFields(void)
38
36
  {
39
37
  m_qb.clearSelectFields();
40
- return S_OK;
38
+ return S_OK;
41
39
  }
42
40
 
43
- STDMETHODIMP CQueryBase::Select(BSTR Value
44
- ,BSTR Value1, BSTR Value2, BSTR Value3, BSTR Value4, BSTR Value5
45
- ,BSTR Value6, BSTR Value7, BSTR Value8, BSTR Value9, BSTR Value10
46
- ,IQueryBase** retVal)
41
+ STDMETHODIMP CQueryBase::Select(BSTR Value, BSTR Value1, BSTR Value2,
42
+ BSTR Value3, BSTR Value4, BSTR Value5,
43
+ BSTR Value6, BSTR Value7, BSTR Value8,
44
+ BSTR Value9, BSTR Value10, IQueryBase** retVal)
47
45
  {
46
+
48
47
  m_qb.addField(Value);
49
- if (Value1 != L"")
50
- m_qb.addField(Value1);
51
- if (Value2 != L"")
52
- m_qb.addField(Value2);
53
- if (Value3 != L"")
54
- m_qb.addField(Value3);
55
- if (Value4 != L"")
56
- m_qb.addField(Value4);
57
- if (Value5 != L"")
58
- m_qb.addField(Value5);
59
- if (Value6 != L"")
60
- m_qb.addField(Value6);
61
- if (Value7 != L"")
62
- m_qb.addField(Value7);
63
- if (Value8 != L"")
64
- m_qb.addField(Value8);
65
- if (Value9 != L"")
66
- m_qb.addField(Value9);
67
- if (Value10 != L"")
68
- m_qb.addField(Value10);
69
- setResult(retVal);
70
- return S_OK;
71
- }
72
-
73
- STDMETHODIMP CQueryBase::Where(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal)
74
- {
75
- VariantChangeType( &Value, &Value, 0, VT_BSTR );
76
- m_qb.addLogic(Name, Logic, Value.bstrVal);
77
- setResult(retVal);
78
- return S_OK;
79
- }
80
-
81
- STDMETHODIMP CQueryBase::And(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal)
82
- {
83
- VariantChangeType( &Value, &Value, 0, VT_BSTR );
84
- m_qb.addLogic(L"and", Name, Logic, Value.bstrVal);
85
- setResult(retVal);
86
- return S_OK;
87
- }
88
-
89
- STDMETHODIMP CQueryBase::Or(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal)
90
- {
91
- VariantChangeType( &Value, &Value, 0, VT_BSTR );
92
- m_qb.addLogic(L"or", Name, Logic, Value.bstrVal);
93
- setResult(retVal);
94
- return S_OK;
48
+ if (Value1 && Value1[0])
49
+ m_qb.addField(Value1);
50
+ if (Value2 && Value2[0])
51
+ m_qb.addField(Value2);
52
+ if (Value3 && Value3[0])
53
+ m_qb.addField(Value3);
54
+ if (Value4 && Value4[0])
55
+ m_qb.addField(Value4);
56
+ if (Value5 && Value5[0])
57
+ m_qb.addField(Value5);
58
+ if (Value6 && Value6[0])
59
+ m_qb.addField(Value6);
60
+ if (Value7 && Value7[0])
61
+ m_qb.addField(Value7);
62
+ if (Value8 && Value8[0])
63
+ m_qb.addField(Value8);
64
+ if (Value9 && Value9[0])
65
+ m_qb.addField(Value9);
66
+ if (Value10 && Value10[0])
67
+ m_qb.addField(Value10);
68
+ setResult(retVal);
69
+ return S_OK;
70
+ }
71
+
72
+ STDMETHODIMP CQueryBase::Where(BSTR Name, BSTR Logic, VARIANT Value,
73
+ IQueryBase** retVal)
74
+ {
75
+ if (Value.vt != VT_BSTR)
76
+ VariantChangeType(&Value, &Value, 0, VT_BSTR);
77
+ m_qb.addLogic(Name, Logic, Value.bstrVal);
78
+ setResult(retVal);
79
+ return S_OK;
80
+ }
81
+
82
+ STDMETHODIMP CQueryBase::And(BSTR Name, BSTR Logic, VARIANT Value,
83
+ IQueryBase** retVal)
84
+ {
85
+ if (Value.vt != VT_BSTR)
86
+ VariantChangeType(&Value, &Value, 0, VT_BSTR);
87
+ m_qb.addLogic(L"and", Name, Logic, Value.bstrVal);
88
+ setResult(retVal);
89
+ return S_OK;
90
+ }
91
+
92
+ STDMETHODIMP CQueryBase::Or(BSTR Name, BSTR Logic, VARIANT Value,
93
+ IQueryBase** retVal)
94
+ {
95
+ if (Value.vt != VT_BSTR)
96
+ VariantChangeType(&Value, &Value, 0, VT_BSTR);
97
+ m_qb.addLogic(L"or", Name, Logic, Value.bstrVal);
98
+ setResult(retVal);
99
+ return S_OK;
95
100
  }
96
101
 
97
102
  STDMETHODIMP CQueryBase::AddInValue(VARIANT Value, VARIANT_BOOL Reset)
98
103
  {
99
- VariantChangeType( &Value, &Value, 0, VT_BSTR );
100
- m_qb.addSeekKeyValue(Value.bstrVal, (Reset==-1));
101
- return S_OK;
102
- }
103
-
104
- STDMETHODIMP CQueryBase::In(VARIANT Value
105
- ,VARIANT Value1, VARIANT Value2, VARIANT Value3, VARIANT Value4, VARIANT Value5
106
- ,VARIANT Value6, VARIANT Value7, VARIANT Value8, VARIANT Value9, VARIANT Value10
107
- , IQueryBase** retVal)
108
- {
109
- setResult(retVal);
110
- VariantChangeType( &Value, &Value, 0, VT_BSTR );
111
- m_qb.addSeekKeyValue(Value.bstrVal, false);
112
-
113
- VariantChangeType( &Value1, &Value1, 0, VT_BSTR );
114
- if (Value1.bstrVal == L"") return S_OK;
115
- m_qb.addSeekKeyValue(Value1.bstrVal, false);
116
- VariantChangeType( &Value2, &Value2, 0, VT_BSTR );
117
- if (Value2.bstrVal == L"") return S_OK;
118
- m_qb.addSeekKeyValue(Value2.bstrVal, false);
119
- VariantChangeType( &Value3, &Value3, 0, VT_BSTR );
120
- if (Value3.bstrVal == L"") return S_OK;
121
- m_qb.addSeekKeyValue(Value3.bstrVal, false);
122
- VariantChangeType( &Value4, &Value4, 0, VT_BSTR );
123
- if (Value4.bstrVal == L"") return S_OK;
124
- m_qb.addSeekKeyValue(Value4.bstrVal, false);
125
- VariantChangeType( &Value5, &Value5, 0, VT_BSTR );
126
- if (Value5.bstrVal == L"") return S_OK;
127
- m_qb.addSeekKeyValue(Value5.bstrVal, false);
128
- VariantChangeType( &Value6, &Value6, 0, VT_BSTR );
129
- if (Value6.bstrVal == L"") return S_OK;
130
- m_qb.addSeekKeyValue(Value6.bstrVal, false);
131
- VariantChangeType( &Value7, &Value7, 0, VT_BSTR );
132
- if (Value7.bstrVal == L"") return S_OK;
133
- m_qb.addSeekKeyValue(Value7.bstrVal, false);
134
- VariantChangeType( &Value8, &Value8, 0, VT_BSTR );
135
- if (Value8.bstrVal == L"") return S_OK;
136
- m_qb.addSeekKeyValue(Value8.bstrVal, false);
137
- VariantChangeType( &Value9, &Value9, 0, VT_BSTR );
138
- if (Value9.bstrVal == L"") return S_OK;
139
- m_qb.addSeekKeyValue(Value9.bstrVal, false);
140
- VariantChangeType( &Value10, &Value10, 0, VT_BSTR );
141
- if (Value10.bstrVal == L"") return S_OK;
142
- m_qb.addSeekKeyValue(Value10.bstrVal, false);
143
- return S_OK;
104
+ if (Value.vt != VT_BSTR)
105
+ VariantChangeType(&Value, &Value, 0, VT_BSTR);
106
+ m_qb.addSeekKeyValue(Value.bstrVal, (Reset == -1));
107
+ return S_OK;
108
+ }
109
+
110
+ STDMETHODIMP CQueryBase::In(VARIANT Value, VARIANT Value1, VARIANT Value2,
111
+ VARIANT Value3, VARIANT Value4, VARIANT Value5,
112
+ VARIANT Value6, VARIANT Value7, VARIANT Value8,
113
+ VARIANT Value9, VARIANT Value10,
114
+ IQueryBase** retVal)
115
+ {
116
+ setResult(retVal);
117
+ if (Value.vt != VT_BSTR)
118
+ VariantChangeType(&Value, &Value, 0, VT_BSTR);
119
+ m_qb.addSeekKeyValue(Value.bstrVal, false);
120
+
121
+ if (Value1.vt != VT_BSTR)
122
+ VariantChangeType(&Value1, &Value1, 0, VT_BSTR);
123
+ if (Value1.bstrVal && Value1.bstrVal[0])
124
+ return S_OK;
125
+ m_qb.addSeekKeyValue(Value1.bstrVal, false);
126
+
127
+ if (Value2.vt != VT_BSTR)
128
+ VariantChangeType(&Value2, &Value2, 0, VT_BSTR);
129
+ if (Value2.bstrVal && Value2.bstrVal[0])
130
+ return S_OK;
131
+ m_qb.addSeekKeyValue(Value2.bstrVal, false);
132
+
133
+ if (Value3.vt != VT_BSTR)
134
+ VariantChangeType(&Value3, &Value3, 0, VT_BSTR);
135
+ if (Value3.bstrVal && Value3.bstrVal[0])
136
+ return S_OK;
137
+ m_qb.addSeekKeyValue(Value3.bstrVal, false);
138
+
139
+ if (Value4.vt != VT_BSTR)
140
+ VariantChangeType(&Value4, &Value4, 0, VT_BSTR);
141
+ if (Value4.bstrVal && Value4.bstrVal[0])
142
+ return S_OK;
143
+ m_qb.addSeekKeyValue(Value4.bstrVal, false);
144
+
145
+ if (Value5.vt != VT_BSTR)
146
+ VariantChangeType(&Value5, &Value5, 0, VT_BSTR);
147
+ if (Value5.bstrVal && Value5.bstrVal[0])
148
+ return S_OK;
149
+ m_qb.addSeekKeyValue(Value5.bstrVal, false);
150
+
151
+ if (Value6.vt != VT_BSTR)
152
+ VariantChangeType(&Value6, &Value6, 0, VT_BSTR);
153
+ if (Value6.bstrVal && Value6.bstrVal[0])
154
+ return S_OK;
155
+ m_qb.addSeekKeyValue(Value6.bstrVal, false);
156
+
157
+ if (Value7.vt != VT_BSTR)
158
+ VariantChangeType(&Value7, &Value7, 0, VT_BSTR);
159
+ if (Value7.bstrVal && Value7.bstrVal[0])
160
+ return S_OK;
161
+ m_qb.addSeekKeyValue(Value7.bstrVal, false);
162
+
163
+ if (Value8.vt != VT_BSTR)
164
+ VariantChangeType(&Value8, &Value8, 0, VT_BSTR);
165
+ if (Value8.bstrVal && Value8.bstrVal[0])
166
+ return S_OK;
167
+ m_qb.addSeekKeyValue(Value8.bstrVal, false);
168
+
169
+ if (Value9.vt != VT_BSTR)
170
+ VariantChangeType(&Value9, &Value9, 0, VT_BSTR);
171
+ if (Value9.bstrVal && Value9.bstrVal[0])
172
+ return S_OK;
173
+ m_qb.addSeekKeyValue(Value9.bstrVal, false);
174
+
175
+ if (Value10.vt != VT_BSTR)
176
+ VariantChangeType(&Value10, &Value10, 0, VT_BSTR);
177
+ if (Value10.bstrVal && Value10.bstrVal[0])
178
+ return S_OK;
179
+ m_qb.addSeekKeyValue(Value10.bstrVal, false);
180
+ return S_OK;
144
181
  }
145
182
 
146
183
  void CQueryBase::setResult(IQueryBase** retVal)
147
184
  {
148
- this->QueryInterface(IID_IQueryBase, (void**)retVal);
185
+ this->QueryInterface(IID_IQueryBase, (void**)retVal);
149
186
  }
150
187
 
151
188
  STDMETHODIMP CQueryBase::QueryString(BSTR Value, IQueryBase** retVal)
152
189
  {
153
190
  m_qb.queryString(Value);
154
- setResult(retVal);
155
- return S_OK;
191
+ setResult(retVal);
192
+ return S_OK;
156
193
  }
157
194
 
158
195
  STDMETHODIMP CQueryBase::Reject(long Value, IQueryBase** retVal)
159
196
  {
160
197
  m_qb.reject(Value);
161
- setResult(retVal);
162
- return S_OK;
198
+ setResult(retVal);
199
+ return S_OK;
163
200
  }
164
201
 
165
202
  STDMETHODIMP CQueryBase::Limit(long Value, IQueryBase** retVal)
166
203
  {
167
204
  m_qb.limit(Value);
168
- setResult(retVal);
169
- return S_OK;
205
+ setResult(retVal);
206
+ return S_OK;
170
207
  }
171
208
 
172
- STDMETHODIMP CQueryBase::Direction( eFindType FindType, IQueryBase** retVal)
209
+ STDMETHODIMP CQueryBase::Direction(eFindType FindType, IQueryBase** retVal)
173
210
  {
174
211
  m_qb.direction((bzs::db::protocol::tdap::client::table::eFindType)FindType);
175
- setResult(retVal);
176
- return S_OK;
212
+ setResult(retVal);
213
+ return S_OK;
177
214
  }
178
215
 
179
216
  STDMETHODIMP CQueryBase::All(IQueryBase** retVal)
180
217
  {
181
218
  m_qb.all();
182
- setResult(retVal);
183
- return S_OK;
219
+ setResult(retVal);
220
+ return S_OK;
184
221
  }
185
222
 
186
223
  STDMETHODIMP CQueryBase::ToString(BSTR* retVal)
187
224
  {
188
-
189
- CComBSTR ret;
225
+
226
+ CComBSTR ret;
190
227
  ret = m_qb.toString();
191
228
  *retVal = ret.Copy();
192
- return S_OK;
229
+ return S_OK;
193
230
  }
194
231
 
195
232
  STDMETHODIMP CQueryBase::GetDirection(eFindType* retVal)
196
233
  {
197
234
  *retVal = (eFindType)m_qb.getDirection();
198
- return S_OK;
235
+ return S_OK;
199
236
  }
200
237
 
201
238
  STDMETHODIMP CQueryBase::GetReject(long* retVal)
@@ -207,25 +244,67 @@ STDMETHODIMP CQueryBase::GetReject(long* retVal)
207
244
  STDMETHODIMP CQueryBase::GetLimit(long* retVal)
208
245
  {
209
246
  *retVal = m_qb.getLimit();
210
- return S_OK;
247
+ return S_OK;
211
248
  }
212
249
 
213
250
  STDMETHODIMP CQueryBase::IsAll(VARIANT_BOOL* retVal)
214
251
  {
215
252
  *retVal = m_qb.isAll();
216
- return S_OK;
253
+ return S_OK;
254
+ }
255
+
256
+ STDMETHODIMP CQueryBase::Optimize(eOptimize v, IQueryBase** retVal)
257
+ {
258
+ m_qb.optimize((bzs::db::protocol::tdap::client::queryBase::eOptimize)v);
259
+ setResult(retVal);
260
+ return S_OK;
261
+ }
262
+
263
+ STDMETHODIMP CQueryBase::GetOptimize(eOptimize* retVal)
264
+ {
265
+ *retVal = (eOptimize)m_qb.getOptimize();
266
+ return S_OK;
217
267
  }
218
268
 
269
+ STDMETHODIMP CQueryBase::SelectCount(short* retVal)
270
+ {
271
+ *retVal = m_qb.selectCount();
272
+ return S_OK;
273
+ }
219
274
 
220
- STDMETHODIMP CQueryBase::Optimize(VARIANT_BOOL v, IQueryBase** retVal)
275
+ STDMETHODIMP CQueryBase::GetSelect(short index, BSTR* retVal)
221
276
  {
222
- m_qb.optimize(v==-1);
223
- setResult(retVal);
224
- return S_OK;
277
+ if (index >= 0 && index < m_qb.selectCount())
278
+ *retVal = ::SysAllocString(m_qb.getSelect(index));
279
+ else
280
+ return Error("Invalid index", IID_IQueryBase);
281
+ return S_OK;
225
282
  }
226
283
 
227
- STDMETHODIMP CQueryBase::IsOptimize(VARIANT_BOOL* retVal)
284
+ STDMETHODIMP CQueryBase::WhereTokenCount(short* retVal)
228
285
  {
229
- *retVal = m_qb.isOptimize();
230
- return S_OK;
286
+ *retVal = m_qb.whereTokens();
287
+ return S_OK;
288
+ }
289
+
290
+ STDMETHODIMP CQueryBase::GetWhereToken(short index, BSTR* retVal)
291
+ {
292
+ if (index >= 0 && index < m_qb.whereTokens())
293
+ *retVal = ::SysAllocString(m_qb.getWhereToken(index));
294
+ else
295
+ return Error("Invalid index", IID_IQueryBase);
296
+ return S_OK;
297
+ }
298
+
299
+ STDMETHODIMP CQueryBase::BookmarkAlso(VARIANT_BOOL v, IQueryBase** retVal)
300
+ {
301
+ m_qb.bookmarkAlso(v == -1);
302
+ setResult(retVal);
303
+ return S_OK;
304
+ }
305
+
306
+ STDMETHODIMP CQueryBase::IsBookmarkAlso(VARIANT_BOOL* retVal)
307
+ {
308
+ *retVal = m_qb.isBookmarkAlso();
309
+ return S_OK;
231
310
  }
@@ -13,8 +13,8 @@
13
13
  GNU General Public License for more details.
14
14
 
15
15
  You should have received a copy of the GNU General Public License
16
- along with this program; if not, write to the Free Software
17
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
16
+ along with this program; if not, write to the Free Software
17
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18
18
  02111-1307, USA.
19
19
  =================================================================*/
20
20
  #include "resource.h"
@@ -24,73 +24,69 @@
24
24
 
25
25
  using namespace ATL;
26
26
 
27
- class ATL_NO_VTABLE CQueryBase :
28
- public CComObjectRootEx<CComSingleThreadModel>,
29
- public CComCoClass<CQueryBase, &CLSID_QueryBase>,
30
- public IDispatchImpl<IQueryBase, &IID_IQueryBase, &LIBID_transactd, /*wMajor =*/ 1, /*wMinor =*/ 0>
27
+ class ATL_NO_VTABLE CQueryBase
28
+ : public CComObjectRootEx<CComSingleThreadModel>,
29
+ public CComCoClass<CQueryBase, &CLSID_QueryBase>,
30
+ public IDispatchImpl<IQueryBase, &IID_IQueryBase, &LIBID_transactd,
31
+ /*wMajor =*/1, /*wMinor =*/0>
31
32
  {
32
- bzs::db::protocol::tdap::client::queryBase m_qb;
33
- void setResult(IQueryBase** retVal);
33
+ bzs::db::protocol::tdap::client::queryBase& m_qb;
34
+ void setResult(IQueryBase** retVal);
34
35
 
35
36
  public:
36
- CQueryBase()
37
- {
38
- }
37
+ CQueryBase() : m_qb(*bzs::db::protocol::tdap::client::queryBase::create())
38
+ {
39
+ }
39
40
 
40
- DECLARE_REGISTRY_RESOURCEID(IDR_QUERYBASE)
41
+ DECLARE_REGISTRY_RESOURCEID(IDR_QUERYBASE)
41
42
 
43
+ BEGIN_COM_MAP(CQueryBase)
44
+ COM_INTERFACE_ENTRY(IQueryBase)
45
+ COM_INTERFACE_ENTRY(IDispatch)
46
+ END_COM_MAP()
42
47
 
43
- BEGIN_COM_MAP(CQueryBase)
44
- COM_INTERFACE_ENTRY(IQueryBase)
45
- COM_INTERFACE_ENTRY(IDispatch)
46
- END_COM_MAP()
48
+ DECLARE_PROTECT_FINAL_CONSTRUCT()
47
49
 
50
+ HRESULT FinalConstruct() { return S_OK; }
48
51
 
49
-
50
- DECLARE_PROTECT_FINAL_CONSTRUCT()
51
-
52
- HRESULT FinalConstruct()
53
- {
54
- return S_OK;
55
- }
56
-
57
- void FinalRelease()
58
- {
59
- }
52
+ void FinalRelease() { m_qb.release(); }
60
53
 
61
54
  public:
62
- bzs::db::protocol::tdap::client::queryBase& query(){return m_qb;};
63
- STDMETHOD(Reset)(void);
64
- STDMETHOD(ClearSeekKeyValues)(void);
65
- STDMETHOD(ClearSelectFields)(void);
66
- STDMETHOD(Select)(BSTR Value
67
- ,BSTR Value1, BSTR Value2, BSTR Value3, BSTR Value4, BSTR Value5
68
- ,BSTR Value6, BSTR Value7, BSTR Value8, BSTR Value9, BSTR Value10
69
- , IQueryBase** retVal);
70
-
71
- STDMETHOD(Where)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
72
- STDMETHOD(And)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
73
- STDMETHOD(Or)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
74
- STDMETHOD(AddInValue)(VARIANT Value, VARIANT_BOOL Reset);
75
- STDMETHOD(In)(VARIANT Value
76
- ,VARIANT Value1, VARIANT Value2, VARIANT Value3, VARIANT Value4, VARIANT Value5
77
- ,VARIANT Value6, VARIANT Value7, VARIANT Value8, VARIANT Value9, VARIANT Value10
78
- , IQueryBase** retVal);
79
- STDMETHOD(QueryString)(BSTR Value, IQueryBase** retVal);
80
- STDMETHOD(Reject)(long Value, IQueryBase** retVal);
81
- STDMETHOD(Limit)(long Value, IQueryBase** retVal);
82
- STDMETHOD(Direction)( eFindType FindType, IQueryBase** retVal);
83
- STDMETHOD(All)(IQueryBase** retVal);
84
- STDMETHOD(ToString)(BSTR* retVal);
85
- STDMETHOD(GetDirection)(eFindType* retVal);
86
- STDMETHOD(GetReject)(long* retVal);
87
- STDMETHOD(GetLimit)(long* retVal);
88
- STDMETHOD(IsAll)(VARIANT_BOOL* retVal);
89
- STDMETHOD(Optimize)(VARIANT_BOOL Value, IQueryBase** retVal);
90
- STDMETHOD(IsOptimize)(VARIANT_BOOL* retVal);
91
-
92
-
93
-
55
+ bzs::db::protocol::tdap::client::queryBase& query() { return m_qb; };
56
+ STDMETHOD(Reset)(void);
57
+ STDMETHOD(ClearSeekKeyValues)(void);
58
+ STDMETHOD(ClearSelectFields)(void);
59
+ STDMETHOD(Select)(BSTR Value, BSTR Value1, BSTR Value2, BSTR Value3,
60
+ BSTR Value4, BSTR Value5, BSTR Value6, BSTR Value7,
61
+ BSTR Value8, BSTR Value9, BSTR Value10,
62
+ IQueryBase** retVal);
63
+
64
+ STDMETHOD(Where)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
65
+ STDMETHOD(And)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
66
+ STDMETHOD(Or)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
67
+ STDMETHOD(AddInValue)(VARIANT Value, VARIANT_BOOL Reset);
68
+ STDMETHOD(In)(VARIANT Value, VARIANT Value1, VARIANT Value2, VARIANT Value3,
69
+ VARIANT Value4, VARIANT Value5, VARIANT Value6,
70
+ VARIANT Value7, VARIANT Value8, VARIANT Value9,
71
+ VARIANT Value10, IQueryBase** retVal);
72
+ STDMETHOD(QueryString)(BSTR Value, IQueryBase** retVal);
73
+ STDMETHOD(Reject)(long Value, IQueryBase** retVal);
74
+ STDMETHOD(Limit)(long Value, IQueryBase** retVal);
75
+ STDMETHOD(Direction)(eFindType FindType, IQueryBase** retVal);
76
+ STDMETHOD(All)(IQueryBase** retVal);
77
+ STDMETHOD(ToString)(BSTR* retVal);
78
+ STDMETHOD(GetDirection)(eFindType* retVal);
79
+ STDMETHOD(GetReject)(long* retVal);
80
+ STDMETHOD(GetLimit)(long* retVal);
81
+ STDMETHOD(IsAll)(VARIANT_BOOL* retVal);
82
+ STDMETHOD(Optimize)(eOptimize Value, IQueryBase** retVal);
83
+ STDMETHOD(GetOptimize)(eOptimize* retVal);
84
+ STDMETHOD(SelectCount)(short* retVal);
85
+ STDMETHOD(GetSelect)(short index, BSTR* retVal);
86
+ STDMETHOD(WhereTokenCount)(short* retVal);
87
+ STDMETHOD(GetWhereToken)(short index, BSTR* retVal);
88
+ STDMETHOD(BookmarkAlso)(VARIANT_BOOL Value, IQueryBase** retVal);
89
+ STDMETHOD(IsBookmarkAlso)(VARIANT_BOOL* retVal);
94
90
  };
95
91
 
96
92
  OBJECT_ENTRY_AUTO(__uuidof(QueryBase), CQueryBase)