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.
- checksums.yaml +4 -4
- data/BUILD_UNIX-JA +46 -67
- data/BUILD_WIN-JA +106 -63
- data/CMakeLists.txt +40 -15
- data/README +219 -75
- data/README-JA +207 -76
- data/README_ORMSRCGEN +118 -0
- data/README_ORMSRCGEN-JA +115 -0
- data/bin/common/tdclc_32_2_0.dll +0 -0
- data/bin/common/tdclc_64_2_0.dll +0 -0
- data/build/common/check_for_link_iconv.cmake +18 -14
- data/build/common/create_symlink.cmake.in +25 -0
- data/build/common/get_boost_libs.cmake +23 -23
- data/build/common/options.cmake +0 -66
- data/build/common/smart_install.cmake +3 -3
- data/build/common/transactd.rc.in +15 -5
- data/build/common/transactd_cl_common.cmake +37 -18
- data/build/common/transactd_cl_output.cmake +55 -13
- data/build/common/transactd_common.cmake +108 -31
- data/build/swig/php/generate.cmake.in +15 -17
- data/build/swig/php/generate.cmd.in +15 -9
- data/build/swig/php/php.swg +124 -82
- data/build/swig/php/transactd.no_yield.php +4494 -0
- data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
- data/build/swig/php/transactd.no_yield.php.patch +685 -0
- data/build/swig/php/transactd.yield.php +4461 -0
- data/build/swig/php/transactd.yield.php.git.patch +652 -0
- data/build/swig/php/transactd.yield.php.patch +652 -0
- data/build/swig/referencecounter.h +79 -0
- data/build/swig/ruby/ruby.swg +226 -76
- data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
- data/build/swig/ruby/without_gvl.swg +87 -0
- data/build/swig/tdcl.i +659 -170
- data/build/swig/validatablepointer.h +91 -0
- data/build/tdclc/CMakeLists.txt +49 -34
- data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
- data/build/tdclc/tdclc.rc +0 -0
- data/build/tdclcpp/CMakeLists.txt +84 -20
- data/build/tdclcpp/tdclcpp.rc +0 -0
- data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
- data/build/tdclrb/CMakeLists.txt +84 -66
- data/build/tdclrb/bldgem/extconf.rb +28 -3
- data/build/tdclrb/gem/helper.rb +11 -1
- data/build/tdclrb/gem_output.cmake +20 -16
- data/index_ja.html +15 -0
- data/source/bzs/db/IBlobBuffer.h +15 -17
- data/source/bzs/db/blobBuffer.h +186 -140
- data/source/bzs/db/blobStructs.h +37 -37
- data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
- data/source/bzs/db/engine/mysql/bookmark.h +150 -147
- data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
- data/source/bzs/db/engine/mysql/database.h +608 -370
- data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
- data/source/bzs/db/engine/mysql/dbManager.h +115 -104
- data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
- data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
- data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
- data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
- data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
- data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
- data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
- data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
- data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
- data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
- data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
- data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
- data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
- data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
- data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
- data/source/bzs/db/protocol/tdap/client/client.h +361 -320
- data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
- data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
- data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
- data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
- data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
- data/source/bzs/db/protocol/tdap/client/database.h +141 -118
- data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
- data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
- data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
- data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
- data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
- data/source/bzs/db/protocol/tdap/client/export.h +35 -0
- data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
- data/source/bzs/db/protocol/tdap/client/field.h +393 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
- data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
- data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
- data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
- data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
- data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
- data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
- data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
- data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
- data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
- data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
- data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
- data/source/bzs/db/protocol/tdap/client/request.h +227 -170
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
- data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
- data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
- data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
- data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
- data/source/bzs/db/protocol/tdap/client/table.h +413 -87
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
- data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
- data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
- data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
- data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
- data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
- data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
- data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
- data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
- data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
- data/source/bzs/db/transactd/appBuilderImple.h +21 -20
- data/source/bzs/db/transactd/appModule.cpp +350 -98
- data/source/bzs/db/transactd/appModule.h +31 -37
- data/source/bzs/db/transactd/connManager.cpp +138 -135
- data/source/bzs/db/transactd/connManager.h +28 -21
- data/source/bzs/db/transactd/connectionRecord.h +39 -39
- data/source/bzs/db/transactd/transactd.cpp +217 -203
- data/source/bzs/env/boost_bcb_link.h +131 -0
- data/source/bzs/env/compiler.h +136 -79
- data/source/bzs/env/crosscompile.cpp +57 -57
- data/source/bzs/env/crosscompile.h +130 -115
- data/source/bzs/env/fileopen.h +7 -8
- data/source/bzs/env/mbcswchrLinux.cpp +4 -9
- data/source/bzs/env/mbcswchrLinux.h +37 -34
- data/source/bzs/env/tcharMinGW.h +59 -0
- data/source/bzs/env/tstring.h +90 -95
- data/source/bzs/example/changeSchema.cpp +22 -23
- data/source/bzs/example/changeSchema_c.cpp +22 -24
- data/source/bzs/example/connection_pool_c.cpp +49 -104
- data/source/bzs/example/createDatabase.cpp +40 -47
- data/source/bzs/example/createDatabase_c.cpp +38 -43
- data/source/bzs/example/deleteRecords.cpp +10 -15
- data/source/bzs/example/deleteRecords_c.cpp +10 -14
- data/source/bzs/example/dropDatabase.cpp +3 -9
- data/source/bzs/example/dropDatabase_c.cpp +5 -6
- data/source/bzs/example/insertRecords.cpp +37 -29
- data/source/bzs/example/insertRecords_c.cpp +19 -25
- data/source/bzs/example/ormap_c.cpp +621 -0
- data/source/bzs/example/queryData.cpp +371 -0
- data/source/bzs/example/queryData.h +16 -0
- data/source/bzs/example/query_c.cpp +109 -0
- data/source/bzs/example/readRecords.cpp +27 -27
- data/source/bzs/example/readRecords_c.cpp +25 -23
- data/source/bzs/example/updateRecords.cpp +16 -21
- data/source/bzs/example/updateRecords_c.cpp +8 -12
- data/source/bzs/example/update_with_transaction.cpp +21 -24
- data/source/bzs/example/update_with_transaction_c.cpp +12 -15
- data/source/bzs/example/useORMRecord.cpp +177 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
- data/source/bzs/netsvc/client/tcpClient.h +541 -489
- data/source/bzs/netsvc/server/IAppModule.h +119 -32
- data/source/bzs/netsvc/server/iserver.h +21 -23
- data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
- data/source/bzs/netsvc/server/serverCpt.h +41 -43
- data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
- data/source/bzs/netsvc/server/serverPipe.h +44 -45
- data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
- data/source/bzs/netsvc/server/serverTpool.h +38 -43
- data/source/bzs/rtl/benchmark.cpp +91 -31
- data/source/bzs/rtl/benchmark.h +76 -22
- data/source/bzs/rtl/datetime.cpp +231 -233
- data/source/bzs/rtl/datetime.h +16 -16
- data/source/bzs/rtl/debuglog.cpp +48 -51
- data/source/bzs/rtl/debuglog.h +55 -44
- data/source/bzs/rtl/exception.h +55 -48
- data/source/bzs/rtl/stl_uty.cpp +27 -28
- data/source/bzs/rtl/stl_uty.h +28 -29
- data/source/bzs/rtl/stringBuffers.cpp +8 -6
- data/source/bzs/rtl/stringBuffers.h +16 -9
- data/source/bzs/rtl/strtrim.cpp +90 -91
- data/source/bzs/rtl/strtrim.h +14 -16
- data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
- data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
- data/source/bzs/test/tdclphp/bench.php +357 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
- data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
- data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -0
- data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
- data/source/bzs/test/tdclrb/prepare.rb +15 -12
- data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
- data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
- data/source/bzs/test/transactdBench/query_bench.cpp +156 -0
- data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
- data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
- data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
- data/source/bzs/test/transactdBench/workerBase.h +88 -0
- data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
- data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
- data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
- data/source/global/ormsrcgen/confParam.h +80 -0
- data/source/global/ormsrcgen/fieldName.cpp +77 -0
- data/source/global/ormsrcgen/fieldName.h +43 -0
- data/source/global/ormsrcgen/main.cpp +196 -0
- data/source/global/ormsrcgen/srcgen.cpp +763 -0
- data/source/global/ormsrcgen/srcgen.h +72 -0
- data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
- data/source/global/ormsrcgen/template/template.cnf +38 -0
- data/source/global/querystmts/querystmts.cpp +237 -0
- data/source/global/tdclatl/ConnectParams.cpp +77 -0
- data/source/global/tdclatl/ConnectParams.h +70 -0
- data/source/global/tdclatl/Database.cpp +132 -128
- data/source/global/tdclatl/Database.h +60 -49
- data/source/global/tdclatl/DbDef.cpp +68 -64
- data/source/global/tdclatl/DbDef.h +36 -36
- data/source/global/tdclatl/Field.cpp +12 -17
- data/source/global/tdclatl/Field.h +15 -12
- data/source/global/tdclatl/FieldDef.cpp +75 -36
- data/source/global/tdclatl/FieldDef.h +38 -19
- data/source/global/tdclatl/FieldDefs.cpp +74 -0
- data/source/global/tdclatl/FieldDefs.h +56 -0
- data/source/global/tdclatl/FieldNames.cpp +99 -0
- data/source/global/tdclatl/FieldNames.h +66 -0
- data/source/global/tdclatl/Flags.cpp +75 -37
- data/source/global/tdclatl/Flags.h +13 -12
- data/source/global/tdclatl/GroupQuery.cpp +119 -0
- data/source/global/tdclatl/GroupQuery.h +65 -0
- data/source/global/tdclatl/KeyDef.cpp +15 -14
- data/source/global/tdclatl/KeyDef.h +20 -17
- data/source/global/tdclatl/KeySegment.cpp +13 -12
- data/source/global/tdclatl/PooledDbManager.cpp +223 -0
- data/source/global/tdclatl/PooledDbManager.h +76 -0
- data/source/global/tdclatl/QueryBase.cpp +206 -127
- data/source/global/tdclatl/QueryBase.h +55 -59
- data/source/global/tdclatl/Record.cpp +214 -0
- data/source/global/tdclatl/Record.h +96 -0
- data/source/global/tdclatl/Recordset.cpp +278 -0
- data/source/global/tdclatl/Recordset.h +83 -0
- data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
- data/source/global/tdclatl/RecordsetQuery.h +126 -0
- data/source/global/tdclatl/Table.cpp +57 -60
- data/source/global/tdclatl/Table.h +32 -29
- data/source/global/tdclatl/TableDef.cpp +63 -62
- data/source/global/tdclatl/TableDef.h +20 -22
- data/source/global/tdclatl/TdVersion.cpp +3 -3
- data/source/global/tdclatl/TdVersion.h +15 -11
- data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
- data/source/global/tdclatl/activeTable.cpp +355 -0
- data/source/global/tdclatl/activeTable.h +79 -0
- data/source/global/tdclatl/dllmain.cpp +4 -3
- data/source/global/tdclatl/dllmain.h +7 -6
- data/source/global/tdclatl/keySegment.h +22 -18
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/stdafx.h +6 -4
- data/source/global/tdclatl/targetver.h +0 -1
- data/source/global/tdclatl/tdclatl.cpp +10 -5
- data/source/global/tdclatl/tdclatl.idl +530 -14
- data/source/linux/charsetConvert.h +78 -79
- data/source/linux/linuxTypes.h +9 -12
- data/source/linux/tchar.h +168 -166
- data/transactd.gemspec +24 -16
- metadata +98 -12
- data/bin/common/tdclc_32_1_2.dll +0 -0
- data/bin/common/tdclc_64_1_2.dll +0 -0
- data/build/tdclc/tdclc_32.cbproj +0 -173
- data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
- data/build/tdclrb/GEM_VERSION +0 -3
- data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
- data/source/bzs/example/useORM.cpp +0 -585
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/*=================================================================
|
|
2
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
3
|
+
|
|
4
|
+
This program is free software; you can redistribute it and/or
|
|
5
|
+
modify it under the terms of the GNU General Public License
|
|
6
|
+
as published by the Free Software Foundation; either version 2
|
|
7
|
+
of the License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with this program; if not, write to the Free Software
|
|
16
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
|
+
02111-1307, USA.
|
|
18
|
+
=================================================================*/
|
|
19
|
+
#include "stdafx.h"
|
|
20
|
+
#include "RecordsetQuery.h"
|
|
21
|
+
|
|
22
|
+
void CRecordsetQuery::setResult(IRecordsetQuery** retVal)
|
|
23
|
+
{
|
|
24
|
+
this->QueryInterface(IID_IRecordsetQuery, (void**)retVal);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
STDMETHODIMP CRecordsetQuery::Reset(IRecordsetQuery** retVal)
|
|
28
|
+
{
|
|
29
|
+
m_qb.reset();
|
|
30
|
+
setResult(retVal);
|
|
31
|
+
return S_OK;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
STDMETHODIMP CRecordsetQuery::When(BSTR Name, BSTR Logic, VARIANT Value,
|
|
35
|
+
IRecordsetQuery** retVal)
|
|
36
|
+
{
|
|
37
|
+
if (Value.vt != VT_BSTR)
|
|
38
|
+
VariantChangeType(&Value, &Value, 0, VT_BSTR);
|
|
39
|
+
m_qb.when(Name, Logic, Value.bstrVal);
|
|
40
|
+
setResult(retVal);
|
|
41
|
+
return S_OK;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
STDMETHODIMP CRecordsetQuery::And(BSTR Name, BSTR Logic, VARIANT Value,
|
|
45
|
+
IRecordsetQuery** retVal)
|
|
46
|
+
{
|
|
47
|
+
if (Value.vt != VT_BSTR)
|
|
48
|
+
VariantChangeType(&Value, &Value, 0, VT_BSTR);
|
|
49
|
+
m_qb.and_(Name, Logic, Value.bstrVal);
|
|
50
|
+
setResult(retVal);
|
|
51
|
+
return S_OK;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
STDMETHODIMP CRecordsetQuery::Or(BSTR Name, BSTR Logic, VARIANT Value,
|
|
55
|
+
IRecordsetQuery** retVal)
|
|
56
|
+
{
|
|
57
|
+
if (Value.vt != VT_BSTR)
|
|
58
|
+
VariantChangeType(&Value, &Value, 0, VT_BSTR);
|
|
59
|
+
m_qb.or_(Name, Logic, Value.bstrVal);
|
|
60
|
+
setResult(retVal);
|
|
61
|
+
return S_OK;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
STDMETHODIMP CSortField::get_Name(BSTR* Value)
|
|
65
|
+
{
|
|
66
|
+
return S_OK;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
STDMETHODIMP CSortField::put_Name(BSTR Value)
|
|
70
|
+
{
|
|
71
|
+
return S_OK;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
STDMETHODIMP CSortField::get_Asc(VARIANT_BOOL* Value)
|
|
75
|
+
{
|
|
76
|
+
return S_OK;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
STDMETHODIMP CSortField::put_Asc(VARIANT_BOOL Value)
|
|
80
|
+
{
|
|
81
|
+
return S_OK;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
//------------------------------------------------------------------------
|
|
85
|
+
STDMETHODIMP CSortFields::Add(BSTR Name, VARIANT_BOOL Asc)
|
|
86
|
+
{
|
|
87
|
+
m_sortFields.add(Name, (Asc == -1));
|
|
88
|
+
return S_OK;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
STDMETHODIMP CSortFields::get_Size(int* Value)
|
|
92
|
+
{
|
|
93
|
+
*Value = (int)m_sortFields.size();
|
|
94
|
+
return S_OK;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
STDMETHODIMP CSortFields::Item(int Index, ISortField** retVal)
|
|
98
|
+
{
|
|
99
|
+
CComObject<CSortField>* obj;
|
|
100
|
+
|
|
101
|
+
CComObject<CSortField>::CreateInstance(&obj);
|
|
102
|
+
if (obj)
|
|
103
|
+
{
|
|
104
|
+
obj->m_sortField = m_sortFields[Index];
|
|
105
|
+
|
|
106
|
+
ISortField* fd;
|
|
107
|
+
obj->QueryInterface(IID_ISortField, (void**)&fd);
|
|
108
|
+
_ASSERTE(fd);
|
|
109
|
+
*retVal = fd;
|
|
110
|
+
}
|
|
111
|
+
return S_OK;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
STDMETHODIMP CSortFields::Clear()
|
|
115
|
+
{
|
|
116
|
+
m_sortFields.clear();
|
|
117
|
+
return S_OK;
|
|
118
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
/*=================================================================
|
|
3
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
4
|
+
|
|
5
|
+
This program is free software; you can redistribute it and/or
|
|
6
|
+
modify it under the terms of the GNU General Public License
|
|
7
|
+
as published by the Free Software Foundation; either version 2
|
|
8
|
+
of the License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
This program is distributed in the hope that it will be useful,
|
|
11
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
GNU General Public License for more details.
|
|
14
|
+
|
|
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
|
|
18
|
+
02111-1307, USA.
|
|
19
|
+
=================================================================*/
|
|
20
|
+
#include "resource.h"
|
|
21
|
+
|
|
22
|
+
#include "tdclatl_i.h"
|
|
23
|
+
#include <bzs/db/protocol/tdap/client/groupQuery.h>
|
|
24
|
+
|
|
25
|
+
using namespace ATL;
|
|
26
|
+
|
|
27
|
+
class ATL_NO_VTABLE CRecordsetQuery
|
|
28
|
+
: public CComObjectRootEx<CComSingleThreadModel>,
|
|
29
|
+
public CComCoClass<CRecordsetQuery, &CLSID_RecordsetQuery>,
|
|
30
|
+
public IDispatchImpl<IRecordsetQuery, &IID_IRecordsetQuery,
|
|
31
|
+
&LIBID_transactd, /*wMajor =*/1, /*wMinor =*/0>
|
|
32
|
+
{
|
|
33
|
+
|
|
34
|
+
void setResult(IRecordsetQuery** retVal);
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
bzs::db::protocol::tdap::client::recordsetQuery m_qb;
|
|
38
|
+
CRecordsetQuery() {}
|
|
39
|
+
|
|
40
|
+
DECLARE_REGISTRY_RESOURCEID(IDR_RECORDSETQUERY)
|
|
41
|
+
|
|
42
|
+
BEGIN_COM_MAP(CRecordsetQuery)
|
|
43
|
+
COM_INTERFACE_ENTRY(IRecordsetQuery)
|
|
44
|
+
COM_INTERFACE_ENTRY(IDispatch)
|
|
45
|
+
END_COM_MAP()
|
|
46
|
+
|
|
47
|
+
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
48
|
+
|
|
49
|
+
HRESULT FinalConstruct() { return S_OK; }
|
|
50
|
+
|
|
51
|
+
void FinalRelease() {}
|
|
52
|
+
|
|
53
|
+
public:
|
|
54
|
+
bzs::db::protocol::tdap::client::recordsetQuery& query() { return m_qb; };
|
|
55
|
+
STDMETHOD(Reset)(IRecordsetQuery** retVal);
|
|
56
|
+
|
|
57
|
+
STDMETHOD(When)(BSTR Name, BSTR Logic, VARIANT Value,
|
|
58
|
+
IRecordsetQuery** retVal);
|
|
59
|
+
STDMETHOD(And)(BSTR Name, BSTR Logic, VARIANT Value,
|
|
60
|
+
IRecordsetQuery** retVal);
|
|
61
|
+
STDMETHOD(Or)(BSTR Name, BSTR Logic, VARIANT Value,
|
|
62
|
+
IRecordsetQuery** retVal);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
class ATL_NO_VTABLE CSortField
|
|
66
|
+
: public CComObjectRootEx<CComSingleThreadModel>,
|
|
67
|
+
public CComCoClass<CSortField, &CLSID_SortField>,
|
|
68
|
+
public IDispatchImpl<ISortField, &IID_ISortField, &LIBID_transactd,
|
|
69
|
+
/*wMajor =*/1, /*wMinor =*/0>
|
|
70
|
+
{
|
|
71
|
+
|
|
72
|
+
public:
|
|
73
|
+
bzs::db::protocol::tdap::client::sortField m_sortField;
|
|
74
|
+
CSortField() {}
|
|
75
|
+
|
|
76
|
+
BEGIN_COM_MAP(CSortField)
|
|
77
|
+
COM_INTERFACE_ENTRY(ISortField)
|
|
78
|
+
COM_INTERFACE_ENTRY(IDispatch)
|
|
79
|
+
END_COM_MAP()
|
|
80
|
+
|
|
81
|
+
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
82
|
+
|
|
83
|
+
HRESULT FinalConstruct() { return S_OK; }
|
|
84
|
+
|
|
85
|
+
void FinalRelease() {}
|
|
86
|
+
|
|
87
|
+
public:
|
|
88
|
+
STDMETHOD(get_Name)(BSTR* Value);
|
|
89
|
+
STDMETHOD(put_Name)(BSTR Value);
|
|
90
|
+
STDMETHOD(get_Asc)(VARIANT_BOOL* Value);
|
|
91
|
+
STDMETHOD(put_Asc)(VARIANT_BOOL Value);
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
class ATL_NO_VTABLE CSortFields
|
|
95
|
+
: public CComObjectRootEx<CComSingleThreadModel>,
|
|
96
|
+
public CComCoClass<CSortFields, &CLSID_SortFields>,
|
|
97
|
+
public IDispatchImpl<ISortFields, &IID_ISortFields, &LIBID_transactd,
|
|
98
|
+
/*wMajor =*/1, /*wMinor =*/0>
|
|
99
|
+
{
|
|
100
|
+
|
|
101
|
+
public:
|
|
102
|
+
bzs::db::protocol::tdap::client::sortFields m_sortFields;
|
|
103
|
+
CSortFields() {}
|
|
104
|
+
|
|
105
|
+
DECLARE_REGISTRY_RESOURCEID(IDR_SORTFIELDS)
|
|
106
|
+
|
|
107
|
+
BEGIN_COM_MAP(CSortFields)
|
|
108
|
+
COM_INTERFACE_ENTRY(ISortFields)
|
|
109
|
+
COM_INTERFACE_ENTRY(IDispatch)
|
|
110
|
+
END_COM_MAP()
|
|
111
|
+
|
|
112
|
+
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
113
|
+
|
|
114
|
+
HRESULT FinalConstruct() { return S_OK; }
|
|
115
|
+
|
|
116
|
+
void FinalRelease() {}
|
|
117
|
+
|
|
118
|
+
public:
|
|
119
|
+
STDMETHOD(Add)(BSTR Name, VARIANT_BOOL Asc);
|
|
120
|
+
STDMETHOD(get_Size)(int* Value);
|
|
121
|
+
STDMETHOD(Item)(int Index, ISortField** retVal);
|
|
122
|
+
STDMETHOD(Clear)();
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
OBJECT_ENTRY_AUTO(__uuidof(RecordsetQuery), CRecordsetQuery)
|
|
126
|
+
OBJECT_ENTRY_AUTO(__uuidof(SortFields), CSortFields)
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
GNU General Public License for more details.
|
|
13
13
|
|
|
14
14
|
You should have received a copy of the GNU General Public License
|
|
15
|
-
along with this program; if not, write to the Free Software
|
|
16
|
-
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
15
|
+
along with this program; if not, write to the Free Software
|
|
16
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
17
|
02111-1307, USA.
|
|
18
18
|
=================================================================*/
|
|
19
19
|
#include "stdafx.h"
|
|
@@ -21,13 +21,11 @@
|
|
|
21
21
|
#include "Database.h"
|
|
22
22
|
#include "DbDef.h"
|
|
23
23
|
#include "TableDef.h"
|
|
24
|
-
#include "Field.h"
|
|
25
24
|
#include "QueryBase.h"
|
|
25
|
+
#include <bzs/db/protocol/tdap/client/fields.h>
|
|
26
26
|
|
|
27
27
|
using namespace bzs::db::protocol::tdap;
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
29
|
short CTableTd::GetFieldNum(VARIANT* Index)
|
|
32
30
|
{
|
|
33
31
|
short index = -1;
|
|
@@ -139,19 +137,19 @@ STDMETHODIMP CTableTd::put_Vbin(VARIANT Index, BSTR Value)
|
|
|
139
137
|
|
|
140
138
|
STDMETHODIMP CTableTd::get_TableDef(ITableDef** Value)
|
|
141
139
|
{
|
|
142
|
-
CComObject<CTableDef
|
|
140
|
+
CComObject<CTableDef>* piObj;
|
|
143
141
|
CComObject<CTableDef>::CreateInstance(&piObj);
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
142
|
+
if (piObj)
|
|
143
|
+
{
|
|
144
|
+
m_tabledef = const_cast<tabledef*>(m_tb->tableDef());
|
|
145
|
+
piObj->m_tabledefPtr = &m_tabledef;
|
|
146
|
+
ITableDef* tbd;
|
|
147
|
+
piObj->QueryInterface(IID_ITableDef, (void**)&tbd);
|
|
148
|
+
_ASSERTE(tbd);
|
|
149
|
+
*Value = tbd;
|
|
150
|
+
}
|
|
151
|
+
else
|
|
152
|
+
*Value = 0;
|
|
155
153
|
return S_OK;
|
|
156
154
|
}
|
|
157
155
|
|
|
@@ -211,13 +209,13 @@ STDMETHODIMP CTableTd::Seek(eLockType lockBias)
|
|
|
211
209
|
|
|
212
210
|
STDMETHODIMP CTableTd::SeekGreater(VARIANT_BOOL orEqual, eLockType lockBias)
|
|
213
211
|
{
|
|
214
|
-
m_tb->seekGreater(orEqual,(ushort_td)lockBias);
|
|
212
|
+
m_tb->seekGreater(orEqual, (ushort_td)lockBias);
|
|
215
213
|
return S_OK;
|
|
216
214
|
}
|
|
217
215
|
|
|
218
216
|
STDMETHODIMP CTableTd::SeekLessThan(VARIANT_BOOL orEqual, eLockType lockBias)
|
|
219
217
|
{
|
|
220
|
-
m_tb->seekLessThan(orEqual,(ushort_td)lockBias);
|
|
218
|
+
m_tb->seekLessThan(orEqual, (ushort_td)lockBias);
|
|
221
219
|
return S_OK;
|
|
222
220
|
}
|
|
223
221
|
|
|
@@ -245,9 +243,10 @@ STDMETHODIMP CTableTd::get_RecordLength(long* Value)
|
|
|
245
243
|
return S_OK;
|
|
246
244
|
}
|
|
247
245
|
|
|
248
|
-
STDMETHODIMP CTableTd::
|
|
246
|
+
STDMETHODIMP CTableTd::RecordCount(VARIANT_BOOL estimate,
|
|
247
|
+
VARIANT_BOOL fromCurrent, long* Value)
|
|
249
248
|
{
|
|
250
|
-
*Value = m_tb->recordCount();
|
|
249
|
+
*Value = m_tb->recordCount((estimate == -1), (fromCurrent == -1));
|
|
251
250
|
return S_OK;
|
|
252
251
|
}
|
|
253
252
|
|
|
@@ -305,12 +304,6 @@ STDMETHODIMP CTableTd::FindPrev(VARIANT_BOOL notIncCurrent)
|
|
|
305
304
|
return S_OK;
|
|
306
305
|
}
|
|
307
306
|
|
|
308
|
-
STDMETHODIMP CTableTd::get_Filter(BSTR* Value)
|
|
309
|
-
{
|
|
310
|
-
*Value = ::SysAllocString(m_tb->filterStr());
|
|
311
|
-
return S_OK;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
307
|
STDMETHODIMP CTableTd::put_Filter(BSTR Value)
|
|
315
308
|
{
|
|
316
309
|
m_tb->setFilter(Value, m_filterRejectCount, m_filterGetCount);
|
|
@@ -363,7 +356,6 @@ STDMETHODIMP CTableTd::CommitBulkInsert()
|
|
|
363
356
|
{
|
|
364
357
|
m_tb->commitBulkInsert(false);
|
|
365
358
|
return S_OK;
|
|
366
|
-
|
|
367
359
|
}
|
|
368
360
|
|
|
369
361
|
STDMETHODIMP CTableTd::get_FilterGetCount(long* Value)
|
|
@@ -390,26 +382,28 @@ STDMETHODIMP CTableTd::put_FilterRejectCount(long Value)
|
|
|
390
382
|
return S_OK;
|
|
391
383
|
}
|
|
392
384
|
|
|
393
|
-
STDMETHODIMP CTableTd::Field(VARIANT Index, IField**
|
|
385
|
+
STDMETHODIMP CTableTd::Field(VARIANT Index, IField** retVal)
|
|
394
386
|
{
|
|
395
387
|
|
|
396
388
|
short index = GetFieldNum(&Index);
|
|
397
389
|
if (index < 0)
|
|
398
390
|
return Error("Invalid index", IID_ITable);
|
|
399
391
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
392
|
+
if (m_fieldObj == NULL)
|
|
393
|
+
{
|
|
394
|
+
CComObject<CField>::CreateInstance(&m_fieldObj);
|
|
395
|
+
if (m_fieldObj)
|
|
396
|
+
m_fieldObj->AddRef();
|
|
397
|
+
}
|
|
398
|
+
if (m_fieldObj)
|
|
399
|
+
{
|
|
400
|
+
client::fields fds(*m_tb);
|
|
401
|
+
m_fieldObj->m_fd = fds[index];
|
|
402
|
+
IField* fd;
|
|
403
|
+
m_fieldObj->QueryInterface(IID_IField, (void**)&fd);
|
|
404
|
+
_ASSERTE(fd);
|
|
405
|
+
*retVal = fd;
|
|
406
|
+
}
|
|
413
407
|
return S_OK;
|
|
414
408
|
}
|
|
415
409
|
|
|
@@ -489,15 +483,13 @@ STDMETHODIMP CTableTd::TdapErr(OLE_HANDLE hWnd, BSTR* Value)
|
|
|
489
483
|
{
|
|
490
484
|
if (Value)
|
|
491
485
|
{
|
|
492
|
-
wchar_t tmp[512] =
|
|
493
|
-
{NULL};
|
|
486
|
+
wchar_t tmp[512] = { NULL };
|
|
494
487
|
m_tb->tdapErr((HWND)hWnd, tmp);
|
|
495
488
|
*Value = ::SysAllocString(tmp);
|
|
496
489
|
}
|
|
497
490
|
else
|
|
498
491
|
m_tb->tdapErr((HWND)hWnd);
|
|
499
492
|
return S_OK;
|
|
500
|
-
|
|
501
493
|
}
|
|
502
494
|
|
|
503
495
|
STDMETHODIMP CTableTd::Unlock_(unsigned int bm)
|
|
@@ -602,23 +594,28 @@ STDMETHODIMP CTableTd::SmartUpdate(void)
|
|
|
602
594
|
|
|
603
595
|
STDMETHODIMP CTableTd::KeyValueDescription(BSTR* Value)
|
|
604
596
|
{
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
597
|
+
wchar_t tmp[8192];
|
|
598
|
+
m_tb->keyValueDescription(tmp, 8192);
|
|
599
|
+
*Value = tmp;
|
|
600
|
+
return S_OK;
|
|
609
601
|
}
|
|
610
602
|
|
|
611
603
|
STDMETHODIMP CTableTd::SetQuery(IQueryBase* Value)
|
|
612
604
|
{
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
605
|
+
if (Value)
|
|
606
|
+
{
|
|
607
|
+
CQueryBase* p = dynamic_cast<CQueryBase*>(Value);
|
|
608
|
+
if (p)
|
|
609
|
+
{
|
|
610
|
+
m_tb->setQuery(&p->query());
|
|
611
|
+
return S_OK;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
return S_FALSE;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
STDMETHODIMP CTableTd::FieldNumByName(BSTR Name, short* Value)
|
|
618
|
+
{
|
|
619
|
+
*Value = m_tb->fieldNumByName(Name);
|
|
620
|
+
return S_FALSE;
|
|
624
621
|
}
|
|
@@ -13,51 +13,54 @@
|
|
|
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"
|
|
21
21
|
|
|
22
22
|
#include "tdclatl_i.h"
|
|
23
|
-
#include
|
|
24
|
-
|
|
23
|
+
#include "Field.h"
|
|
24
|
+
#include <bzs/db/protocol/tdap/client/trdboostapi.h>
|
|
25
25
|
using namespace ATL;
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
class ATL_NO_VTABLE CTableTd
|
|
28
|
+
: public CComObjectRootEx<CComSingleThreadModel>,
|
|
29
|
+
public CComCoClass<CTableTd, &CLSID_Table>,
|
|
30
|
+
public IDispatchImpl<ITable, &IID_ITable, &LIBID_transactd,
|
|
31
|
+
/* wMajor = */ 1, /* wMinor = */ 0>
|
|
32
32
|
{
|
|
33
33
|
|
|
34
34
|
int m_filterRejectCount;
|
|
35
35
|
int m_filterGetCount;
|
|
36
|
-
|
|
36
|
+
bzs::db::protocol::tdap::tabledef* m_tabledef;
|
|
37
37
|
short GetFieldNum(VARIANT* Index);
|
|
38
38
|
CComBSTR m_str;
|
|
39
|
+
CComObject<CField>* m_fieldObj;
|
|
39
40
|
|
|
40
41
|
public:
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
CTableTd() : m_filterRejectCount(1), m_filterGetCount(0), m_fieldObj(NULL)
|
|
43
|
+
{
|
|
44
|
+
}
|
|
43
45
|
|
|
44
|
-
bzs::db::protocol::tdap::client::
|
|
45
|
-
bzs::db::protocol::tdap::client::database* m_db;
|
|
46
|
+
bzs::db::protocol::tdap::client::table_ptr m_tb;
|
|
46
47
|
|
|
47
|
-
BEGIN_COM_MAP(CTableTd)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
BEGIN_COM_MAP(CTableTd)
|
|
49
|
+
COM_INTERFACE_ENTRY(ITable)
|
|
50
|
+
COM_INTERFACE_ENTRY(IDispatch)
|
|
51
|
+
END_COM_MAP()
|
|
51
52
|
|
|
52
53
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
53
54
|
|
|
54
|
-
HRESULT FinalConstruct() {return S_OK;}
|
|
55
|
+
HRESULT FinalConstruct() { return S_OK; }
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
void FinalRelease()
|
|
58
|
+
{
|
|
59
|
+
if (m_fieldObj)
|
|
60
|
+
m_fieldObj->Release();
|
|
61
|
+
};
|
|
57
62
|
|
|
58
63
|
public:
|
|
59
|
-
|
|
60
|
-
|
|
61
64
|
STDMETHOD(get_Text)(VARIANT Index, BSTR* Value);
|
|
62
65
|
STDMETHOD(get_Vlng)(VARIANT Index, int* Value);
|
|
63
66
|
STDMETHOD(put_Text)(VARIANT Index, BSTR Value);
|
|
@@ -78,7 +81,8 @@ public:
|
|
|
78
81
|
STDMETHOD(SeekByBookMark)(long Value, eLockType lockBias);
|
|
79
82
|
STDMETHOD(get_Percentage)(long* Value);
|
|
80
83
|
STDMETHOD(get_RecordLength)(long* Value);
|
|
81
|
-
STDMETHOD(
|
|
84
|
+
STDMETHOD(RecordCount)(VARIANT_BOOL estimate, VARIANT_BOOL fromCurrent,
|
|
85
|
+
long* Value);
|
|
82
86
|
STDMETHOD(SeekByPercentage)(long Value);
|
|
83
87
|
STDMETHOD(get_KeyNum)(short* Value);
|
|
84
88
|
STDMETHOD(get_Stat)(eStatus* eStatus);
|
|
@@ -92,14 +96,13 @@ public:
|
|
|
92
96
|
STDMETHOD(FindLast)();
|
|
93
97
|
STDMETHOD(FindNext)(VARIANT_BOOL notIncCurrent);
|
|
94
98
|
STDMETHOD(FindPrev)(VARIANT_BOOL notIncCurrent);
|
|
95
|
-
STDMETHOD(get_Filter)(BSTR* Value);
|
|
96
99
|
STDMETHOD(put_Filter)(BSTR Value);
|
|
97
100
|
STDMETHOD(get_V64)(VARIANT Index, __int64* Value);
|
|
98
101
|
STDMETHOD(put_V64)(VARIANT Index, __int64 Value);
|
|
99
102
|
STDMETHOD(UpDate)(eUpdateType ncc);
|
|
100
103
|
STDMETHOD(StepFirst)(eLockType lockBias);
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
STDMETHOD(StepLast)(eLockType lockBias);
|
|
105
|
+
STDMETHOD(StepPrev)(eLockType lockBias);
|
|
103
106
|
STDMETHOD(StepNext)(eLockType lockBias);
|
|
104
107
|
|
|
105
108
|
STDMETHOD(AbortBulkInsert)();
|
|
@@ -139,7 +142,7 @@ public:
|
|
|
139
142
|
STDMETHOD(get_MyDateTimeValueByBtrv)(VARIANT_BOOL* Value);
|
|
140
143
|
STDMETHOD(get_ValiableFormatType)(VARIANT_BOOL* Value);
|
|
141
144
|
STDMETHOD(SmartUpdate)(void);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
+
STDMETHOD(KeyValueDescription)(BSTR* Value);
|
|
146
|
+
STDMETHOD(SetQuery)(IQueryBase* Value);
|
|
147
|
+
STDMETHOD(FieldNumByName)(BSTR Name, short* Value);
|
|
145
148
|
};
|