transactd 3.4.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +2 -2
  3. data/bin/common/tdclc_32_3_5.dll +0 -0
  4. data/bin/common/tdclc_64_3_5.dll +0 -0
  5. data/build/common/options.cmake +12 -0
  6. data/build/common/transactd_cl_common.cmake +1 -0
  7. data/build/common/transactd_required.cmake +5 -0
  8. data/build/swig/ruby/tdclrb_wrap.cpp +1029 -130
  9. data/build/swig/tdcl.i +60 -5
  10. data/build/tdclc/CMakeLists.txt +30 -32
  11. data/build/tdclc/libtdclcm.map +1 -1
  12. data/build/tdclc/tdclc.cbproj +1 -1
  13. data/build/tdclc/tdclc.rc +4 -4
  14. data/build/tdclcpp/CMakeLists.txt +39 -48
  15. data/build/tdclcpp/tdclcpp.rc +4 -4
  16. data/build/tdclcpp/tdclcpp_bc.cbproj +4 -1
  17. data/build/tdclrb/CMakeLists.txt +5 -4
  18. data/build/tdclrb/tdclrb.rc +4 -4
  19. data/source/bzs/db/engine/mysql/database.cpp +45 -35
  20. data/source/bzs/db/engine/mysql/database.h +6 -8
  21. data/source/bzs/db/engine/mysql/dbManager.cpp +11 -0
  22. data/source/bzs/db/engine/mysql/dbManager.h +1 -0
  23. data/source/bzs/db/engine/mysql/ha.cpp +174 -0
  24. data/source/bzs/db/engine/mysql/ha.h +50 -0
  25. data/source/bzs/db/engine/mysql/mysqlInternal.h +18 -1
  26. data/source/bzs/db/engine/mysql/mysqlProtocol.cpp +222 -9
  27. data/source/bzs/db/engine/mysql/mysqlProtocol.h +5 -0
  28. data/source/bzs/db/protocol/tdap/client/client.cpp +23 -9
  29. data/source/bzs/db/protocol/tdap/client/client.h +125 -94
  30. data/source/bzs/db/protocol/tdap/client/connMgr.cpp +139 -30
  31. data/source/bzs/db/protocol/tdap/client/connMgr.h +40 -8
  32. data/source/bzs/db/protocol/tdap/client/database.cpp +17 -17
  33. data/source/bzs/db/protocol/tdap/client/database.h +15 -0
  34. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +10 -4
  35. data/source/bzs/db/protocol/tdap/client/haNameResolver.cpp +486 -0
  36. data/source/bzs/db/protocol/tdap/client/haNameResolver.h +74 -0
  37. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +102 -71
  38. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +15 -3
  39. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +2 -5
  40. data/source/bzs/db/protocol/tdap/client/nsTable.h +2 -1
  41. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +2 -2
  42. data/source/bzs/db/protocol/tdap/client/table.cpp +1 -2
  43. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +13 -0
  44. data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -0
  45. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +9 -7
  46. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +2 -2
  47. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +328 -117
  48. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +7 -8
  49. data/source/bzs/db/protocol/tdap/tdapcapi.h +81 -41
  50. data/source/bzs/db/transactd/connManager.cpp +118 -93
  51. data/source/bzs/db/transactd/connManager.h +6 -1
  52. data/source/bzs/db/transactd/connectionRecord.h +27 -7
  53. data/source/bzs/db/transactd/transactd.cpp +24 -13
  54. data/source/bzs/env/crosscompile.h +2 -0
  55. data/source/bzs/netsvc/client/iconnection.h +2 -0
  56. data/source/bzs/netsvc/client/tcpClient.cpp +45 -14
  57. data/source/bzs/netsvc/client/tcpClient.h +21 -4
  58. data/source/bzs/netsvc/server/IAppModule.h +1 -0
  59. data/source/bzs/netsvc/server/serverCpt.cpp +1 -1
  60. data/source/bzs/netsvc/server/serverPipe.cpp +2 -0
  61. data/source/bzs/netsvc/server/serverTpool.cpp +3 -5
  62. data/source/bzs/test/tdclatl/test_v3.js +91 -3
  63. data/source/bzs/test/tdclphp/transactd_v3_Test.php +89 -3
  64. data/source/bzs/test/tdclrb/transactd_v3_spec.rb +69 -2
  65. data/source/bzs/test/trdclengn/testField.h +19 -1
  66. data/source/bzs/test/trdclengn/test_tdclcpp_ha.cpp +388 -0
  67. data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +6 -1
  68. data/source/bzs/test/trdclengn/test_trdclengn.cpp +1 -0
  69. data/source/bzs/test/trdclengn/testbase.h +7 -1
  70. data/source/global/replication/haCommand.cpp +843 -0
  71. data/source/global/replication/haCommand.h +78 -0
  72. data/source/global/replication/haMgr.cpp +321 -0
  73. data/source/global/replication/replCommand.cpp +696 -0
  74. data/source/global/replication/replCommand.h +161 -0
  75. data/source/global/tdclatl/BinlogPos.cpp +10 -0
  76. data/source/global/tdclatl/BinlogPos.h +1 -0
  77. data/source/global/tdclatl/ConnMgr.cpp +89 -2
  78. data/source/global/tdclatl/ConnMgr.h +13 -1
  79. data/source/global/tdclatl/ConnRecord.cpp +8 -2
  80. data/source/global/tdclatl/ConnRecord.h +4 -3
  81. data/source/global/tdclatl/Database.cpp +13 -0
  82. data/source/global/tdclatl/Database.h +2 -0
  83. data/source/global/tdclatl/HaNameREsolver.cpp +54 -0
  84. data/source/global/tdclatl/HaNameREsolver.h +68 -0
  85. data/source/global/tdclatl/resource.h +0 -0
  86. data/source/global/tdclatl/tdclatl.idl +76 -5
  87. metadata +16 -6
  88. data/bin/common/tdclc_32_3_4.dll +0 -0
  89. data/bin/common/tdclc_64_3_4.dll +0 -0
  90. data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +0 -423
  91. data/source/bzs/db/protocol/tdap/mysql/debuglog.h +0 -116
