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
|
@@ -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"
|
|
@@ -27,19 +27,20 @@ STDMETHODIMP CTableDef::get_FieldDef(short Index, IFieldDef** Value)
|
|
|
27
27
|
if (Index >= (*m_tabledefPtr)->fieldCount)
|
|
28
28
|
return Error("Invalid index.", IID_ITableDef);
|
|
29
29
|
|
|
30
|
-
CComObject<CFieldDef
|
|
30
|
+
CComObject<CFieldDef>* piObj;
|
|
31
31
|
CComObject<CFieldDef>::CreateInstance(&piObj);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
if (piObj)
|
|
33
|
+
{
|
|
34
|
+
piObj->m_tabledefPtr = m_tabledefPtr;
|
|
35
|
+
piObj->m_index = Index;
|
|
36
|
+
IFieldDef* fd;
|
|
37
|
+
piObj->QueryInterface(IID_IFieldDef, (void**)&fd);
|
|
38
|
+
_ASSERTE(fd);
|
|
39
|
+
*Value = piObj;
|
|
40
|
+
}
|
|
41
|
+
else
|
|
42
|
+
*Value = 0;
|
|
43
|
+
return S_OK;
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
STDMETHODIMP CTableDef::get_KeyDef(short Index, IKeyDef** Value)
|
|
@@ -47,18 +48,19 @@ STDMETHODIMP CTableDef::get_KeyDef(short Index, IKeyDef** Value)
|
|
|
47
48
|
if (Index >= (*m_tabledefPtr)->keyCount)
|
|
48
49
|
return Error("Invalid index.", IID_ITableDef);
|
|
49
50
|
|
|
50
|
-
CComObject<CKeyDef
|
|
51
|
+
CComObject<CKeyDef>* piObj;
|
|
51
52
|
CComObject<CKeyDef>::CreateInstance(&piObj);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
if (piObj)
|
|
54
|
+
{
|
|
55
|
+
piObj->m_tabledefPtr = m_tabledefPtr;
|
|
56
|
+
piObj->m_index = Index;
|
|
57
|
+
IKeyDef* kb;
|
|
58
|
+
piObj->QueryInterface(IID_IKeyDef, (void**)&kb);
|
|
59
|
+
_ASSERTE(kb);
|
|
60
|
+
*Value = piObj;
|
|
61
|
+
}
|
|
62
|
+
else
|
|
63
|
+
*Value = 0;
|
|
62
64
|
return S_OK;
|
|
63
65
|
}
|
|
64
66
|
|
|
@@ -130,17 +132,18 @@ STDMETHODIMP CTableDef::put_TableName(BSTR Value)
|
|
|
130
132
|
|
|
131
133
|
STDMETHODIMP CTableDef::get_Flags(IFlags** Value)
|
|
132
134
|
{
|
|
133
|
-
CComObject<CFlags
|
|
135
|
+
CComObject<CFlags>* piObj;
|
|
134
136
|
CComObject<CFlags>::CreateInstance(&piObj);
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
137
|
+
if (piObj)
|
|
138
|
+
{
|
|
139
|
+
piObj->m_flags = &((*m_tabledefPtr)->flags);
|
|
140
|
+
IFlags* fl;
|
|
141
|
+
piObj->QueryInterface(IID_IFlags, (void**)&fl);
|
|
142
|
+
_ASSERTE(fl);
|
|
143
|
+
*Value = piObj;
|
|
144
|
+
}
|
|
145
|
+
else
|
|
146
|
+
*Value = 0;
|
|
144
147
|
return S_OK;
|
|
145
148
|
}
|
|
146
149
|
|
|
@@ -150,37 +153,37 @@ STDMETHODIMP CTableDef::put_Flags(IFlags* Value)
|
|
|
150
153
|
return S_OK;
|
|
151
154
|
}
|
|
152
155
|
|
|
153
|
-
STDMETHODIMP CTableDef::get_PrimaryKeyNum(
|
|
156
|
+
STDMETHODIMP CTableDef::get_PrimaryKeyNum(unsigned char* Value)
|
|
154
157
|
{
|
|
155
158
|
*Value = (*m_tabledefPtr)->primaryKeyNum;
|
|
156
159
|
return S_OK;
|
|
157
160
|
}
|
|
158
161
|
|
|
159
|
-
STDMETHODIMP CTableDef::put_PrimaryKeyNum(
|
|
162
|
+
STDMETHODIMP CTableDef::put_PrimaryKeyNum(unsigned char Value)
|
|
160
163
|
{
|
|
161
164
|
(*m_tabledefPtr)->primaryKeyNum = Value;
|
|
162
165
|
return S_OK;
|
|
163
166
|
}
|
|
164
167
|
|
|
165
|
-
STDMETHODIMP CTableDef::get_ParentKeyNum(
|
|
168
|
+
STDMETHODIMP CTableDef::get_ParentKeyNum(unsigned char* Value)
|
|
166
169
|
{
|
|
167
170
|
*Value = (*m_tabledefPtr)->parentKeyNum;
|
|
168
171
|
return S_OK;
|
|
169
172
|
}
|
|
170
173
|
|
|
171
|
-
STDMETHODIMP CTableDef::put_ParentKeyNum(
|
|
174
|
+
STDMETHODIMP CTableDef::put_ParentKeyNum(unsigned char Value)
|
|
172
175
|
{
|
|
173
176
|
(*m_tabledefPtr)->parentKeyNum = Value;
|
|
174
177
|
return S_OK;
|
|
175
178
|
}
|
|
176
179
|
|
|
177
|
-
STDMETHODIMP CTableDef::get_ReplicaKeyNum(
|
|
180
|
+
STDMETHODIMP CTableDef::get_ReplicaKeyNum(unsigned char* Value)
|
|
178
181
|
{
|
|
179
182
|
*Value = (*m_tabledefPtr)->replicaKeyNum;
|
|
180
183
|
return S_OK;
|
|
181
184
|
}
|
|
182
185
|
|
|
183
|
-
STDMETHODIMP CTableDef::put_ReplicaKeyNum(
|
|
186
|
+
STDMETHODIMP CTableDef::put_ReplicaKeyNum(unsigned char Value)
|
|
184
187
|
{
|
|
185
188
|
(*m_tabledefPtr)->replicaKeyNum = Value;
|
|
186
189
|
return S_OK;
|
|
@@ -188,17 +191,18 @@ STDMETHODIMP CTableDef::put_ReplicaKeyNum( unsigned char Value)
|
|
|
188
191
|
|
|
189
192
|
STDMETHODIMP CTableDef::get_OptionFlags(IFlags** Value)
|
|
190
193
|
{
|
|
191
|
-
CComObject<CFlags
|
|
194
|
+
CComObject<CFlags>* piObj;
|
|
192
195
|
CComObject<CFlags>::CreateInstance(&piObj);
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
196
|
+
if (piObj)
|
|
197
|
+
{
|
|
198
|
+
piObj->m_flags = &((*m_tabledefPtr)->optionFlags);
|
|
199
|
+
IFlags* fl;
|
|
200
|
+
piObj->QueryInterface(IID_IFlags, (void**)&fl);
|
|
201
|
+
_ASSERTE(fl);
|
|
202
|
+
*Value = piObj;
|
|
203
|
+
}
|
|
204
|
+
else
|
|
205
|
+
*Value = 0;
|
|
202
206
|
|
|
203
207
|
return S_OK;
|
|
204
208
|
}
|
|
@@ -247,45 +251,42 @@ STDMETHODIMP CTableDef::put_Charsetindex(eCharset Value)
|
|
|
247
251
|
|
|
248
252
|
STDMETHODIMP CTableDef::get_FixedRecordLen(unsigned short* Value)
|
|
249
253
|
{
|
|
250
|
-
|
|
254
|
+
*Value = (*m_tabledefPtr)->fixedRecordLen;
|
|
251
255
|
return S_OK;
|
|
252
256
|
}
|
|
253
257
|
|
|
254
258
|
STDMETHODIMP CTableDef::put_FixedRecordLen(unsigned short Value)
|
|
255
259
|
{
|
|
256
|
-
|
|
260
|
+
(*m_tabledefPtr)->fixedRecordLen = Value;
|
|
257
261
|
return S_OK;
|
|
258
262
|
}
|
|
259
263
|
|
|
260
264
|
STDMETHODIMP CTableDef::get_MaxRecordLen(unsigned short* Value)
|
|
261
265
|
{
|
|
262
|
-
|
|
266
|
+
*Value = (*m_tabledefPtr)->maxRecordLen;
|
|
263
267
|
return S_OK;
|
|
264
268
|
}
|
|
265
269
|
|
|
266
270
|
STDMETHODIMP CTableDef::put_MaxRecordLen(unsigned short Value)
|
|
267
271
|
{
|
|
268
|
-
|
|
272
|
+
(*m_tabledefPtr)->maxRecordLen = Value;
|
|
269
273
|
return S_OK;
|
|
270
274
|
}
|
|
271
275
|
|
|
272
276
|
STDMETHODIMP CTableDef::get_SchemaCodePage(unsigned int* Value)
|
|
273
277
|
{
|
|
274
|
-
|
|
278
|
+
*Value = (*m_tabledefPtr)->schemaCodePage;
|
|
275
279
|
return S_OK;
|
|
276
280
|
}
|
|
277
281
|
|
|
278
282
|
STDMETHODIMP CTableDef::put_SchemaCodePage(unsigned int Value)
|
|
279
283
|
{
|
|
280
|
-
|
|
284
|
+
(*m_tabledefPtr)->schemaCodePage = Value;
|
|
281
285
|
return S_OK;
|
|
282
286
|
}
|
|
283
287
|
|
|
284
288
|
STDMETHODIMP CTableDef::get_Version(unsigned short* Value)
|
|
285
289
|
{
|
|
286
|
-
|
|
287
|
-
|
|
290
|
+
*Value = (*m_tabledefPtr)->version;
|
|
291
|
+
return S_OK;
|
|
288
292
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
@@ -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,29 +24,28 @@
|
|
|
24
24
|
#include <bzs/db/protocol/tdap/client/dbDef.h>
|
|
25
25
|
using namespace ATL;
|
|
26
26
|
|
|
27
|
-
class ATL_NO_VTABLE CTableDef
|
|
28
|
-
public
|
|
29
|
-
|
|
27
|
+
class ATL_NO_VTABLE CTableDef
|
|
28
|
+
: public CComObjectRootEx<CComSingleThreadModel>,
|
|
29
|
+
public CComCoClass<CTableDef, &CLSID_TableDef>,
|
|
30
|
+
public IDispatchImpl<ITableDef, &IID_ITableDef, &LIBID_transactd,
|
|
31
|
+
/* wMajor = */ 1, /* wMinor = */ 0>
|
|
30
32
|
{
|
|
31
33
|
public:
|
|
32
|
-
CTableDef(): m_tabledefPtr(NULL) {}
|
|
34
|
+
CTableDef() : m_tabledefPtr(NULL) {}
|
|
33
35
|
bzs::db::protocol::tdap::tabledef** m_tabledefPtr;
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
END_COM_MAP()
|
|
37
|
+
BEGIN_COM_MAP(CTableDef)
|
|
38
|
+
COM_INTERFACE_ENTRY(ITableDef)
|
|
39
|
+
COM_INTERFACE_ENTRY(IDispatch)
|
|
40
|
+
END_COM_MAP()
|
|
40
41
|
|
|
41
42
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
42
43
|
|
|
43
|
-
HRESULT FinalConstruct() {return S_OK;}
|
|
44
|
+
HRESULT FinalConstruct() { return S_OK; }
|
|
44
45
|
|
|
45
46
|
void FinalRelease() {}
|
|
46
47
|
|
|
47
48
|
public:
|
|
48
|
-
|
|
49
|
-
|
|
50
49
|
STDMETHOD(get_FieldDef)(short Index, IFieldDef** Value);
|
|
51
50
|
STDMETHOD(get_KeyDef)(short Index, IKeyDef** Value);
|
|
52
51
|
STDMETHOD(get_FieldCount)(short* Value);
|
|
@@ -56,8 +55,8 @@ public:
|
|
|
56
55
|
STDMETHOD(get_FileName)(BSTR* Value);
|
|
57
56
|
STDMETHOD(get_TableName)(BSTR* Value);
|
|
58
57
|
STDMETHOD(get_Flags)(IFlags** Value);
|
|
59
|
-
STDMETHOD(get_ParentKeyNum)(
|
|
60
|
-
STDMETHOD(get_ReplicaKeyNum)(
|
|
58
|
+
STDMETHOD(get_ParentKeyNum)(unsigned char* Value);
|
|
59
|
+
STDMETHOD(get_ReplicaKeyNum)(unsigned char* Value);
|
|
61
60
|
STDMETHOD(get_OptionFlags)(IFlags** Value);
|
|
62
61
|
STDMETHOD(get_IconIndex)(unsigned char* Value);
|
|
63
62
|
STDMETHOD(get_Id)(short* Value);
|
|
@@ -67,20 +66,19 @@ public:
|
|
|
67
66
|
STDMETHOD(put_Id)(short Value);
|
|
68
67
|
STDMETHOD(put_OptionFlags)(IFlags* Value);
|
|
69
68
|
STDMETHOD(put_PageSize)(short Value);
|
|
70
|
-
STDMETHOD(put_ParentKeyNum)(
|
|
69
|
+
STDMETHOD(put_ParentKeyNum)(unsigned char Value);
|
|
71
70
|
STDMETHOD(put_PreAlloc)(short Value);
|
|
72
|
-
STDMETHOD(put_ReplicaKeyNum)(
|
|
71
|
+
STDMETHOD(put_ReplicaKeyNum)(unsigned char Value);
|
|
73
72
|
STDMETHOD(put_TableName)(BSTR Value);
|
|
74
73
|
STDMETHOD(get_Charsetindex)(eCharset* Value);
|
|
75
74
|
STDMETHOD(put_Charsetindex)(eCharset Value);
|
|
76
|
-
STDMETHOD(get_PrimaryKeyNum)(
|
|
77
|
-
STDMETHOD(put_PrimaryKeyNum)(
|
|
75
|
+
STDMETHOD(get_PrimaryKeyNum)(unsigned char* Value);
|
|
76
|
+
STDMETHOD(put_PrimaryKeyNum)(unsigned char Value);
|
|
78
77
|
STDMETHOD(get_FixedRecordLen)(unsigned short* Value);
|
|
79
78
|
STDMETHOD(put_FixedRecordLen)(unsigned short Value);
|
|
80
79
|
STDMETHOD(get_MaxRecordLen)(unsigned short* Value);
|
|
81
80
|
STDMETHOD(put_MaxRecordLen)(unsigned short Value);
|
|
82
81
|
STDMETHOD(get_SchemaCodePage)(unsigned int* Value);
|
|
83
82
|
STDMETHOD(put_SchemaCodePage)(unsigned int Value);
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
STDMETHOD(get_Version)(unsigned short* Value);
|
|
86
84
|
};
|
|
@@ -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"
|
|
@@ -67,7 +67,7 @@ STDMETHODIMP CTdVersion::ModuleTypeString(BSTR* Value)
|
|
|
67
67
|
STDMETHODIMP CTdVersion::ModuleVersionShortString(BSTR* Value)
|
|
68
68
|
{
|
|
69
69
|
|
|
70
|
-
wchar_t tmp[512] ={NULL};
|
|
70
|
+
wchar_t tmp[512] = { NULL };
|
|
71
71
|
m_ver.moduleVersionShortString(tmp);
|
|
72
72
|
*Value = ::SysAllocString(tmp);
|
|
73
73
|
return S_OK;
|
|
@@ -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"
|
|
@@ -23,24 +23,29 @@
|
|
|
23
23
|
|
|
24
24
|
using namespace ATL;
|
|
25
25
|
|
|
26
|
-
class ATL_NO_VTABLE CTdVersion
|
|
27
|
-
public
|
|
28
|
-
|
|
26
|
+
class ATL_NO_VTABLE CTdVersion
|
|
27
|
+
: public CComObjectRootEx<CComSingleThreadModel>,
|
|
28
|
+
public CComCoClass<CTdVersion, &CLSID_TdVersion>,
|
|
29
|
+
public IDispatchImpl<ITdVersion, &IID_ITdVersion, &LIBID_transactd,
|
|
30
|
+
/* wMajor = */ 1, /* wMinor = */ 0>
|
|
29
31
|
{
|
|
30
32
|
|
|
31
33
|
public:
|
|
32
|
-
CTdVersion() {memset(&m_ver, 0, sizeof(m_ver));}
|
|
34
|
+
CTdVersion() { memset(&m_ver, 0, sizeof(m_ver)); }
|
|
33
35
|
bzs::db::protocol::tdap::btrVersion m_ver;
|
|
34
|
-
BEGIN_COM_MAP(CTdVersion) COM_INTERFACE_ENTRY(ITdVersion)
|
|
36
|
+
BEGIN_COM_MAP(CTdVersion) COM_INTERFACE_ENTRY(ITdVersion)
|
|
37
|
+
COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP()
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
HRESULT FinalConstruct()
|
|
42
|
+
{
|
|
43
|
+
return S_OK;
|
|
44
|
+
}
|
|
39
45
|
|
|
40
46
|
void FinalRelease() {}
|
|
41
47
|
|
|
42
48
|
public:
|
|
43
|
-
|
|
44
49
|
STDMETHOD(get_MajorVersion)(short* Value);
|
|
45
50
|
STDMETHOD(put_MajorVersion)(short Value);
|
|
46
51
|
STDMETHOD(get_MinorVersion)(short* Value);
|
|
@@ -50,5 +55,4 @@ public:
|
|
|
50
55
|
|
|
51
56
|
STDMETHOD(ModuleTypeString)(BSTR* Value);
|
|
52
57
|
STDMETHOD(ModuleVersionShortString)(BSTR* Value);
|
|
53
|
-
|
|
54
58
|
};
|
|
@@ -13,101 +13,108 @@
|
|
|
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
|
|
|
21
|
-
template<class T>
|
|
22
|
-
class CProxy_IDatabaseEvents
|
|
23
|
-
|
|
21
|
+
template <class T>
|
|
22
|
+
class CProxy_IDatabaseEvents
|
|
23
|
+
: public ATL::IConnectionPointImpl<T, &__uuidof(_IDatabaseEvents)>
|
|
24
24
|
{
|
|
25
25
|
public:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
26
|
+
HRESULT Fire_OnCopyData(IDatabase* db, int recordCount, int count,
|
|
27
|
+
VARIANT_BOOL* cancel)
|
|
28
|
+
{
|
|
29
|
+
HRESULT hr = S_OK;
|
|
30
|
+
T* pThis = static_cast<T*>(this);
|
|
31
|
+
int cConnections = m_vec.GetSize();
|
|
32
|
+
|
|
33
|
+
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
34
|
+
{
|
|
35
|
+
pThis->Lock();
|
|
36
|
+
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
37
|
+
pThis->Unlock();
|
|
38
|
+
|
|
39
|
+
IDispatch* pConnection = static_cast<IDispatch*>(punkConnection.p);
|
|
40
|
+
|
|
41
|
+
if (pConnection)
|
|
42
|
+
{
|
|
43
|
+
CComVariant avarParams[4];
|
|
44
|
+
avarParams[3] = db;
|
|
45
|
+
avarParams[2] = recordCount;
|
|
46
|
+
avarParams[1] = count;
|
|
47
|
+
avarParams[0].byref = cancel;
|
|
48
|
+
avarParams[0].vt = VT_BOOL | VT_BYREF;
|
|
49
|
+
CComVariant varResult;
|
|
50
|
+
|
|
51
|
+
DISPPARAMS params = { avarParams, NULL, 4, 0 };
|
|
52
|
+
hr = pConnection->Invoke(1, IID_NULL, LOCALE_USER_DEFAULT,
|
|
53
|
+
DISPATCH_METHOD, ¶ms, &varResult,
|
|
54
|
+
NULL, NULL);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return hr;
|
|
58
|
+
}
|
|
59
|
+
HRESULT Fire_OnDeleteRecord(IDatabase* db, ITable* tb, VARIANT_BOOL* Value)
|
|
60
|
+
{
|
|
61
|
+
HRESULT hr = S_OK;
|
|
62
|
+
T* pThis = static_cast<T*>(this);
|
|
63
|
+
int cConnections = m_vec.GetSize();
|
|
64
|
+
|
|
65
|
+
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
66
|
+
{
|
|
67
|
+
pThis->Lock();
|
|
68
|
+
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
69
|
+
pThis->Unlock();
|
|
70
|
+
|
|
71
|
+
IDispatch* pConnection = static_cast<IDispatch*>(punkConnection.p);
|
|
72
|
+
|
|
73
|
+
if (pConnection)
|
|
74
|
+
{
|
|
75
|
+
CComVariant avarParams[3];
|
|
76
|
+
avarParams[2] = db;
|
|
77
|
+
avarParams[1] = tb;
|
|
78
|
+
avarParams[0].byref = Value;
|
|
79
|
+
avarParams[0].vt = VT_BOOL | VT_BYREF;
|
|
80
|
+
CComVariant varResult;
|
|
81
|
+
|
|
82
|
+
DISPPARAMS params = { avarParams, NULL, 3, 0 };
|
|
83
|
+
hr = pConnection->Invoke(2, IID_NULL, LOCALE_USER_DEFAULT,
|
|
84
|
+
DISPATCH_METHOD, ¶ms, &varResult,
|
|
85
|
+
NULL, NULL);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return hr;
|
|
89
|
+
}
|
|
90
|
+
HRESULT Fire_OnSchemaMgrFn(IDatabase* db, short* Value)
|
|
91
|
+
{
|
|
92
|
+
HRESULT hr = S_OK;
|
|
93
|
+
T* pThis = static_cast<T*>(this);
|
|
94
|
+
int cConnections = m_vec.GetSize();
|
|
95
|
+
|
|
96
|
+
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
97
|
+
{
|
|
98
|
+
pThis->Lock();
|
|
99
|
+
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
100
|
+
pThis->Unlock();
|
|
101
|
+
|
|
102
|
+
IDispatch* pConnection = static_cast<IDispatch*>(punkConnection.p);
|
|
103
|
+
|
|
104
|
+
if (pConnection)
|
|
105
|
+
{
|
|
106
|
+
CComVariant avarParams[2];
|
|
107
|
+
avarParams[1] = db;
|
|
108
|
+
avarParams[0].byref = Value;
|
|
109
|
+
avarParams[0].vt = VT_I2 | VT_BYREF;
|
|
110
|
+
CComVariant varResult;
|
|
111
|
+
|
|
112
|
+
DISPPARAMS params = { avarParams, NULL, 2, 0 };
|
|
113
|
+
hr = pConnection->Invoke(3, IID_NULL, LOCALE_USER_DEFAULT,
|
|
114
|
+
DISPATCH_METHOD, ¶ms, &varResult,
|
|
115
|
+
NULL, NULL);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return hr;
|
|
119
|
+
}
|
|
113
120
|
};
|