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 <bzs/netsvc/server/serverCpt.h>
|
|
@@ -24,23 +24,24 @@
|
|
|
24
24
|
#include <iostream>
|
|
25
25
|
#include <string>
|
|
26
26
|
|
|
27
|
-
#pragma warning(disable:4800)
|
|
27
|
+
#pragma warning(disable : 4800)
|
|
28
|
+
#undef PACKAGE
|
|
28
29
|
#include <bzs/db/engine/mysql/mysqlInternal.h>
|
|
29
|
-
#pragma warning(default:4800)
|
|
30
|
+
#pragma warning(default : 4800)
|
|
30
31
|
|
|
31
32
|
#include <bzs/db/engine/mysql/mysqlThd.h>
|
|
32
33
|
#include "appBuilderImple.h"
|
|
33
34
|
|
|
34
35
|
/** tcp server type
|
|
35
36
|
*/
|
|
36
|
-
#define TCP_CPT_SERVER
|
|
37
|
-
#define TCP_TPOOL_SERVER
|
|
37
|
+
#define TCP_CPT_SERVER 1
|
|
38
|
+
#define TCP_TPOOL_SERVER 2
|
|
38
39
|
|
|
39
40
|
using namespace bzs::netsvc::server;
|
|
40
41
|
|
|
41
42
|
/** system valiables
|
|
42
43
|
*/
|
|
43
|
-
static char* g_listenAddress=NULL;
|
|
44
|
+
static char* g_listenAddress = NULL;
|
|
44
45
|
static char* g_listenPort = NULL;
|
|
45
46
|
static char* g_hostCheckUserName = NULL;
|
|
46
47
|
|
|
@@ -48,250 +49,264 @@ static unsigned int g_tcpServerType = TCP_CPT_SERVER;
|
|
|
48
49
|
|
|
49
50
|
static unsigned int g_maxTcpConnections = 200;
|
|
50
51
|
static unsigned int g_pool_threads = 20;
|
|
51
|
-
|
|
52
|
-
int g_tableNmaeLower = 1; //defined in btrvProtocol.h
|
|
53
|
-
int g_useBtrvVariableTable = 1;
|
|
52
|
+
unsigned int g_pipeCommSharememSize = 3145728;
|
|
53
|
+
int g_tableNmaeLower = 1; // defined in btrvProtocol.h
|
|
54
54
|
unsigned int g_lock_wait_timeout = 1;
|
|
55
55
|
char* g_transaction_isolation = NULL;
|
|
56
56
|
|
|
57
|
-
/** tcp server
|
|
57
|
+
/** tcp server
|
|
58
58
|
*/
|
|
59
59
|
boost::shared_ptr<iserver> srv;
|
|
60
60
|
|
|
61
61
|
/** pipe server
|
|
62
62
|
*/
|
|
63
63
|
#ifdef WIN32
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
#define PIPE_SERVER
|
|
65
|
+
#include <bzs/netsvc/server/serverpipe.h>
|
|
66
|
+
static unsigned int g_maxPipeConnections = 50;
|
|
67
|
+
static int g_usePipedLocal = 1;
|
|
68
|
+
#define PIPE_NAME "Transactd" // this name is fixed.
|
|
69
|
+
boost::shared_ptr<iserver> srv_p;
|
|
70
70
|
#endif
|
|
71
71
|
|
|
72
72
|
#ifdef USE_HANDLERSOCKET
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
static char* g_hs_listenPort = NULL;
|
|
74
|
+
static int g_use_hs = 0;
|
|
75
75
|
#endif
|
|
76
76
|
|
|
77
77
|
class serveErrorHandler : public inotifyHandler
|
|
78
78
|
{
|
|
79
79
|
public:
|
|
80
|
+
void printError(const char* msg)
|
|
81
|
+
{
|
|
82
|
+
sql_print_error("%s%s", "Transactd: ", msg);
|
|
83
|
+
}
|
|
80
84
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
void printInfo(const char* msg)
|
|
87
|
-
{
|
|
88
|
-
sql_print_information("%s%s","Transactd: ", msg);
|
|
89
|
-
}
|
|
85
|
+
void printInfo(const char* msg)
|
|
86
|
+
{
|
|
87
|
+
sql_print_information("%s%s", "Transactd: ", msg);
|
|
88
|
+
}
|
|
90
89
|
};
|
|
91
90
|
|
|
92
91
|
serveErrorHandler srvErh;
|
|
93
92
|
|
|
94
93
|
/** entry point for plugin
|
|
95
94
|
*/
|
|
96
|
-
static int transactd_plugin_init(void
|
|
95
|
+
static int transactd_plugin_init(void* p)
|
|
97
96
|
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
97
|
+
try
|
|
98
|
+
{
|
|
99
|
+
if (g_tcpServerType == TCP_CPT_SERVER)
|
|
100
|
+
{
|
|
101
|
+
boost::shared_ptr<IAppModuleBuilder> app(new transctionalIF(
|
|
102
|
+
PROTOCOL_TYPE_BTRV | PROTOCOL_TYPE_MEMBUFFER));
|
|
103
|
+
cpt::server* p =
|
|
104
|
+
new cpt::server(g_maxTcpConnections, g_hostCheckUserName);
|
|
105
|
+
p->addApplication(app, g_listenAddress, g_listenPort);
|
|
106
|
+
#ifdef USE_HANDLERSOCKET
|
|
107
|
+
if (g_use_hs)
|
|
108
|
+
{
|
|
109
|
+
boost::shared_ptr<IAppModuleBuilder> app_hs(
|
|
110
|
+
new transctionalIF(PROTOCOL_TYPE_HS));
|
|
111
|
+
p->addApplication(app_hs, g_listenAddress, g_hs_listenPort);
|
|
112
|
+
}
|
|
113
|
+
#endif
|
|
114
|
+
srv.reset(p);
|
|
115
|
+
}
|
|
116
|
+
else if (g_tcpServerType == TCP_TPOOL_SERVER)
|
|
117
|
+
{
|
|
118
|
+
boost::shared_ptr<IAppModuleBuilder> app(new transctionalIF(
|
|
119
|
+
PROTOCOL_TYPE_BTRV | PROTOCOL_TYPE_MEMBUFFER));
|
|
120
|
+
tpool::server* p =
|
|
121
|
+
new tpool::server(g_pool_threads, g_hostCheckUserName);
|
|
122
|
+
p->addApplication(app, g_listenAddress, g_listenPort);
|
|
123
|
+
#ifdef USE_HANDLERSOCKET
|
|
124
|
+
if (g_use_hs)
|
|
125
|
+
{
|
|
126
|
+
boost::shared_ptr<IAppModuleBuilder> app_hs(new transctionalIF(
|
|
127
|
+
PROTOCOL_TYPE_HS | PROTOCOL_TYPE_MEMBUFFER));
|
|
128
|
+
p->addApplication(app_hs, g_listenAddress, g_hs_listenPort);
|
|
129
|
+
}
|
|
130
|
+
#endif
|
|
131
|
+
srv.reset(p);
|
|
132
|
+
}
|
|
133
|
+
if (srv)
|
|
134
|
+
{
|
|
135
|
+
srv->registerErrorHandler(&srvErh);
|
|
136
|
+
srv->start();
|
|
137
|
+
}
|
|
138
|
+
#ifdef PIPE_SERVER
|
|
139
|
+
if (g_usePipedLocal)
|
|
140
|
+
{
|
|
141
|
+
boost::shared_ptr<IAppModuleBuilder> app(new transctionalIF(
|
|
142
|
+
PROTOCOL_TYPE_BTRV | PROTOCOL_TYPE_MEMBUFFER));
|
|
143
|
+
srv_p.reset(new pipe::server(app, PIPE_NAME, g_maxPipeConnections,
|
|
144
|
+
g_pipeCommSharememSize,
|
|
145
|
+
g_hostCheckUserName));
|
|
146
|
+
srv_p->registerErrorHandler(&srvErh);
|
|
147
|
+
srv_p->start();
|
|
148
|
+
}
|
|
149
|
+
#endif
|
|
150
|
+
DEBUG_PROFILE_INIT()
|
|
151
|
+
return 0;
|
|
152
|
+
}
|
|
153
|
+
catch (boost::system::system_error& e)
|
|
154
|
+
{
|
|
155
|
+
char buf[1024];
|
|
156
|
+
sprintf_s(buf, 1024, "Transactd error at startup. :%s", e.what());
|
|
157
|
+
sql_print_error("%s", buf);
|
|
158
|
+
return 1;
|
|
159
|
+
}
|
|
160
|
+
catch (bzs::rtl::exception& e)
|
|
161
|
+
{
|
|
162
|
+
if (const std::string* msg = getMsg(e))
|
|
163
|
+
{
|
|
164
|
+
std::string s = "Transactd error at startup. :" + *msg;
|
|
165
|
+
sql_print_error("%s", s.c_str());
|
|
166
|
+
}
|
|
167
|
+
else
|
|
168
|
+
sql_print_error("%s", boost::diagnostic_information(e).c_str());
|
|
169
|
+
return 1;
|
|
170
|
+
}
|
|
171
|
+
catch (...)
|
|
172
|
+
{
|
|
173
|
+
sql_print_error("%s", "Transactd unknown error at startup.");
|
|
174
|
+
}
|
|
175
|
+
return 1;
|
|
166
176
|
}
|
|
167
177
|
|
|
168
178
|
void shutdownSrv(boost::shared_ptr<iserver>& srv)
|
|
169
179
|
{
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
180
|
+
try
|
|
181
|
+
{
|
|
182
|
+
if (srv)
|
|
183
|
+
{
|
|
184
|
+
srv->stop();
|
|
185
|
+
srv.reset();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch (boost::system::system_error& e)
|
|
189
|
+
{
|
|
190
|
+
sql_print_error("Transactd %s", e.what());
|
|
191
|
+
}
|
|
192
|
+
catch (bzs::rtl::exception& e)
|
|
193
|
+
{
|
|
194
|
+
if (const std::string* msg = getMsg(e))
|
|
195
|
+
{
|
|
196
|
+
std::string s = "Transactd. :" + *msg;
|
|
197
|
+
sql_print_error("%s", s.c_str());
|
|
198
|
+
}
|
|
199
|
+
else
|
|
200
|
+
sql_print_error("%s", boost::diagnostic_information(e).c_str());
|
|
201
|
+
}
|
|
202
|
+
catch (...)
|
|
203
|
+
{
|
|
204
|
+
sql_print_error("%s", "Transactd Unknown");
|
|
205
|
+
}
|
|
195
206
|
}
|
|
196
207
|
|
|
197
208
|
/** called from mysql at shutdown plugin.
|
|
198
209
|
*/
|
|
199
|
-
static int transactd_plugin_deinit(void
|
|
210
|
+
static int transactd_plugin_deinit(void* p)
|
|
200
211
|
{
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
212
|
+
#ifdef PIPE_SERVER
|
|
213
|
+
shutdownSrv(srv_p);
|
|
214
|
+
#endif
|
|
215
|
+
shutdownSrv(srv);
|
|
216
|
+
return 0;
|
|
206
217
|
}
|
|
207
218
|
|
|
208
|
-
static struct st_mysql_daemon transactd_info =
|
|
209
|
-
|
|
210
|
-
MYSQL_DAEMON_INTERFACE_VERSION
|
|
219
|
+
static struct st_mysql_daemon transactd_info = {
|
|
220
|
+
MYSQL_DAEMON_INTERFACE_VERSION
|
|
211
221
|
};
|
|
212
222
|
|
|
213
223
|
/** system valiable define
|
|
214
224
|
*/
|
|
215
|
-
static MYSQL_SYSVAR_STR(address, g_listenAddress,
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
static
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
static
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
static
|
|
225
|
+
static MYSQL_SYSVAR_STR(address, g_listenAddress,
|
|
226
|
+
PLUGIN_VAR_READONLY | PLUGIN_VAR_MEMALLOC,
|
|
227
|
+
"0::0|0.0.0.0", NULL, NULL, "0.0.0.0");
|
|
228
|
+
static MYSQL_SYSVAR_STR(port, g_listenPort,
|
|
229
|
+
PLUGIN_VAR_READONLY | PLUGIN_VAR_MEMALLOC, NULL, NULL,
|
|
230
|
+
NULL, "8610");
|
|
231
|
+
static MYSQL_SYSVAR_STR(hostcheck_username, g_hostCheckUserName,
|
|
232
|
+
PLUGIN_VAR_READONLY | PLUGIN_VAR_MEMALLOC, NULL, NULL,
|
|
233
|
+
NULL, "root");
|
|
234
|
+
static MYSQL_SYSVAR_UINT(max_tcp_connections, g_maxTcpConnections,
|
|
235
|
+
PLUGIN_VAR_READONLY, "1..3000", 0, 0, 200, 1, 3000, 0);
|
|
236
|
+
static MYSQL_SYSVAR_INT(table_name_lowercase, g_tableNmaeLower,
|
|
237
|
+
PLUGIN_VAR_READONLY, "", 0, 0, 1, 0, 1, 0);
|
|
238
|
+
static MYSQL_SYSVAR_UINT(pool_threads, g_pool_threads, PLUGIN_VAR_READONLY,
|
|
239
|
+
"1..1000", 0, 0, 20, 1, 1000, 0);
|
|
240
|
+
static MYSQL_SYSVAR_UINT(tcp_server_type, g_tcpServerType, PLUGIN_VAR_READONLY,
|
|
241
|
+
"1..2", 0, 0, TCP_CPT_SERVER, 1, 2, 0);
|
|
242
|
+
static MYSQL_SYSVAR_UINT(lock_wait_timeout, g_lock_wait_timeout,
|
|
243
|
+
PLUGIN_VAR_READONLY, "1..3600", 0, 0, 1, 1, 3600, 0);
|
|
244
|
+
static MYSQL_SYSVAR_STR(transaction_isolation, g_transaction_isolation,
|
|
245
|
+
PLUGIN_VAR_READONLY | PLUGIN_VAR_MEMALLOC, NULL, NULL,
|
|
246
|
+
NULL, "READ-COMMITTED");
|
|
225
247
|
|
|
226
248
|
#ifdef PIPE_SERVER
|
|
227
|
-
static MYSQL_SYSVAR_UINT(pipe_comm_sharemem_size, g_pipeCommSharememSize,
|
|
228
|
-
|
|
229
|
-
|
|
249
|
+
static MYSQL_SYSVAR_UINT(pipe_comm_sharemem_size, g_pipeCommSharememSize,
|
|
250
|
+
PLUGIN_VAR_READONLY, "66000..52428800", 0, 0, 3145728,
|
|
251
|
+
66000, 52428800, 0);
|
|
252
|
+
static MYSQL_SYSVAR_UINT(max_pipe_connections, g_maxPipeConnections,
|
|
253
|
+
PLUGIN_VAR_READONLY, "1..100", 0, 0, 50, 1, 100, 0);
|
|
254
|
+
static MYSQL_SYSVAR_INT(use_piped_local, g_usePipedLocal, PLUGIN_VAR_READONLY,
|
|
255
|
+
"", 0, 0, 1, 0, 1, 0);
|
|
230
256
|
#endif
|
|
231
257
|
|
|
232
258
|
#ifdef USE_HANDLERSOCKET
|
|
233
|
-
static MYSQL_SYSVAR_STR(hs_port, g_hs_listenPort,
|
|
234
|
-
|
|
259
|
+
static MYSQL_SYSVAR_STR(hs_port, g_hs_listenPort,
|
|
260
|
+
PLUGIN_VAR_READONLY | PLUGIN_VAR_MEMALLOC, NULL, NULL,
|
|
261
|
+
NULL, "9999");
|
|
262
|
+
static MYSQL_SYSVAR_INT(use_handlersocket, g_use_hs, PLUGIN_VAR_READONLY, "", 0,
|
|
263
|
+
0, 0, 0, 1, 0);
|
|
235
264
|
#endif
|
|
236
265
|
|
|
237
266
|
/** system valiables struct.
|
|
238
267
|
*/
|
|
239
|
-
static struct st_mysql_sys_var
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
MYSQL_SYSVAR(table_name_lowercase),
|
|
246
|
-
MYSQL_SYSVAR(use_btrv_variable_table),
|
|
247
|
-
MYSQL_SYSVAR(pool_threads),
|
|
248
|
-
MYSQL_SYSVAR(tcp_server_type),
|
|
249
|
-
MYSQL_SYSVAR(lock_wait_timeout),
|
|
250
|
-
MYSQL_SYSVAR(transaction_isolation),
|
|
268
|
+
static struct st_mysql_sys_var* g_systemVariables[] = {
|
|
269
|
+
MYSQL_SYSVAR(address), MYSQL_SYSVAR(port),
|
|
270
|
+
MYSQL_SYSVAR(max_tcp_connections), MYSQL_SYSVAR(hostcheck_username),
|
|
271
|
+
MYSQL_SYSVAR(table_name_lowercase), MYSQL_SYSVAR(pool_threads),
|
|
272
|
+
MYSQL_SYSVAR(tcp_server_type), MYSQL_SYSVAR(lock_wait_timeout),
|
|
273
|
+
MYSQL_SYSVAR(transaction_isolation),
|
|
251
274
|
#ifdef PIPE_SERVER
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
MYSQL_SYSVAR(use_piped_local),
|
|
275
|
+
MYSQL_SYSVAR(pipe_comm_sharemem_size), MYSQL_SYSVAR(max_pipe_connections),
|
|
276
|
+
MYSQL_SYSVAR(use_piped_local),
|
|
255
277
|
#endif
|
|
256
278
|
#ifdef USE_HANDLERSOCKET
|
|
257
|
-
|
|
258
|
-
MYSQL_SYSVAR(hs_port),
|
|
279
|
+
MYSQL_SYSVAR(use_handlersocket), MYSQL_SYSVAR(hs_port),
|
|
259
280
|
#endif
|
|
260
|
-
|
|
281
|
+
0
|
|
261
282
|
};
|
|
262
283
|
|
|
263
284
|
/** show valiables struct.
|
|
264
285
|
*/
|
|
265
|
-
static st_mysql_show_var g_showVariables[] =
|
|
266
|
-
{
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
286
|
+
static st_mysql_show_var g_showVariables[] = {
|
|
287
|
+
{ "trnsctd_tcp_connections", (char*)&cpt::g_connections, SHOW_INT },
|
|
288
|
+
{ "trnsctd_tcp_wait_threads", (char*)&cpt::g_waitThread, SHOW_INT },
|
|
289
|
+
{ "trnsctd_tpool_connections", (char*)&tpool::g_connections, SHOW_INT },
|
|
290
|
+
{ "trnsctd_tpool_threads", (char*)&tpool::server::m_threadPoolSize,
|
|
291
|
+
SHOW_INT },
|
|
271
292
|
#ifdef PIPE_SERVER
|
|
272
|
-
|
|
273
|
-
|
|
293
|
+
{ "trnsctd_pipe_connections", (char*)&pipe::g_connections, SHOW_INT },
|
|
294
|
+
{ "trnsctd_pipe_wait_threads", (char*)&pipe::g_waitThread, SHOW_INT },
|
|
274
295
|
#endif
|
|
275
|
-
|
|
276
|
-
|
|
296
|
+
{ "trnsctd_cur_open_databases", (char*)&g_openDatabases, SHOW_INT },
|
|
297
|
+
{ 0, 0, (enum_mysql_show_type)0 }
|
|
277
298
|
};
|
|
278
299
|
|
|
279
300
|
/** plugin struct.
|
|
280
301
|
*/
|
|
281
302
|
mysql_declare_plugin(transactd)
|
|
282
303
|
{
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
transactd_plugin_init,
|
|
290
|
-
transactd_plugin_deinit,
|
|
291
|
-
0x0100,
|
|
292
|
-
g_showVariables,
|
|
293
|
-
g_systemVariables,
|
|
294
|
-
NULL
|
|
304
|
+
MYSQL_DAEMON_PLUGIN, &transactd_info,
|
|
305
|
+
"transactd", // this is plugin name for mysql.
|
|
306
|
+
"Hisashi Yaguchi at BizStation Corp",
|
|
307
|
+
"Transactional access demon for mysql", PLUGIN_LICENSE_GPL,
|
|
308
|
+
transactd_plugin_init, transactd_plugin_deinit, 0x0100, g_showVariables,
|
|
309
|
+
g_systemVariables, NULL
|
|
295
310
|
}
|
|
296
311
|
|
|
297
312
|
mysql_declare_plugin_end;
|
|
@@ -299,41 +314,40 @@ mysql_declare_plugin_end;
|
|
|
299
314
|
#ifdef USETLS
|
|
300
315
|
extern tls_key g_tlsiID;
|
|
301
316
|
|
|
302
|
-
#ifdef __APPLE__
|
|
317
|
+
#ifdef __APPLE__
|
|
303
318
|
|
|
304
|
-
void __attribute__
|
|
305
|
-
void __attribute__
|
|
319
|
+
void __attribute__((constructor)) onLoadLibrary(void);
|
|
320
|
+
void __attribute__((destructor)) onUnloadLibrary(void);
|
|
306
321
|
|
|
307
322
|
void onLoadLibrary(void)
|
|
308
323
|
{
|
|
309
|
-
|
|
324
|
+
pthread_key_create(&g_tlsiID, NULL);
|
|
310
325
|
}
|
|
311
326
|
|
|
312
327
|
void onUnloadLibrary(void)
|
|
313
328
|
{
|
|
314
|
-
|
|
329
|
+
pthread_key_delete(g_tlsiID);
|
|
315
330
|
}
|
|
316
331
|
|
|
317
|
-
#else //WIN32
|
|
332
|
+
#else // WIN32
|
|
318
333
|
|
|
319
|
-
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|
320
|
-
{
|
|
321
|
-
switch (fdwReason)
|
|
334
|
+
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|
335
|
+
{
|
|
336
|
+
switch (fdwReason)
|
|
322
337
|
{
|
|
323
338
|
case DLL_PROCESS_ATTACH:
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
339
|
+
if ((g_tlsiID = TlsAlloc()) == TLS_OUT_OF_INDEXES)
|
|
340
|
+
return FALSE;
|
|
341
|
+
break;
|
|
327
342
|
case DLL_PROCESS_DETACH:
|
|
328
343
|
TlsFree(g_tlsiID);
|
|
329
344
|
break;
|
|
330
345
|
default:
|
|
331
|
-
break;
|
|
332
|
-
}
|
|
333
|
-
return TRUE;
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
return TRUE;
|
|
334
349
|
}
|
|
335
350
|
|
|
336
351
|
#endif //__APPLE__
|
|
337
352
|
|
|
338
|
-
#endif //USETLS
|
|
339
|
-
|
|
353
|
+
#endif // USETLS
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
#ifndef BZS_ENV_BOOST_LINK_BCB_H
|
|
2
|
+
#define BZS_ENV_BOOST_LINK_BCB_H
|
|
3
|
+
/*=================================================================
|
|
4
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
5
|
+
|
|
6
|
+
This program is free software; you can redistribute it and/or
|
|
7
|
+
modify it under the terms of the GNU General Public License
|
|
8
|
+
as published by the Free Software Foundation; either version 2
|
|
9
|
+
of the License, or (at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU General Public License
|
|
17
|
+
along with this program; if not, write to the Free Software
|
|
18
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
19
|
+
02111-1307, USA.
|
|
20
|
+
=================================================================*/
|
|
21
|
+
#ifdef __BCPLUSPLUS__
|
|
22
|
+
#include <bzs/db/protocol/tdap/tdapcapi.h>
|
|
23
|
+
#ifdef _WIN64
|
|
24
|
+
#if (__BCPLUSPLUS__ >= 0x690)
|
|
25
|
+
#define TD_BOOST_VER_STR "1_55"
|
|
26
|
+
#else
|
|
27
|
+
#define TD_BOOST_VER_STR "1_50"
|
|
28
|
+
#endif
|
|
29
|
+
#ifdef _RTLDLL
|
|
30
|
+
#ifdef BZS_LINK_BOOST_SYSTEM
|
|
31
|
+
#pragma comment(lib, "libboost_system-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
32
|
+
#endif
|
|
33
|
+
#ifdef BZS_LINK_BOOST_FILESYSTEM
|
|
34
|
+
#pragma comment(lib, "libboost_filesystem-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
35
|
+
#endif
|
|
36
|
+
#ifdef BZS_LINK_BOOST_SERIALIZATION
|
|
37
|
+
#pragma comment(lib, "libboost_serialization-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
38
|
+
#endif
|
|
39
|
+
#ifdef BZS_LINK_BOOST_CHRONO
|
|
40
|
+
#pragma comment(lib, "libboost_chrono-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
41
|
+
#endif
|
|
42
|
+
#ifdef BZS_LINK_BOOST_TIMER
|
|
43
|
+
#pragma comment(lib, "libboost_timer-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
44
|
+
#endif
|
|
45
|
+
#ifdef BZS_LINK_BOOST_THREAD
|
|
46
|
+
#pragma comment(lib, "libboost_thread-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
47
|
+
#endif
|
|
48
|
+
#ifdef BZS_LINK_BOOST_PROGRAM_OPTIONS
|
|
49
|
+
#pragma comment(lib, "libboost_program_options-bcb64-mt-" TD_BOOST_VER_STR ".a")
|
|
50
|
+
#endif
|
|
51
|
+
#else
|
|
52
|
+
#ifdef BZS_LINK_BOOST_SYSTEM
|
|
53
|
+
#pragma comment(lib, "libboost_system-bcb64-mt-s-" TD_BOOST_VER_STR ".a")
|
|
54
|
+
#endif
|
|
55
|
+
#ifdef BZS_LINK_BOOST_FILESYSTEM
|
|
56
|
+
#pragma comment(lib, "libboost_filesystem-bcb64-mt-s-" TD_BOOST_VER_STR ".a)
|
|
57
|
+
#endif
|
|
58
|
+
#ifdef BZS_LINK_BOOST_SERIALIZATION
|
|
59
|
+
#pragma comment(lib, "libboost_serialization-bcb64-mt-s-" TD_BOOST_VER_STR ".a")
|
|
60
|
+
#endif
|
|
61
|
+
#ifdef BZS_LINK_BOOST_CHRONO
|
|
62
|
+
#pragma comment(lib, "libboost_chrono-bcb64-mt-s-" TD_BOOST_VER_STR ".a")
|
|
63
|
+
#endif
|
|
64
|
+
#ifdef BZS_LINK_BOOST_TIMER
|
|
65
|
+
#pragma comment(lib, "libboost_timer-bcb64-mt-s-" TD_BOOST_VER_STR ".a")
|
|
66
|
+
#endif
|
|
67
|
+
#ifdef BZS_LINK_BOOST_THREAD
|
|
68
|
+
#pragma comment(lib, "libboost_thread-bcb64-mt-s-" TD_BOOST_VER_STR ".a")
|
|
69
|
+
#endif
|
|
70
|
+
#ifdef BZS_LINK_BOOST_PROGRAM_OPTIONS
|
|
71
|
+
#pragma comment(lib, \
|
|
72
|
+
"libboost_program_options-bcb64-mt-s-" TD_BOOST_VER_STR ".a")
|
|
73
|
+
#endif
|
|
74
|
+
#endif
|
|
75
|
+
#else
|
|
76
|
+
#if (defined(__APPLE__))
|
|
77
|
+
#define LIB_EXT "a"
|
|
78
|
+
#define THREADNAME "thread_pthread"
|
|
79
|
+
#else
|
|
80
|
+
#define LIB_EXT "lib"
|
|
81
|
+
#define THREADNAME "thread"
|
|
82
|
+
#endif
|
|
83
|
+
#ifdef _RTLDLL
|
|
84
|
+
#ifdef BZS_LINK_BOOST_SYSTEM
|
|
85
|
+
#pragma comment(lib, "libboost_system-bcb-mt-1_39" LIB_EXTENTION)
|
|
86
|
+
#endif
|
|
87
|
+
#ifdef BZS_LINK_BOOST_FILESYSTEM
|
|
88
|
+
#pragma comment(lib, "libboost_filesystem-bcb-mt-1_39" LIB_EXTENTION)
|
|
89
|
+
#endif
|
|
90
|
+
#ifdef BZS_LINK_BOOST_SERIALIZATION
|
|
91
|
+
#pragma comment(lib, "libboost_serialization-bcb-mt-1_39" LIB_EXTENTION)
|
|
92
|
+
#endif
|
|
93
|
+
#ifdef BZS_LINK_BOOST_CHRONO
|
|
94
|
+
#pragma comment(lib, "libboost_chrono-bcb-mt-1_39" LIB_EXTENTION)
|
|
95
|
+
#endif
|
|
96
|
+
#ifdef BZS_LINK_BOOST_TIMER
|
|
97
|
+
#pragma comment(lib, "libboost_timer-bcb-mt-1_39" LIB_EXTENTION)
|
|
98
|
+
#endif
|
|
99
|
+
#ifdef BZS_LINK_BOOST_THREAD
|
|
100
|
+
#pragma comment(lib, "libboost_" THREADNAME "-bcb-mt-1_39" LIB_EXTENTION)
|
|
101
|
+
#endif
|
|
102
|
+
#ifdef BZS_LINK_BOOST_PROGRAM_OPTIONS
|
|
103
|
+
#pragma comment(lib, "libboost_program_options-bcb-mt-1_39" LIB_EXTENTION)
|
|
104
|
+
#endif
|
|
105
|
+
#else
|
|
106
|
+
#ifdef BZS_LINK_BOOST_SYSTEM
|
|
107
|
+
#pragma comment(lib, "libboost_system-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
108
|
+
#endif
|
|
109
|
+
#ifdef BZS_LINK_BOOST_FILESYSTEM
|
|
110
|
+
#pragma comment(lib, "libboost_filesystem-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
111
|
+
#endif
|
|
112
|
+
#ifdef BZS_LINK_BOOST_SERIALIZATION
|
|
113
|
+
#pragma comment(lib, "libboost_serialization-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
114
|
+
#endif
|
|
115
|
+
#ifdef BZS_LINK_BOOST_CHRONO
|
|
116
|
+
#pragma comment(lib, "libboost_chrono-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
117
|
+
#endif
|
|
118
|
+
#ifdef BZS_LINK_BOOST_TIMER
|
|
119
|
+
#pragma comment(lib, "libboost_timer-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
120
|
+
#endif
|
|
121
|
+
#ifdef BZS_LINK_BOOST_THREAD
|
|
122
|
+
#pragma comment(lib, "libboost_" THREADNAME "-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
123
|
+
#endif
|
|
124
|
+
#ifdef BZS_LINK_BOOST_PROGRAM_OPTIONS
|
|
125
|
+
#pragma comment(lib, "libboost_program_options-bcb-mt-s-1_39" LIB_EXTENTION)
|
|
126
|
+
#endif
|
|
127
|
+
#endif
|
|
128
|
+
#endif
|
|
129
|
+
#endif
|
|
130
|
+
|
|
131
|
+
#endif // BZS_ENV_BOOST_LINK_BCB_H
|