data/build/swig/tdcl.i CHANGED
@@ -96,6 +96,7 @@ validatablePointerList g_vPtrList;
96
96
  #include <bzs/db/protocol/tdap/client/activeTable.h>
97
97
  #include <bzs/db/protocol/tdap/client/groupQuery.h>
98
98
  #include <bzs/db/protocol/tdap/client/pooledDatabaseManager.h>
99
+ #include <bzs/db/protocol/tdap/client/haNameResolver.h>
99
100
 
100
101
  using namespace bzs::db::protocol::tdap;
101
102
  using namespace bzs::db::protocol::tdap::client;
@@ -318,6 +319,10 @@ using namespace bzs::db::protocol::tdap::client;
318
319
  %newobject bzs::db::protocol::tdap::client::connMgr::connections;
319
320
  %newobject bzs::db::protocol::tdap::client::connMgr::inUseDatabases;
320
321
  %newobject bzs::db::protocol::tdap::client::connMgr::inUseTables;
322
+ %newobject bzs::db::protocol::tdap::client::connMgr::channels;
323
+ %newobject bzs::db::protocol::tdap::client::connMgr::slaveHosts;
324
+ %newobject bzs::db::protocol::tdap::client::connMgr::extendedvars;
325
+ %newobject bzs::db::protocol::tdap::client::connMgr::statusvars;
321
326
  %extend bzs::db::protocol::tdap::client::connMgr {
322
327
  const bzs::db::protocol::tdap::client::connMgr::records* databases() {
323
328
  bzs::db::protocol::tdap::client::connMgr::records* p = new bzs::db::protocol::tdap::client::connMgr::records();
@@ -339,9 +344,9 @@ using namespace bzs::db::protocol::tdap::client;
339
344
  *p = self->schemaTables(dbname);
340
345
  return p;
341
346
  }
342
- const bzs::db::protocol::tdap::client::connMgr::records* slaveStatus() {
347
+ const bzs::db::protocol::tdap::client::connMgr::records* slaveStatus(const char* channel=0) {
343
348
  bzs::db::protocol::tdap::client::connMgr::records* p = new bzs::db::protocol::tdap::client::connMgr::records();
344
- *p = self->slaveStatus();
349
+ *p = self->slaveStatus(channel);
345
350
  return p;
346
351
  }
347
352
  const bzs::db::protocol::tdap::client::connMgr::records* sysvars() {
@@ -364,6 +369,26 @@ using namespace bzs::db::protocol::tdap::client;
364
369
  *p = self->inUseTables(connid, dbid);
365
370
  return p;
366
371
  }
372
+ const bzs::db::protocol::tdap::client::connMgr::records* channels(bool withLock=false) {
373
+ bzs::db::protocol::tdap::client::connMgr::records* p = new bzs::db::protocol::tdap::client::connMgr::records();
374
+ *p = self->channels(withLock);
375
+ return p;
376
+ }
377
+ const bzs::db::protocol::tdap::client::connMgr::records* slaveHosts() {
378
+ bzs::db::protocol::tdap::client::connMgr::records* p = new bzs::db::protocol::tdap::client::connMgr::records();
379
+ *p = self->slaveHosts();
380
+ return p;
381
+ }
382
+ const bzs::db::protocol::tdap::client::connMgr::records* extendedvars() {
383
+ bzs::db::protocol::tdap::client::connMgr::records* p = new bzs::db::protocol::tdap::client::connMgr::records();
384
+ *p = self->extendedvars();
385
+ return p;
386
+ }
387
+ const bzs::db::protocol::tdap::client::connMgr::records* statusvars() {
388
+ bzs::db::protocol::tdap::client::connMgr::records* p = new bzs::db::protocol::tdap::client::connMgr::records();
389
+ *p = self->statusvars();
390
+ return p;
391
+ }
367
392
  }
368
393
  %ignore bzs::db::protocol::tdap::client::connMgr::databases;
369
394
  %ignore bzs::db::protocol::tdap::client::connMgr::tables;
@@ -374,6 +399,10 @@ using namespace bzs::db::protocol::tdap::client;
374
399
  %ignore bzs::db::protocol::tdap::client::connMgr::connections;
375
400
  %ignore bzs::db::protocol::tdap::client::connMgr::inUseDatabases;
376
401
  %ignore bzs::db::protocol::tdap::client::connMgr::inUseTables;
402
+ %ignore bzs::db::protocol::tdap::client::connMgr::channels;
403
+ %ignore bzs::db::protocol::tdap::client::connMgr::slaveHosts;
404
+ %ignore bzs::db::protocol::tdap::client::connMgr::extendedvars;
405
+ %ignore bzs::db::protocol::tdap::client::connMgr::statusvars;
377
406
  // create and release methods for connMgr class
378
407
  %newobject bzs::db::protocol::tdap::client::connMgr::connMgr;
379
408
  %extend bzs::db::protocol::tdap::client::connMgr {
@@ -384,7 +413,7 @@ using namespace bzs::db::protocol::tdap::client;
384
413
  bzs::db::protocol::tdap::client::releaseConnMgr(self);
385
414
  }
386
415
  };
