transactd 2.0.1 → 2.1.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 +6 -6
- data/README +16 -16
- data/README-JA +16 -16
- data/bin/common/tdclc_32_2_1.dll +0 -0
- data/bin/common/tdclc_64_2_1.dll +0 -0
- data/build/common/transactd_cl_common.cmake +0 -1
- data/build/common/transactd_common.cmake +28 -38
- data/build/swig/ruby/ruby.swg +36 -30
- data/build/swig/ruby/tdclrb_wrap.cpp +35016 -0
- data/build/swig/tdcl.i +217 -62
- data/build/tdclc/CMakeLists.txt +14 -26
- data/build/tdclc/libtdclcm.map +4 -0
- data/build/tdclc/tdclc.cbproj +1 -1
- data/build/tdclc/tdclc.rc +0 -0
- data/build/tdclcpp/CMakeLists.txt +7 -22
- data/build/tdclcpp/tdclcpp.rc +0 -0
- data/build/tdclcpp/tdclcpp_bc.cbproj +1 -1
- data/build/tdclrb/CMakeLists.txt +7 -49
- data/build/tdclrb/tdclrb.rc +62 -0
- data/source/bzs/db/blobBuffer.h +5 -0
- data/source/bzs/db/blobStructs.h +2 -0
- data/source/bzs/db/engine/mysql/IReadRecords.h +9 -0
- data/source/bzs/db/engine/mysql/database.cpp +391 -169
- data/source/bzs/db/engine/mysql/database.h +178 -40
- data/source/bzs/db/engine/mysql/dbManager.cpp +45 -3
- data/source/bzs/db/engine/mysql/dbManager.h +3 -39
- data/source/bzs/db/engine/mysql/errorMessage.cpp +11 -7
- data/source/bzs/db/engine/mysql/errorMessage.h +1 -1
- data/source/bzs/db/engine/mysql/mydebuglog.cpp +1 -2
- data/source/bzs/db/engine/mysql/mysqlInternal.h +8 -8
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +11 -0
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +41 -6
- data/source/bzs/db/protocol/tdap/client/activeTable.h +177 -8
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +141 -62
- data/source/bzs/db/protocol/tdap/client/client.cpp +39 -35
- data/source/bzs/db/protocol/tdap/client/client.h +52 -25
- data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +17 -0
- data/source/bzs/db/protocol/tdap/client/connectionPool.h +1 -0
- data/source/bzs/db/protocol/tdap/client/database.cpp +5 -1
- data/source/bzs/db/protocol/tdap/client/database.h +1 -1
- data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +49 -12
- data/source/bzs/db/protocol/tdap/client/databaseManager.h +42 -5
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +4 -2
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +71 -41
- data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +49 -49
- data/source/bzs/db/protocol/tdap/client/field.cpp +22 -13
- data/source/bzs/db/protocol/tdap/client/field.h +7 -3
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +0 -1
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +1 -0
- data/source/bzs/db/protocol/tdap/client/fields.h +111 -24
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/filter.h +687 -310
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +12 -4
- data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +190 -32
- data/source/bzs/db/protocol/tdap/client/memRecord.h +64 -22
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +4 -4
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -2
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +6 -3
- data/source/bzs/db/protocol/tdap/client/nsTable.h +1 -1
- data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +19 -8
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +194 -87
- data/source/bzs/db/protocol/tdap/client/request.h +84 -26
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +22 -12
- data/source/bzs/db/protocol/tdap/client/table.cpp +494 -286
- data/source/bzs/db/protocol/tdap/client/table.h +48 -5
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +133 -87
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +22 -22
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +43 -18
- data/source/bzs/db/protocol/tdap/client/trnsctcl.def +3 -3
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +1 -0
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +268 -74
- data/source/bzs/db/protocol/tdap/mysql/request.h +4 -4
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +179 -43
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +4 -4
- data/source/bzs/db/protocol/tdap/tdapRequest.h +15 -14
- data/source/bzs/db/protocol/tdap/tdapSchema.h +125 -90
- data/source/bzs/db/protocol/tdap/tdapcapi.h +46 -5
- data/source/bzs/db/transactd/appModule.h +1 -1
- data/source/bzs/db/transactd/connManager.cpp +2 -0
- data/source/bzs/db/transactd/transactd.cpp +1 -0
- data/source/bzs/env/compiler.h +10 -0
- data/source/bzs/env/mbcswchrLinux.cpp +42 -6
- data/source/bzs/env/mbcswchrLinux.h +40 -12
- data/source/bzs/example/queryData.cpp +33 -4
- data/source/bzs/netsvc/client/iconnection.h +107 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +15 -1
- data/source/bzs/netsvc/client/tcpClient.h +96 -87
- data/source/bzs/netsvc/server/serverCpt.cpp +5 -6
- data/source/bzs/rtl/benchmark.cpp +2 -2
- data/source/bzs/rtl/stringBuffers.cpp +3 -3
- data/source/bzs/rtl/stringBuffers.h +2 -2
- data/source/bzs/test/tdclatl/bench_query_atl.js +92 -99
- data/source/bzs/test/tdclatl/test_query_atl.js +224 -115
- data/source/bzs/test/tdclphp/bench.php +126 -101
- data/source/bzs/test/tdclphp/transactd_Test.php +1122 -158
- data/source/bzs/test/tdclrb/bench_tdclcpp.rb +12 -14
- data/source/bzs/test/tdclrb/transactd_spec.rb +1127 -142
- data/source/bzs/test/transactdBench/query_bench.cpp +32 -15
- data/source/bzs/test/transactdBench/scaling_bench.cpp +32 -7
- data/source/bzs/test/transactdBench/transactdBench.cpp +1 -1
- data/source/bzs/test/transactdBench/workerBase.h +46 -0
- data/source/bzs/test/transactdBench/workerMySQLImple.h +15 -7
- data/source/bzs/test/transactdBench/workerTransactdImple.h +10 -18
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +1487 -174
- data/source/global/ormsrcgen/main.cpp +2 -0
- data/source/global/tdclatl/Database.cpp +2 -2
- data/source/global/tdclatl/Database.h +1 -1
- data/source/global/tdclatl/FieldDefs.cpp +0 -3
- data/source/global/tdclatl/PooledDbManager.cpp +2 -2
- data/source/global/tdclatl/PooledDbManager.h +1 -1
- data/source/global/tdclatl/PreparedQuery.cpp +53 -0
- data/source/global/tdclatl/PreparedQuery.h +61 -0
- data/source/global/tdclatl/QueryBase.cpp +2 -1
- data/source/global/tdclatl/QueryBase.h +1 -1
- data/source/global/tdclatl/Record.cpp +3 -15
- data/source/global/tdclatl/Recordset.cpp +15 -10
- data/source/global/tdclatl/Recordset.h +3 -0
- data/source/global/tdclatl/Table.cpp +42 -7
- data/source/global/tdclatl/Table.h +3 -1
- data/source/global/tdclatl/activeTable.cpp +264 -76
- data/source/global/tdclatl/activeTable.h +12 -3
- data/source/global/tdclatl/tdclatl.idl +92 -10
- data/source/linux/charsetConvert.h +7 -7
- data/transactd.gemspec +14 -27
- metadata +18 -27
- data/bin/common/tdclc_32_2_0.dll +0 -0
- data/bin/common/tdclc_64_2_0.dll +0 -0
- data/build/swig/php/generate.cmake.in +0 -56
- data/build/swig/php/generate.cmd.in +0 -47
- data/build/swig/php/php.swg +0 -197
- data/build/swig/php/transactd.no_yield.php +0 -4494
- data/build/swig/php/transactd.no_yield.php.git.patch +0 -685
- data/build/swig/php/transactd.no_yield.php.patch +0 -685
- data/build/swig/php/transactd.yield.php +0 -4461
- data/build/swig/php/transactd.yield.php.git.patch +0 -652
- data/build/swig/php/transactd.yield.php.patch +0 -652
- data/build/swig/ruby/generate.cmake.in +0 -35
- data/build/swig/ruby/generate.cmd.in +0 -19
- data/build/tdclc/BUILDNUMBER.txt +0 -1
- data/build/tdclcpp/BUILDNUMBER.txt +0 -1
- data/build/tdclrb/BUILDNUMBER.txt +0 -1
- data/build/tdclrb/GEM_RELEASE_VERSION +0 -1
|
@@ -62,18 +62,27 @@ public:
|
|
|
62
62
|
VARIANT Value6, VARIANT Value7, IActiveTable** retVal);
|
|
63
63
|
|
|
64
64
|
STDMETHOD(Option)(int Value, IActiveTable** retVal);
|
|
65
|
-
STDMETHOD(Read)(VARIANT /*IQueryBase**/ query,
|
|
65
|
+
STDMETHOD(Read)(VARIANT /*IQueryBase**/ query,
|
|
66
|
+
VARIANT Value0, VARIANT Value1,
|
|
67
|
+
VARIANT Value2, VARIANT Value3,
|
|
68
|
+
VARIANT Value4, VARIANT Value5,
|
|
69
|
+
VARIANT Value6, VARIANT Value7,
|
|
70
|
+
IRecordset** retVal);
|
|
66
71
|
STDMETHOD(Alias)(BSTR Src, BSTR Dst, IActiveTable** retVal);
|
|
67
72
|
STDMETHOD(ResetAlias)(IActiveTable** retVal);
|
|
68
|
-
STDMETHOD(Join)(IRecordset* rs,
|
|
73
|
+
STDMETHOD(Join)(IRecordset* rs, VARIANT query, BSTR Name0, BSTR Name1,
|
|
69
74
|
BSTR Name2, BSTR Name3, BSTR Name4, BSTR Name5, BSTR Name6,
|
|
70
75
|
BSTR Name7, IRecordset** retVal);
|
|
71
|
-
STDMETHOD(OuterJoin)(IRecordset* rs,
|
|
76
|
+
STDMETHOD(OuterJoin)(IRecordset* rs, VARIANT query, BSTR Name0,
|
|
72
77
|
BSTR Name1, BSTR Name2, BSTR Name3, BSTR Name4,
|
|
73
78
|
BSTR Name5, BSTR Name6, BSTR Name7,
|
|
74
79
|
IRecordset** retVal);
|
|
80
|
+
STDMETHOD(Prepare)(IQueryBase* Value, VARIANT_BOOL ServerPrepare, IPreparedQuery** retVal);
|
|
81
|
+
|
|
75
82
|
STDMETHOD(GetWritableRecord)(IWritableRecord** retVal);
|
|
76
83
|
STDMETHOD(get_TableDef)(ITableDef** Value);
|
|
84
|
+
|
|
85
|
+
STDMETHOD(Table)(ITable** retVal);
|
|
77
86
|
};
|
|
78
87
|
|
|
79
88
|
OBJECT_ENTRY_AUTO(__uuidof(ActiveTable), CActiveTable)
|
|
@@ -44,6 +44,8 @@ interface ISortFields;
|
|
|
44
44
|
interface IFieldNames;
|
|
45
45
|
interface IConnectParams;
|
|
46
46
|
interface IPooledDbManager;
|
|
47
|
+
interface IPreparedQuery;
|
|
48
|
+
|
|
47
49
|
|
|
48
50
|
typedef
|
|
49
51
|
[
|
|
@@ -97,7 +99,8 @@ enum eOpenMode
|
|
|
97
99
|
{
|
|
98
100
|
normal = 0,
|
|
99
101
|
readOnly = -2,
|
|
100
|
-
exclusive = -4
|
|
102
|
+
exclusive = -4,
|
|
103
|
+
exclusive_readOnly = -6
|
|
101
104
|
}eOpenMode;
|
|
102
105
|
|
|
103
106
|
|
|
@@ -162,18 +165,29 @@ enum eStatus
|
|
|
162
165
|
STATUS_INVALID_OWNERNAME = 51,
|
|
163
166
|
STATUS_TABLE_EXISTS_ERROR = 59,
|
|
164
167
|
STATUS_LIMMIT_OF_REJECT = 60,
|
|
168
|
+
STATUS_WARKSPACE_TOO_SMALL = 61,
|
|
169
|
+
STATUS_INVALID_EX_DESC = 62,
|
|
170
|
+
STATUS_INVALID_EX_INS = 63,
|
|
165
171
|
STATUS_REACHED_FILTER_COND = 64,
|
|
166
172
|
STATUS_INVALID_FIELD_OFFSET = 65,
|
|
167
173
|
STATUS_CHANGE_CONFLICT = 80,
|
|
168
174
|
STATUS_INVALID_LOCKTYPE = 83,
|
|
169
175
|
STATUS_LOCK_ERROR = 84,
|
|
170
176
|
STATUS_FILE_LOCKED = 85,
|
|
177
|
+
STATUS_INVALID_SUPPLYVALUES = 86,
|
|
171
178
|
STATUS_CANNOT_LOCK_TABLE = 88,
|
|
172
179
|
TATUS_INVALID_KEYNAME = 6,
|
|
173
180
|
STATUS_INVALID_DATASIZE = 22,
|
|
174
181
|
STATUS_INVALID_FIELDNAME = 65,
|
|
175
182
|
ERROR_TD_INVALID_CLINETHOST = 171,
|
|
176
183
|
ERROR_NOSPECIFY_TABLE = 176,
|
|
184
|
+
ERROR_LOAD_CLIBRARY = 200,
|
|
185
|
+
ERROR_INDEX_RND_INIT = 201,
|
|
186
|
+
STATUS_INVALID_PREPAREID = 202,
|
|
187
|
+
STATUS_LMIT_OF_PREPAREED = 203,
|
|
188
|
+
STATUS_ALREADY_INSNAPSHOT = 204,
|
|
189
|
+
STATUS_ALREADY_INTRANSACTION= 205,
|
|
190
|
+
SERVER_CLIENT_NOT_COMPATIBLE= 3003,
|
|
177
191
|
NET_BAD_SRB_FORMAT = 3021,
|
|
178
192
|
ERROR_TD_HOSTNAME_NOT_FOUND = 3103,
|
|
179
193
|
ERROR_TD_CONNECTION_FAILURE = 3106,
|
|
@@ -266,9 +280,29 @@ enum eLockType
|
|
|
266
280
|
NOWAIT_WRITE = 500,
|
|
267
281
|
PARALLEL_TRN = 1000,
|
|
268
282
|
PARA_SINGLE_NOWAIT = 1700,
|
|
269
|
-
PARA_MULTI_NOWAIT = 1900
|
|
283
|
+
PARA_MULTI_NOWAIT = 1900,
|
|
284
|
+
/* Innodb or transactional engin lock options */
|
|
285
|
+
// read operation lock options
|
|
286
|
+
ROW_LOCK_X = 200,
|
|
287
|
+
ROW_LOCK_S = 5200,
|
|
288
|
+
// transaction options
|
|
289
|
+
SINGLELOCK_NOGAP = 200,
|
|
290
|
+
MULTILOCK_NOGAP = 400,
|
|
291
|
+
MULTILOCK_GAP = 2400
|
|
292
|
+
|
|
270
293
|
}eLockType;
|
|
271
294
|
|
|
295
|
+
typedef
|
|
296
|
+
[
|
|
297
|
+
helpstring("Snapshot lock type Constants")
|
|
298
|
+
]
|
|
299
|
+
enum eStLockType
|
|
300
|
+
{
|
|
301
|
+
MULTILOCK_NOGAP_SHARE = 0,
|
|
302
|
+
MULTILOCK_GAP_SHARE = 2000,
|
|
303
|
+
CONSISTENT_READ = 4000
|
|
304
|
+
}eStLockType;
|
|
305
|
+
|
|
272
306
|
typedef
|
|
273
307
|
[
|
|
274
308
|
helpstring("Continus operation types")
|
|
@@ -350,7 +384,7 @@ interface IDatabase : IDispatch
|
|
|
350
384
|
[propget, id(0x0000000A)]
|
|
351
385
|
HRESULT _stdcall NativeDatabase([out, retval] hyper** Value);
|
|
352
386
|
[id(0x000000C9)]
|
|
353
|
-
HRESULT _stdcall BeginSnapshot(
|
|
387
|
+
HRESULT _stdcall BeginSnapshot([in, defaultvalue(CONSISTENT_READ)] eStLockType Bias);
|
|
354
388
|
[id(0x000000CA)]
|
|
355
389
|
HRESULT _stdcall EndSnapshot(void);
|
|
356
390
|
[id(0x000000CB)]
|
|
@@ -675,9 +709,13 @@ interface ITable : IDispatch
|
|
|
675
709
|
[id(0x000000FA)]
|
|
676
710
|
HRESULT _stdcall KeyValueDescription([out, retval] BSTR* Value);
|
|
677
711
|
[id(0x000000FB)]
|
|
678
|
-
HRESULT _stdcall SetQuery([in] IQueryBase* Value);
|
|
712
|
+
HRESULT _stdcall SetQuery([in] IQueryBase* Value, [in, defaultvalue(0)] VARIANT_BOOL ServerPrepare, [out, retval] IPreparedQuery** retVal);
|
|
679
713
|
[id(0x000000FC)]
|
|
680
714
|
HRESULT _stdcall FieldNumByName([in] BSTR Name, [out, retval] short* Value);
|
|
715
|
+
[id(0x000000FD)]
|
|
716
|
+
HRESULT _stdcall Prepare([in] IQueryBase* Value, [in, defaultvalue(0)] VARIANT_BOOL ServerPrepare, [out, retval] IPreparedQuery** retVal);
|
|
717
|
+
[id(0x000000FF)]
|
|
718
|
+
HRESULT _stdcall SetPrepare([in] IPreparedQuery* Value);
|
|
681
719
|
|
|
682
720
|
};
|
|
683
721
|
[
|
|
@@ -973,7 +1011,7 @@ interface ITdVersion : IDispatch
|
|
|
973
1011
|
interface IQueryBase : IDispatch
|
|
974
1012
|
{
|
|
975
1013
|
[id(0x0000001)]
|
|
976
|
-
HRESULT _stdcall Reset(
|
|
1014
|
+
HRESULT _stdcall Reset([out, retval] IQueryBase** retVal);
|
|
977
1015
|
[id(0x0000002)]
|
|
978
1016
|
HRESULT _stdcall ClearSeekKeyValues(void);
|
|
979
1017
|
[id(0x0000003)]
|
|
@@ -1074,13 +1112,18 @@ interface IActiveTable : IDispatch
|
|
|
1074
1112
|
[id(0x0000004)]
|
|
1075
1113
|
HRESULT _stdcall Option([in] int Value, [out, retval] IActiveTable** retVal);
|
|
1076
1114
|
[id(0x0000005)]
|
|
1077
|
-
HRESULT _stdcall Read([in, optional] VARIANT query,
|
|
1115
|
+
HRESULT _stdcall Read([in, optional] VARIANT query,
|
|
1116
|
+
[in, optional] VARIANT Value0, [in, optional] VARIANT Value1,
|
|
1117
|
+
[in, optional] VARIANT Value2, [in, optional] VARIANT Value3,
|
|
1118
|
+
[in, optional] VARIANT Value4, [in, optional] VARIANT Value5,
|
|
1119
|
+
[in, optional] VARIANT Value6, [in, optional] VARIANT Value7,
|
|
1120
|
+
[out, retval] IRecordset** retVal);
|
|
1078
1121
|
[id(0x0000006)]
|
|
1079
1122
|
HRESULT _stdcall Alias([in] BSTR Src, [in] BSTR Dst, [out, retval] IActiveTable** retVal);
|
|
1080
1123
|
[id(0x0000007)]
|
|
1081
1124
|
HRESULT _stdcall ResetAlias([out, retval] IActiveTable** retVal);
|
|
1082
1125
|
[id(0x0000008)]
|
|
1083
|
-
HRESULT _stdcall Join([in] IRecordset* rs, [in]
|
|
1126
|
+
HRESULT _stdcall Join([in] IRecordset* rs, [in] VARIANT query, [in] BSTR Name0
|
|
1084
1127
|
, [in, defaultvalue("")] BSTR Name1, [in, defaultvalue("")] BSTR Name2
|
|
1085
1128
|
, [in, defaultvalue("")] BSTR Name3, [in, defaultvalue("")] BSTR Name4
|
|
1086
1129
|
, [in, defaultvalue("")] BSTR Name5, [in, defaultvalue("")] BSTR Name6
|
|
@@ -1088,7 +1131,7 @@ interface IActiveTable : IDispatch
|
|
|
1088
1131
|
,[out, retval] IRecordset** retVal);
|
|
1089
1132
|
|
|
1090
1133
|
[id(0x0000009)]
|
|
1091
|
-
HRESULT _stdcall OuterJoin([in] IRecordset* rs, [in]
|
|
1134
|
+
HRESULT _stdcall OuterJoin([in] IRecordset* rs, [in] VARIANT query, [in] BSTR Name0
|
|
1092
1135
|
, [in, defaultvalue("")] BSTR Name1, [in, defaultvalue("")] BSTR Name2
|
|
1093
1136
|
, [in, defaultvalue("")] BSTR Name3, [in, defaultvalue("")] BSTR Name4
|
|
1094
1137
|
, [in, defaultvalue("")] BSTR Name5, [in, defaultvalue("")] BSTR Name6
|
|
@@ -1099,6 +1142,11 @@ interface IActiveTable : IDispatch
|
|
|
1099
1142
|
HRESULT _stdcall GetWritableRecord([out, retval] IWritableRecord** retVal);
|
|
1100
1143
|
[propget, id(0x000000B)]
|
|
1101
1144
|
HRESULT _stdcall TableDef([out, retval] ITableDef** Value);
|
|
1145
|
+
[id(0x000000C)]
|
|
1146
|
+
HRESULT _stdcall Prepare([in] IQueryBase* Value, [in, defaultvalue(0)] VARIANT_BOOL ServerPrepare, [out, retval] IPreparedQuery** retVal);
|
|
1147
|
+
[id(0x000000D)]
|
|
1148
|
+
HRESULT _stdcall Table([out, retval]ITable** retVal);
|
|
1149
|
+
|
|
1102
1150
|
|
|
1103
1151
|
};
|
|
1104
1152
|
|
|
@@ -1156,6 +1204,13 @@ interface IRecordset : IDispatch
|
|
|
1156
1204
|
[id(0x0000011)]
|
|
1157
1205
|
HRESULT _stdcall AppendField([in] BSTR name, [in] eFieldType type, [in] short len);
|
|
1158
1206
|
|
|
1207
|
+
[id(0x0000012)]
|
|
1208
|
+
HRESULT _stdcall Clear();
|
|
1209
|
+
|
|
1210
|
+
[id(0x0000014)]
|
|
1211
|
+
HRESULT _stdcall ClearRecords();
|
|
1212
|
+
|
|
1213
|
+
|
|
1159
1214
|
};
|
|
1160
1215
|
|
|
1161
1216
|
[
|
|
@@ -1359,11 +1414,11 @@ interface IPooledDbManager : IDispatch
|
|
|
1359
1414
|
[id(0x00000004)]
|
|
1360
1415
|
HRESULT _stdcall AbortTrn(void);
|
|
1361
1416
|
[id(0x00000005)]
|
|
1362
|
-
HRESULT _stdcall BeginSnapshot(
|
|
1417
|
+
HRESULT _stdcall BeginSnapshot([in, defaultvalue(CONSISTENT_READ)] eStLockType Bias);
|
|
1363
1418
|
[id(0x00000006)]
|
|
1364
1419
|
HRESULT _stdcall EndSnapshot(void);
|
|
1365
1420
|
[id(0x00000007)]
|
|
1366
|
-
HRESULT _stdcall Use([in,
|
|
1421
|
+
HRESULT _stdcall Use([in, optional] VARIANT Uri);
|
|
1367
1422
|
[id(0x00000008)]
|
|
1368
1423
|
HRESULT _stdcall Unuse();
|
|
1369
1424
|
[propget, id(0x00000009)]
|
|
@@ -1413,6 +1468,23 @@ interface IConnectParams : IDispatch
|
|
|
1413
1468
|
|
|
1414
1469
|
};
|
|
1415
1470
|
|
|
1471
|
+
[
|
|
1472
|
+
object,
|
|
1473
|
+
uuid(33C684B3-E198-431C-9CCC-48EB083E1219),
|
|
1474
|
+
dual,
|
|
1475
|
+
nonextensible,
|
|
1476
|
+
pointer_default(unique)
|
|
1477
|
+
]
|
|
1478
|
+
interface IPreparedQuery : IDispatch
|
|
1479
|
+
{
|
|
1480
|
+
[id(0x0000001)]
|
|
1481
|
+
HRESULT _stdcall SupplyValue([in] int Index, [in] VARIANT Value, [out, retval] VARIANT_BOOL* retVal);
|
|
1482
|
+
[id(0x0000002)]
|
|
1483
|
+
HRESULT _stdcall AddValue([in] VARIANT Value, [out, retval] VARIANT_BOOL* retVal);
|
|
1484
|
+
[id(0x0000003)]
|
|
1485
|
+
HRESULT _stdcall ResetAddIndex();
|
|
1486
|
+
};
|
|
1487
|
+
|
|
1416
1488
|
[
|
|
1417
1489
|
uuid(3B712514-E2EF-4040-8A3C-BCACB839EB3E),
|
|
1418
1490
|
version(1.0),
|
|
@@ -1631,6 +1703,16 @@ library transactd
|
|
|
1631
1703
|
{
|
|
1632
1704
|
[default] interface IConnectParams;
|
|
1633
1705
|
};
|
|
1706
|
+
|
|
1707
|
+
[
|
|
1708
|
+
uuid(E5D3D961-A1CD-42CA-B7E0-640AB0CEB529)
|
|
1709
|
+
,noncreatable
|
|
1710
|
+
]
|
|
1711
|
+
coclass PreparedQuery
|
|
1712
|
+
{
|
|
1713
|
+
[default] interface IPreparedQuery;
|
|
1714
|
+
|
|
1715
|
+
};
|
|
1634
1716
|
|
|
1635
1717
|
};
|
|
1636
1718
|
|
|
@@ -39,14 +39,13 @@ inline size_t strlen16(const char16_t* src)
|
|
|
39
39
|
class cvt
|
|
40
40
|
{
|
|
41
41
|
iconv_t m_cd;
|
|
42
|
-
int m_stat;
|
|
43
42
|
bool m_isOpend;
|
|
44
43
|
|
|
45
44
|
public:
|
|
46
|
-
cvt() :
|
|
45
|
+
cvt() : m_isOpend(false) {}
|
|
47
46
|
|
|
48
47
|
cvt(const char* to, const char* from)
|
|
49
|
-
:
|
|
48
|
+
: m_isOpend(false)
|
|
50
49
|
{
|
|
51
50
|
setCharset(to, from);
|
|
52
51
|
}
|
|
@@ -60,12 +59,13 @@ public:
|
|
|
60
59
|
int setCharset(const char* to, const char* from)
|
|
61
60
|
{
|
|
62
61
|
m_cd = iconv_open(to, from);
|
|
62
|
+
int stat = 0;
|
|
63
63
|
if (m_cd == (iconv_t)-1)
|
|
64
|
-
|
|
64
|
+
stat = ICONV_OPENRRROR;
|
|
65
65
|
else
|
|
66
|
-
|
|
67
|
-
m_isOpend = (
|
|
68
|
-
return
|
|
66
|
+
stat = ICONV_SUCCESS;
|
|
67
|
+
m_isOpend = (stat == ICONV_SUCCESS);
|
|
68
|
+
return stat;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
size_t conv(const char* src, size_t inszie, char* outbuf, size_t outbufsize)
|
data/transactd.gemspec
CHANGED
|
@@ -27,36 +27,22 @@ spec_build = Gem::Specification.new do |s|
|
|
|
27
27
|
s.homepage = 'http://www.bizstation.jp/ja/transactd'
|
|
28
28
|
s.license = 'GPL v2'
|
|
29
29
|
|
|
30
|
-
# read
|
|
31
|
-
verfile = '
|
|
32
|
-
unless File.exist?(verfile)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
versions = {}
|
|
30
|
+
# read version from tdclrb.rc
|
|
31
|
+
verfile = 'build/tdclrb/tdclrb.rc'
|
|
32
|
+
raise 'Can not found ' + verfile unless File.exist?(verfile)
|
|
33
|
+
verpattern = /^[\t ]*VALUE[\t ]+"ProductVersion"[\t ]*,[\t ]*"([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)"[\t\r ]*$/i
|
|
34
|
+
ver_str = ''
|
|
36
35
|
File.open(verfile, "r") {|f|
|
|
37
36
|
f.each_line { |l|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
m = verpattern.match(l)
|
|
38
|
+
if m != nil
|
|
39
|
+
ver_str = m[1].split('.').slice(0..2).join('.')
|
|
40
|
+
break
|
|
41
41
|
end
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
raise 'Can not read versions from ' + verfile
|
|
47
|
-
end
|
|
48
|
-
# read release version from GEM_RELEASE_VERSION
|
|
49
|
-
verfile = 'build/tdclrb/GEM_RELEASE_VERSION'
|
|
50
|
-
unless File.exist?(verfile)
|
|
51
|
-
raise 'Can not found ' + verfile
|
|
52
|
-
end
|
|
53
|
-
File.open(verfile, "r") {|f|
|
|
54
|
-
l = f.read.gsub(/\s\n/, '')
|
|
55
|
-
versions[:GEM_RELEASE_VERSION] = Integer(l)
|
|
56
|
-
}
|
|
57
|
-
s.version = versions[:CPP_INTERFACE_VER_MAJOR].to_s + '.' +
|
|
58
|
-
versions[:CPP_INTERFACE_VER_MINOR].to_s + '.' +
|
|
59
|
-
versions[:GEM_RELEASE_VERSION].to_s
|
|
44
|
+
raise 'Can not read versions from ' + verfile + ' (' + ver_str + ')' if ver_str.length == 0
|
|
45
|
+
s.version = ver_str
|
|
60
46
|
|
|
61
47
|
binary_file = File.join('bin', RUBY_VERSION.match(/\d+\.\d+/)[0], 'transactd.so')
|
|
62
48
|
binarymode = File.exist?(binary_file)
|
|
@@ -83,8 +69,9 @@ spec_build = Gem::Specification.new do |s|
|
|
|
83
69
|
s.files = ['CMakeLists.txt']
|
|
84
70
|
s.files += Dir.glob('bin/common/*.dll') + Dir.glob('bin/common/*.so')
|
|
85
71
|
s.files += Dir.glob('source/**/*') + Dir.glob('build/common/**/*')
|
|
86
|
-
s.files += Dir.glob('build/swig
|
|
87
|
-
s.files += Dir.glob('build/
|
|
72
|
+
s.files += Dir.glob('build/swig/*') + Dir.glob('build/swig/ruby/*')
|
|
73
|
+
s.files += Dir.glob('build/swig/ruby/**/*') + Dir.glob('build/tdclrb/**/*')
|
|
74
|
+
s.files += Dir.glob('build/tdclc/**/*') + Dir.glob('build/tdclcpp/**/*')
|
|
88
75
|
s.files += Dir.glob('./*')
|
|
89
76
|
if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
|
|
90
77
|
# add prebuilt binary
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: transactd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- BizStation Corp.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-12-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Transactd client for ruby gem
|
|
14
14
|
email: transactd@bizstation.jp
|
|
@@ -19,8 +19,8 @@ extra_rdoc_files: []
|
|
|
19
19
|
files:
|
|
20
20
|
- CMakeLists.txt
|
|
21
21
|
- build/tdclrb/bldgem/extconf.rb
|
|
22
|
-
- bin/common/
|
|
23
|
-
- bin/common/
|
|
22
|
+
- bin/common/tdclc_32_2_1.dll
|
|
23
|
+
- bin/common/tdclc_64_2_1.dll
|
|
24
24
|
- source/bzs/db/blobBuffer.h
|
|
25
25
|
- source/bzs/db/blobStructs.h
|
|
26
26
|
- source/bzs/db/engine/mysql/bookmark.h
|
|
@@ -160,6 +160,7 @@ files:
|
|
|
160
160
|
- source/bzs/example/update_with_transaction.cpp
|
|
161
161
|
- source/bzs/example/update_with_transaction_c.cpp
|
|
162
162
|
- source/bzs/example/useORMRecord.cpp
|
|
163
|
+
- source/bzs/netsvc/client/iconnection.h
|
|
163
164
|
- source/bzs/netsvc/client/tcpClient.cpp
|
|
164
165
|
- source/bzs/netsvc/client/tcpClient.h
|
|
165
166
|
- source/bzs/netsvc/server/IAppModule.h
|
|
@@ -250,6 +251,8 @@ files:
|
|
|
250
251
|
- source/global/tdclatl/keySegment.h
|
|
251
252
|
- source/global/tdclatl/PooledDbManager.cpp
|
|
252
253
|
- source/global/tdclatl/PooledDbManager.h
|
|
254
|
+
- source/global/tdclatl/PreparedQuery.cpp
|
|
255
|
+
- source/global/tdclatl/PreparedQuery.h
|
|
253
256
|
- source/global/tdclatl/QueryBase.cpp
|
|
254
257
|
- source/global/tdclatl/QueryBase.h
|
|
255
258
|
- source/global/tdclatl/Record.cpp
|
|
@@ -289,32 +292,13 @@ files:
|
|
|
289
292
|
- build/common/transactd_cl_output.cmake
|
|
290
293
|
- build/common/transactd_common.cmake
|
|
291
294
|
- build/common/transactd_required.cmake
|
|
292
|
-
- build/swig/php/generate.cmake.in
|
|
293
|
-
- build/swig/php/generate.cmd.in
|
|
294
|
-
- build/swig/php/php.swg
|
|
295
|
-
- build/swig/php/transactd.no_yield.php
|
|
296
|
-
- build/swig/php/transactd.no_yield.php.git.patch
|
|
297
|
-
- build/swig/php/transactd.no_yield.php.patch
|
|
298
|
-
- build/swig/php/transactd.yield.php
|
|
299
|
-
- build/swig/php/transactd.yield.php.git.patch
|
|
300
|
-
- build/swig/php/transactd.yield.php.patch
|
|
301
295
|
- build/swig/referencecounter.h
|
|
302
|
-
- build/swig/
|
|
303
|
-
- build/swig/
|
|
296
|
+
- build/swig/tdcl.i
|
|
297
|
+
- build/swig/validatablepointer.h
|
|
304
298
|
- build/swig/ruby/ruby.swg
|
|
299
|
+
- build/swig/ruby/tdclrb_wrap.cpp
|
|
305
300
|
- build/swig/ruby/threadBlockRegionWrapper.h
|
|
306
301
|
- build/swig/ruby/without_gvl.swg
|
|
307
|
-
- build/swig/tdcl.i
|
|
308
|
-
- build/swig/validatablepointer.h
|
|
309
|
-
- build/tdclc/BUILDNUMBER.txt
|
|
310
|
-
- build/tdclc/CMakeLists.txt
|
|
311
|
-
- build/tdclc/tdclc.cbproj
|
|
312
|
-
- build/tdclc/tdclc.rc
|
|
313
|
-
- build/tdclcpp/BUILDNUMBER.txt
|
|
314
|
-
- build/tdclcpp/CMakeLists.txt
|
|
315
|
-
- build/tdclcpp/tdclcpp.rc
|
|
316
|
-
- build/tdclcpp/tdclcpp_bc.cbproj
|
|
317
|
-
- build/tdclrb/BUILDNUMBER.txt
|
|
318
302
|
- build/tdclrb/CMakeLists.txt
|
|
319
303
|
- build/tdclrb/gem/detect.rb
|
|
320
304
|
- build/tdclrb/gem/helper.rb
|
|
@@ -323,7 +307,14 @@ files:
|
|
|
323
307
|
- build/tdclrb/gem/Makefile.win32-VS
|
|
324
308
|
- build/tdclrb/gem/transactd.rb
|
|
325
309
|
- build/tdclrb/gem_output.cmake
|
|
326
|
-
- build/tdclrb/
|
|
310
|
+
- build/tdclrb/tdclrb.rc
|
|
311
|
+
- build/tdclc/CMakeLists.txt
|
|
312
|
+
- build/tdclc/libtdclcm.map
|
|
313
|
+
- build/tdclc/tdclc.cbproj
|
|
314
|
+
- build/tdclc/tdclc.rc
|
|
315
|
+
- build/tdclcpp/CMakeLists.txt
|
|
316
|
+
- build/tdclcpp/tdclcpp.rc
|
|
317
|
+
- build/tdclcpp/tdclcpp_bc.cbproj
|
|
327
318
|
- ./BUILD_UNIX-JA
|
|
328
319
|
- ./BUILD_WIN-JA
|
|
329
320
|
- ./CMakeLists.txt
|
data/bin/common/tdclc_32_2_0.dll
DELETED
|
Binary file
|
data/bin/common/tdclc_64_2_0.dll
DELETED
|
Binary file
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
##=================================================================
|
|
2
|
-
# Copyright (C) 2012 2013 BizStation Corp All rights reserved.
|
|
3
|
-
#
|
|
4
|
-
# This program is free software; you can redistribute it and/or
|
|
5
|
-
# modify it under the terms of the GNU General Public License
|
|
6
|
-
# as published by the Free Software Foundation; either version 2
|
|
7
|
-
# of the License, or (at your option) any later version.
|
|
8
|
-
#
|
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
-
# GNU General Public License for more details.
|
|
13
|
-
#
|
|
14
|
-
# You should have received a copy of the GNU General Public License
|
|
15
|
-
# along with this program; if not, write to the Free Software
|
|
16
|
-
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
|
-
# 02111-1307, USA.
|
|
18
|
-
##=================================================================
|
|
19
|
-
## GENERATE SWIG WRAPPER
|
|
20
|
-
if(WIN32)
|
|
21
|
-
execute_process(
|
|
22
|
-
ERROR_VARIABLE TRANSACTD_GENERATE_ERROR_VAR
|
|
23
|
-
COMMAND "@SWIG_GEN_CMD_WIN@"
|
|
24
|
-
)
|
|
25
|
-
else()
|
|
26
|
-
get_filename_component(TRANSACTD_PHP_PATH "@SWIG_NATIVE_OUTFILE@" PATH)
|
|
27
|
-
file(TO_CMAKE_PATH "${TRANSACTD_PHP_PATH}/transactd.php" TRANSACTD_PHP_PATH)
|
|
28
|
-
## generate correct transactd.php
|
|
29
|
-
MESSAGE("Generating ${TRANSACTD_PHP_PATH}.correct ...")
|
|
30
|
-
execute_process(
|
|
31
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different "@SWIG_INTERFACE_FILE@" "@SWIG_INTERFACE_FILE@.org")
|
|
32
|
-
execute_process(
|
|
33
|
-
COMMAND grep -v "^%newobj" "@SWIG_INTERFACE_FILE@.org"
|
|
34
|
-
OUTPUT_FILE "@SWIG_INTERFACE_FILE@")
|
|
35
|
-
execute_process(
|
|
36
|
-
ERROR_VARIABLE TRANSACTD_GENERATE_ERROR_VAR
|
|
37
|
-
COMMAND swig -c++ -php5 -I@SWIG_INC_PATH1@ -I@SWIG_INC_PATH2@ -o @SWIG_NATIVE_OUTFILE@ @SWIG_INTERFACE_FILE@)
|
|
38
|
-
execute_process(
|
|
39
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${TRANSACTD_PHP_PATH}" "${TRANSACTD_PHP_PATH}.correct")
|
|
40
|
-
execute_process(
|
|
41
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different "@SWIG_INTERFACE_FILE@.org" "@SWIG_INTERFACE_FILE@")
|
|
42
|
-
execute_process(
|
|
43
|
-
COMMAND ${CMAKE_COMMAND} -E remove "@SWIG_INTERFACE_FILE@.org")
|
|
44
|
-
## generate wrapper cpp
|
|
45
|
-
execute_process(
|
|
46
|
-
ERROR_VARIABLE TRANSACTD_GENERATE_ERROR_VAR
|
|
47
|
-
COMMAND swig -c++ -php5 -I@SWIG_INC_PATH1@ -I@SWIG_INC_PATH2@ -o @SWIG_NATIVE_OUTFILE@ @SWIG_INTERFACE_FILE@)
|
|
48
|
-
## overwrite with correct transactd.php
|
|
49
|
-
execute_process(
|
|
50
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${TRANSACTD_PHP_PATH}.correct" "${TRANSACTD_PHP_PATH}")
|
|
51
|
-
endif()
|
|
52
|
-
|
|
53
|
-
if("${TRANSACTD_GENERATE_ERROR_VAR}" STREQUAL "")
|
|
54
|
-
else()
|
|
55
|
-
message(STATUS ${TRANSACTD_GENERATE_ERROR_VAR})
|
|
56
|
-
endif()
|