387
- %ignore bzs::db::protocol::tdap::client::ConnMgr::create;
416
+ %ignore bzs::db::protocol::tdap::client::connMgr::create;
388
417
  %ignore bzs::db::protocol::tdap::client::createConnMgr;
389
418
  %ignore bzs::db::protocol::tdap::client::releaseConnMgr;
390
419
 
@@ -688,8 +717,10 @@ using namespace bzs::db::protocol::tdap::client;
688
717
  %ignore bzs::db::protocol::tdap::client::nsdatabase::getBtrvEntryPoint;
689
718
  %ignore bzs::db::protocol::tdap::client::nsdatabase::setBtrvEntryPoint;
690
719
  %ignore bzs::db::protocol::tdap::client::nsdatabase::tdapErr;
720
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::registerHaNameResolver;
721
+ %ignore bzs::db::protocol::tdap::client::nsdatabase::getWinTPoolShutdownFunc;
691
722
  %ignore bzs::db::protocol::tdap::client::reconnectSharedConnection;
692
-
723
+ %ignore bzs::db::protocol::tdap::client::binlogPos::setGtid; // replace to gtid get/set
693
724
  %extend bzs::db::protocol::tdap::client::nsdatabase {
694
725
  binlogPos* beginSnapshot(short bias=CONSISTENT_READ) {
695
726
  binlogPos* bpos = new binlogPos();
@@ -1117,17 +1148,38 @@ using namespace bzs::db::protocol::tdap::client;
1117
1148
  %ignore TD_VAR_HSLISTENPORT;
1118
1149
  %ignore TD_VAR_USEHS;
1119
1150
  %ignore TD_VAR_TIMESTAMPMODE;
1151
+ %ignore TD_VAR_STARTUP_HA;
1120
1152
  %ignore TD_VAR_SIZE;
1153
+ %ignore TD_SVAR_TCP_CONNECTIONS;
1154
+ %ignore TD_SVAR_TCP_WAIT_THREADS;
1155
+ %ignore TD_SVAR_TPOOL_CONNECTIONS;
1156
+ %ignore TD_SVAR_TPOOL_WAIT_THREADS;
1157
+ %ignore TD_SVAR_PIPE_CONNECTIONS;
1158
+ %ignore TD_SVAR_PIPE_WAIT_THREADS;
1159
+ %ignore TD_SVAR_OPEN_DBS;
1160
+ %ignore TD_SVAR_HA;
1161
+ %ignore TD_SVAR_SIZE;
1162
+ %ignore TD_EXTENDED_VAR_MYSQL_GTID_MODE;
1163
+ %ignore TD_EXTENDED_VAR_BINLOG_FILE;
1164
+ %ignore TD_EXTENDED_VAR_BINLOG_POS;
1165
+ %ignore TD_EXTENDED_VAR_BINLOG_GTID;
1166
+ %ignore TD_EXTENDED_VAR_SIZE;
1167
+ %ignore TD_CLINET_LOGNAME;
1121
1168
  %ignore ft_mytime_num_cmp;
1122
1169
  %ignore ft_mydatetime_num_cmp;
1123
1170
  %ignore ft_mytimestamp_num_cmp;
1124
1171
  %ignore DFV_TIMESTAMP_DEFAULT_ASTR;
1125
1172
  %ignore DFV_TIMESTAMP_DEFAULT_WSTR;
1173
+ %ignore VER_ST_SIZE;
1174
+ %ignore HST_OPTION_ROLE_MASTER;
1175
+ %ignore HST_OPTION_ROLE_SLAVE;
1176
+ %ignore HST_OPTION_CLEAR_CACHE;
1177
+ %ignore CL_OPTION_CHECK_ROLE;
1126
1178
  %constant unsigned char MYSQL_TYPE_MYSQL = 77;
1127
1179
  %constant unsigned char MYSQL_TYPE_MARIA = 65;
1128
1180
  %ignore MYSQL_TYPE_MYSQL;
1129
1181
  %ignore MYSQL_TYPE_MARIA;
1130
-
1182
+ %ignore canRecoverNetError;
1131
1183
 
1132
1184
  // * bzs/db/protocol/tdap/tdapSchema.h *
1133
1185
  %ignore DLLUNLOADCALLBACK_PTR;
@@ -1266,6 +1318,8 @@ using namespace bzs::db::protocol::tdap::client;
1266
1318
  // * bzs/db/transactd/connectionRecord.h
1267
1319
  %ignore bzs::db::transactd::connection::record::dummy;
1268
1320
  %ignore bzs::db::transactd::connection::record::status;
1321
+ %ignore bzs::db::transactd::connection::record::value_ptr;
1322
+ %ignore bzs::db::transactd::connection::record::reset;
1269
1323
  %rename(connRecord) bzs::db::transactd::connection::record;
1270
1324
  %rename(connRecords) bzs::db::transactd::connection::records;
1271
1325
 
@@ -1420,6 +1474,7 @@ using namespace bzs::db::protocol::tdap::client;
1420
1474
  %include bzs/db/protocol/tdap/client/recordset.h
1421
1475
  %include bzs/db/protocol/tdap/client/activeTable.h
1422
1476
  %include bzs/db/protocol/tdap/client/pooledDatabaseManager.h
1477
+ %include bzs/db/protocol/tdap/client/haNameResolver.h
1423
1478
 
1424
1479
 
1425
1480
  /* ===============================================
@@ -31,6 +31,7 @@ check_for_link_iconv()
31
31
 
32
32
  set(this_target tdclc)
33
33
  project(${this_target})
34
+ bz_force_gcc() # set compiler to gcc instead of g++
34
35
 
35
36
 
36
37
  # ==========================================================
@@ -55,14 +56,15 @@ endif()
55
56
  # ==========================================================
56
57
  set(${this_target}_SOURCE_FILES
57
58
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/tdapSchema.cpp
58
- ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/myDateTime.cpp
59
59
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/client.cpp
60
- ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/dllmain.cpp
61
60
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp
62
61
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/mysql/characterset.cpp
63
62
  ${TRANSACTD_ROOT}/source/bzs/netsvc/client/tcpClient.cpp
64
63
  ${TRANSACTD_ROOT}/source/bzs/rtl/stl_uty.cpp
64
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/myDateTime.cpp
65
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/dllmain.cpp
65
66
  )
67
+
66
68
  if(APPLE)
67
69
  set(${this_target}_SOURCE_FILES ${${this_target}_SOURCE_FILES}
68
70
  ${TRANSACTD_ROOT}/source/bzs/env/crosscompile.cpp
@@ -100,29 +102,15 @@ else()
100
102
  endif()
101
103
 
102
104
 
103
- # ==========================================================
104
- # Add compile options
105
- # ==========================================================
106
- transactd_set_MTMD("MT")
107
- if(NOT MSVC)
108
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_RELEASE")
109
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_DEBUG")
110
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_RELWITHDEBINFO")
111
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_MINSIZEREL")
112
- endif()
113
-
114
-
115
105
  # ==========================================================
116
106
  # Add compile definitions
117
107
  # ==========================================================
118
- set_property(TARGET ${this_target} PROPERTY COMPILE_DEFINITIONS
119
- PACKAGE_NO_EXPORT BOOST_ALL_NO_LIB _MBCS)
120
108
  if(MSVC)
121
- set_property(TARGET ${this_target} APPEND PROPERTY COMPILE_DEFINITIONS
122
- WIN32 _WIN32 _WINDOWS _WIN32_WINNT=0x0501 _USRDLL)
109
+ set_property(TARGET ${this_target} PROPERTY COMPILE_DEFINITIONS
110
+ _WIN32_WINNT=0x0501 PACKAGE_NO_EXPORT BOOST_DATE_TIME_NO_LIB BOOST_REGEX_NO_LIB _USRDLL _MBCS)
123
111
  else()
124
- set_property(TARGET ${this_target} APPEND PROPERTY COMPILE_DEFINITIONS
125
- PIC _REENTRANT)
112
+ set_property(TARGET ${this_target} PROPERTY COMPILE_DEFINITIONS
113
+ PIC BOOST_ALL_NO_LIB)
126
114
  if(NOT MINGW)
127
115
  set_property(TARGET ${this_target} APPEND PROPERTY COMPILE_DEFINITIONS
128
116
  LINUX)
@@ -130,17 +118,36 @@ else()
130
118
  endif()
131
119
 
132
120
 
121
+ # ==========================================================
122
+ # Add compile options and linker options
123
+ # ==========================================================
124
+ transactd_reset_MTMD()
125
+ if (MSVC)
126
+ set(CMAKE_CXX_FLAGS "/W3 /wd4068 /Gy /GL /Zi /Oi /EHa")
127
+ bz_add_cxx_flag("/MT /Ot /Ox /Ob2" "_RELEASE")
128
+ bz_add_cxx_flag("/MTd " "_DEBUG")
129
+ bz_add_cxx_flag("/MT /Ot /Ox /Ob2" "_RELWITHDEBINFO")
130
+ bz_add_cxx_flag("/MT /Ot /Ox /Ob2" "_MINSIZEREL")
131
+ set(CMAKE_LINKER_FLAGS "")
132
+ set(CMAKE_SHARED_LINKER_FLAGS "")
133
+ set_target_properties(${this_target} PROPERTIES LINK_FLAGS
134
+ "/MANIFEST /OPT:REF /OPT:ICF /DEF:\"${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/trnsctcl.def\"")
135
+ else()
136
+ set(CMAKE_CXX_FLAGS "-fexceptions -frtti -fpermissive -fno-strict-aliasing -fno-omit-frame-pointer")
137
+ endif()
138
+
139
+
133
140
  # ==========================================================
134
141
  # add link / include
135
142
  # ==========================================================
136
- transactd_link_boost_libraries("filesystem;thread;chrono;system")
143
+ transactd_link_boost_libraries("chrono;filesystem;system;thread")
137
144
  if(CAN_LINK_ICONV)
138
145
  target_link_libraries(${this_target} "${ICONV_LIBRARY}")
139
146
  endif()
140
147
  if(NOT MSVC)
141
- target_link_libraries(${this_target} pthread)
148
+ target_link_libraries(${this_target} dl)
142
149
  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
143
- ## target_link_libraries(${this_target} "${TRANSACTD_ROOT}/build/tdclc/libtdclcm.map")
150
+ ## target_link_libraries(${this_target} "${TRANSACTD_ROOT}/build/tdclc/libtdclcm.map")
144
151
  elseif(APPLE)
145
152
  target_link_libraries(${this_target} -Wl,-map,"${TRANSACTD_ROOT}/build/tdclc/libtdclcm.map")
146
153
  else()
@@ -180,15 +187,6 @@ else()
180
187
  endif()
181
188
 
182
189
 
183
- # ==========================================================
184
- # add .def file (for MSVC)
185
- # ==========================================================
186
- if(MSVC)
187
- set_target_properties(${this_target} PROPERTIES LINK_FLAGS
188
- "/DEF:\"${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/trnsctcl.def\"")
189
- endif()
190
-
191
-
192
190
  # ==========================================================
193
191
  # set output directory
194
192
  # ==========================================================
@@ -1,4 +1,4 @@
1
1
  {
2
- global: BTRCALLID; BTRV;BTRVID;BTRCALL;BTRCALL32;BTRCALLID32;
2
+ global: BTRCALLID; BTRV;BTRVID;BTRCALL;BTRCALL32;BTRCALLID32;RegisterHaNameResolver;
3
3
  local: *;
4
4
  };
@@ -62,7 +62,7 @@
62
62
  <VerInfo_Locale>1041</VerInfo_Locale>
63
63
  <BRCC_CompilerToUse>rc</BRCC_CompilerToUse>
64
64
  <BRCC_IncludePath>$(BDSINCLUDE)\windows\sdk;$(BRCC_IncludePath)</BRCC_IncludePath>
65
- <DllSuffix>_3_4</DllSuffix>
65
+ <DllSuffix>_3_5</DllSuffix>
66
66
  <DynamicRTL>false</DynamicRTL>
67
67
  <BPILibOutputDir>..\..\lib</BPILibOutputDir>
68
68
  <BCC_PCHUsage>None</BCC_PCHUsage>
data/build/tdclc/tdclc.rc CHANGED
@@ -29,8 +29,8 @@
29
29
  //
30
30
 
31
31
  VS_VERSION_INFO VERSIONINFO
32
- FILEVERSION 3,4,0,204
33
- PRODUCTVERSION 3,4,0,204
32
+ FILEVERSION 3,5,0,220
33
+ PRODUCTVERSION 3,5,0,220
34
34
  FILEFLAGSMASK 0x3fL
35
35
  #ifdef _DEBUG
36
36
  FILEFLAGS 0x1L
@@ -47,9 +47,9 @@ BEGIN
47
47
  BEGIN
48
48
  VALUE "CompanyName", "BizStation Corp."
49
49
  VALUE "FileDescription", "Transactd C client"
50
- VALUE "FileVersion", "3.4.0.204"
50
+ VALUE "FileVersion", "3.5.0.220"
51
51
  VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
52
- VALUE "ProductVersion", "3.4.0.204"
52
+ VALUE "ProductVersion", "3.5.0.220"
53
53
  VALUE "ProductName", "Transactd Client (GPL V2)"
54
54
  END
55
55
  END
@@ -32,25 +32,9 @@ include(../common/check_for_link_iconv.cmake)
32
32
  check_for_link_iconv()
33
33
 
34
34
 
35
- # ==========================================================
36
- # check project name and options
37
- # ==========================================================
38
- get_filename_component(this_target "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
39
- string(TOLOWER "${this_target}" this_target)
35
+ set(this_target tdclcpp)
40
36
  project(${this_target})
41
- # m:multibyte u:unicode mr:multibyte-use_rtm
42
- if("${this_target}" STREQUAL "tdclcppm")
43
- set(TDCL_CPP_CHARSET m)
44
- set(TDCL_CPP_USE_RUNTIME_LIBS OFF)
45
- elseif("${this_target}" STREQUAL "tdclcppu")
46
- set(TDCL_CPP_CHARSET u)
47
- set(TDCL_CPP_USE_RUNTIME_LIBS OFF)
48
- elseif("${this_target}" STREQUAL "tdclcppmr")
49
- set(TDCL_CPP_CHARSET m)
50
- set(TDCL_CPP_USE_RUNTIME_LIBS ON)
51
- else()
52
- set(TDCL_CPP_USE_RUNTIME_LIBS OFF)
53
- endif()
37
+ bz_force_gcc() # set compiler to gcc instead of g++
54
38
 
55
39
 
56
40
  # ==========================================================
@@ -98,42 +82,16 @@ add_library(${this_target} SHARED ${${this_target}_SOURCE_FILES})
98
82
  add_dependencies(${this_target} tdclc)
99
83
 
100
84
 
101
- # ==========================================================
102
- # Add compile options
103
- # ==========================================================
104
- transactd_reset_MTMD()
105
- if (MSVC)
106
- if((TRANSACTD_RUBY_GEM) OR (TRANSACTD_PHP))
107
- bz_add_cxx_flag("/MD" "_RELEASE")
108
- bz_add_cxx_flag("/MDd" "_DEBUG")
109
- bz_add_cxx_flag("/MD" "_RELWITHDEBINFO")
110
- bz_add_cxx_flag("/MD" "_MINSIZEREL")
111
- else()
112
- bz_add_cxx_flag("/MT" "_RELEASE")
113
- bz_add_cxx_flag("/MTd" "_DEBUG")
114
- bz_add_cxx_flag("/MT" "_RELWITHDEBINFO")
115
- bz_add_cxx_flag("/MD" "_MINSIZEREL")
116
- endif()
117
- foreach(build_type "" "_RELEASE" "_DEBUG" "_RELWITHDEBINFO" "_MINSIZEREL")
118
- bz_add_cxx_flag("/wd4996" "${build_type}")
119
- endforeach()
120
- else()
121
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_RELEASE")
122
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_DEBUG")
123
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_RELWITHDEBINFO")
124
- bz_add_cxx_flag("-Wno-unknown-pragmas -Wno-ignored-qualifiers" "_MINSIZEREL")
125
- endif()
126
-
127
85
  # ==========================================================
128
86
  # Add compile definitions
129
87
  # ==========================================================
130
88
  if(MSVC)
131
89
  set_property(TARGET ${this_target} PROPERTY COMPILE_DEFINITIONS
132
- WIN32 _WIN32 _WINDOWS _USRDLL BOOST_ALL_NO_LIB
133
- LIB_TDCLCPP TRDCL_AUTOLINK_OFF TRDCLENGN_EXPORTS _CRT_SECURE_NO_WARNINGS)
90
+ _CRT_SECURE_NO_WARNINGS LIB_TDCLCPP TRDCL_AUTOLINK_OFF
91
+ BOOST_DATE_TIME_NO_LIB _USRDLL TRDCLENGN_EXPORTS _WINDLL)
134
92
  else()
135
93
  set_property(TARGET ${this_target} PROPERTY COMPILE_DEFINITIONS
136
- PIC _REENTRANT BOOST_ALL_NO_LIB)
94
+ PIC BOOST_ALL_NO_LIB)
137
95
  if(NOT MINGW)
138
96
  set_property(TARGET ${this_target} APPEND PROPERTY COMPILE_DEFINITIONS
139
97
  LINUX)
@@ -155,10 +113,43 @@ else()
155
113
  endif()
156
114
 
157
115
 
116
+ # ==========================================================
117
+ # Add compile options and linker options
118
+ # ==========================================================
119
+ transactd_reset_MTMD()
120
+ if (MSVC)
121
+ set(CMAKE_CXX_FLAGS "/W3 /wd4068 /wd4275 /wd4819 /wd4251 /wd4996 /Gy /GL /Zi /Oi /EHa")
122
+ if((TRANSACTD_RUBY_GEM) OR (TRANSACTD_PHP))
123
+ bz_add_cxx_flag("/MD /Ox /Ob2 /GR" "_RELEASE")
124
+ bz_add_cxx_flag("/MDd " "_DEBUG")
125
+ bz_add_cxx_flag("/MD /Ox /Ob2 /GR" "_RELWITHDEBINFO")
126
+ bz_add_cxx_flag("/MD /Ox /Ob2 /GR" "_MINSIZEREL")
127
+ else()
128
+ bz_add_cxx_flag("/MT /Ox /Ob2 /GR" "_RELEASE")
129
+ bz_add_cxx_flag("/MTd " "_DEBUG")
130
+ bz_add_cxx_flag("/MT /Ox /Ob2 /GR" "_RELWITHDEBINFO")
131
+ bz_add_cxx_flag("/MD /Ox /Ob2 /GR" "_MINSIZEREL")
132
+ endif()
133
+ set(CMAKE_LINKER_FLAGS "")
134
+ set(CMAKE_SHARED_LINKER_FLAGS "")
135
+ set_target_properties(${this_target} PROPERTIES LINK_FLAGS
136
+ "/MANIFEST:NO /OPT:REF /OPT:ICF")
137
+ else()
138
+ set(CMAKE_CXX_FLAGS "-fexceptions -frtti -fpermissive -fno-strict-aliasing -fno-omit-frame-pointer")
139
+ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
140
+ set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc")
141
+ endif()
142
+ endif()
143
+
144
+
158
145
  # ==========================================================
159
146
  # add link / include
160
147
  # ==========================================================
161
- transactd_link_boost_libraries("filesystem;thread;chrono;system")
148
+ if(MSVC)
149
+ transactd_link_boost_libraries("filesystem;system;thread;chrono")
150
+ else()
151
+ transactd_link_boost_libraries("filesystem;system;thread")
152
+ endif()
162
153
  if(CAN_LINK_ICONV)
163
154
  target_link_libraries(${this_target} "${ICONV_LIBRARY}")
164
155
  endif()
@@ -29,8 +29,8 @@
29
29
  //
30
30
 
31
31
  VS_VERSION_INFO VERSIONINFO
32
- FILEVERSION 3,4,1,204
33
- PRODUCTVERSION 3,4,1,204
32
+ FILEVERSION 3,5,0,220
33
+ PRODUCTVERSION 3,5,0,220
34
34
  FILEFLAGSMASK 0x3fL
35
35
  #ifdef _DEBUG
36
36
  FILEFLAGS 0x1L
@@ -47,9 +47,9 @@ BEGIN
47
47
  BEGIN
48
48
  VALUE "CompanyName", "BizStation Corp."
49
49
  VALUE "FileDescription", "Transactd C++ client"
50
- VALUE "FileVersion", "3.4.1.204"
50
+ VALUE "FileVersion", "3.5.0.220"
51
51
  VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
52
- VALUE "ProductVersion", "3.4.1.204"
52
+ VALUE "ProductVersion", "3.5.0.220"
53
53
  VALUE "ProductName", "Transactd Client (GPL V2)"
54
54
  END
55
55
  END
@@ -153,7 +153,7 @@
153
153
  <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed>
154
154
  <BCC_ExtendedErrorInfo>true</BCC_ExtendedErrorInfo>
155
155
  <TD_VER_MAJOR>3</TD_VER_MAJOR>
156
- <TD_VER_MINOR>4</TD_VER_MINOR>
156
+ <TD_VER_MINOR>5</TD_VER_MINOR>
157
157
  <DllSuffix>$(TD_VER_MAJOR)_$(TD_VER_MINOR)</DllSuffix>
158
158
  <TD_CPU>32</TD_CPU>
159
159
  </PropertyGroup>
@@ -305,6 +305,9 @@
305
305
  <CppCompile Include="..\..\source\bzs\db\protocol\tdap\client\memRecord.cpp">
306
306
  <BuildOrder>22</BuildOrder>
307
307
  </CppCompile>
308
+ <CppCompile Include="..\..\source\bzs\db\protocol\tdap\client\haNameResolver.cpp">
309
+ <BuildOrder>22</BuildOrder>
310
+ </CppCompile>
308
311
  <CppCompile Include="..\..\source\bzs\db\protocol\tdap\client\nsDatabase.cpp">
309
312
  <BuildOrder>11</BuildOrder>
310
313
  </CppCompile>