transactd 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/bin/common/tdclc_32_2_2.dll +0 -0
  3. data/bin/common/tdclc_64_2_2.dll +0 -0
  4. data/build/swig/ruby/generate.cmd +45 -0
  5. data/build/swig/ruby/generate.sh +40 -0
  6. data/build/swig/ruby/tdclrb_wrap.cpp +406 -969
  7. data/build/swig/tdcl.i +88 -0
  8. data/build/tdclc/CMakeLists.txt +5 -1
  9. data/build/tdclc/tdclc.cbproj +1 -1
  10. data/build/tdclc/tdclc.rc +4 -4
  11. data/build/tdclcpp/tdclcpp.rc +4 -4
  12. data/build/tdclcpp/tdclcpp_bc.cbproj +1 -1
  13. data/build/tdclrb/tdclrb.rc +4 -4
  14. data/source/bzs/db/engine/mysql/database.cpp +165 -74
  15. data/source/bzs/db/engine/mysql/database.h +19 -5
  16. data/source/bzs/db/engine/mysql/dbManager.cpp +33 -11
  17. data/source/bzs/db/engine/mysql/dbManager.h +6 -1
  18. data/source/bzs/db/engine/mysql/mydebuglog.h +12 -0
  19. data/source/bzs/db/engine/mysql/mysqlInternal.h +10 -3
  20. data/source/bzs/db/engine/mysql/mysqlThd.cpp +20 -8
  21. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +12 -7
  22. data/source/bzs/db/protocol/hs/hsCommandExecuter.h +1 -1
  23. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +1 -0
  24. data/source/bzs/db/protocol/tdap/client/client.cpp +17 -15
  25. data/source/bzs/db/protocol/tdap/client/client.h +102 -30
  26. data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +1 -1
  27. data/source/bzs/db/protocol/tdap/client/database.cpp +32 -10
  28. data/source/bzs/db/protocol/tdap/client/database.h +1 -0
  29. data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +0 -2
  30. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +2 -0
  31. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +47 -42
  32. data/source/bzs/db/protocol/tdap/client/fields.h +3 -1
  33. data/source/bzs/db/protocol/tdap/client/filter.h +3 -3
  34. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +18 -2
  35. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +3 -2
  36. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +14 -6
  37. data/source/bzs/db/protocol/tdap/client/nsTable.h +12 -12
  38. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +6 -3
  39. data/source/bzs/db/protocol/tdap/client/request.h +1 -0
  40. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +101 -64
  41. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +3 -0
  42. data/source/bzs/db/protocol/tdap/client/stringConverter.h +9 -13
  43. data/source/bzs/db/protocol/tdap/client/table.cpp +73 -56
  44. data/source/bzs/db/protocol/tdap/client/table.h +8 -8
  45. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +52 -100
  46. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +8 -1
  47. data/source/bzs/db/protocol/tdap/mysql/request.h +6 -0
  48. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +349 -189
  49. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +28 -12
  50. data/source/bzs/db/protocol/tdap/tdapRequest.h +5 -4
  51. data/source/bzs/db/protocol/tdap/tdapSchema.h +6 -1
  52. data/source/bzs/db/protocol/tdap/tdapcapi.h +29 -4
  53. data/source/bzs/db/protocol/tdap/uri.h +297 -0
  54. data/source/bzs/db/transactd/appModule.cpp +41 -16
  55. data/source/bzs/db/transactd/appModule.h +1 -2
  56. data/source/bzs/db/transactd/transactd.cpp +37 -14
  57. data/source/bzs/env/crosscompile.h +1 -3
  58. data/source/bzs/example/queryData.cpp +2 -2
  59. data/source/bzs/netsvc/client/iconnection.h +3 -1
  60. data/source/bzs/netsvc/client/tcpClient.cpp +75 -28
  61. data/source/bzs/netsvc/client/tcpClient.h +94 -62
  62. data/source/bzs/netsvc/server/IAppModule.h +2 -2
  63. data/source/bzs/netsvc/server/serverCpt.cpp +17 -10
  64. data/source/bzs/netsvc/server/serverPipe.cpp +26 -19
  65. data/source/bzs/netsvc/server/serverTpool.cpp +8 -2
  66. data/source/bzs/rtl/debuglog.cpp +21 -5
  67. data/source/bzs/rtl/debuglog.h +1 -1
  68. data/source/bzs/test/tdclphp/transactd_Test.php +183 -37
  69. data/source/bzs/test/tdclphp/transactd_pool_Test.php +1 -2
  70. data/source/bzs/test/tdclrb/transactd_spec.rb +183 -39
  71. data/source/bzs/test/transactdBench/scaling_bench.cpp +3 -3
  72. data/source/bzs/test/trdclengn/test_trdclengn.cpp +172 -57
  73. data/source/global/boost/sha1.hpp +223 -0
  74. data/source/global/tdclatl/ConnectParams.cpp +2 -2
  75. data/source/global/tdclatl/ConnectParams.h +1 -1
  76. data/source/global/tdclatl/Database.cpp +18 -0
  77. data/source/global/tdclatl/Database.h +5 -0
  78. data/source/global/tdclatl/tdclatl.idl +23 -1
  79. data/source/linux/linuxTypes.h +2 -0
  80. metadata +8 -6
  81. data/bin/common/tdclc_32_2_1.dll +0 -0
  82. data/bin/common/tdclc_64_2_1.dll +0 -0
  83. data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +0 -448
  84. data/source/bzs/db/protocol/tdap/client/memRecordset.h +0 -159
@@ -0,0 +1,223 @@
1
+ // boost/uuid/sha1.hpp header file ----------------------------------------------//
2
+
3
+ // Copyright 2007 Andy Tompkins.
4
+ // Distributed under the Boost Software License, Version 1.0. (See
5
+ // accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // Revision History
9
+ // 29 May 2007 - Initial Revision
10
+ // 25 Feb 2008 - moved to namespace boost::uuids::detail
11
+ // 10 Jan 2012 - can now handle the full size of messages (2^64 - 1 bits)
12
+
13
+ // This is a byte oriented implementation
14
+
15
+ #ifndef BOOST_UUID_SHA1_H
16
+ #define BOOST_UUID_SHA1_H
17
+
18
+ #include <boost/static_assert.hpp>
19
+ #include <stdexcept>
20
+ #include <boost/throw_exception.hpp>
21
+ #include <cstddef>
22
+
23
+ #ifdef BOOST_NO_STDC_NAMESPACE
24
+ namespace std {
25
+ using ::size_t;
26
+ } // namespace std
27
+ #endif
28
+
29
+ namespace boost {
30
+ namespace uuids {
31
+ namespace detail {
32
+
33
+ BOOST_STATIC_ASSERT(sizeof(unsigned char)*8 == 8);
34
+ BOOST_STATIC_ASSERT(sizeof(unsigned int)*8 == 32);
35
+
36
+ inline unsigned int left_rotate(unsigned int x, std::size_t n)
37
+ {
38
+ return (x<<n) ^ (x>> (32-n));
39
+ }
40
+
41
+ class sha1
42
+ {
43
+ public:
44
+ typedef unsigned int(&digest_type)[5];
45
+ public:
46
+ sha1();
47
+
48
+ void reset();
49
+
50
+ void process_byte(unsigned char byte);
51
+ void process_block(void const* bytes_begin, void const* bytes_end);
52
+ void process_bytes(void const* buffer, std::size_t byte_count);
53
+
54
+ void get_digest(digest_type digest);
55
+
56
+ private:
57
+ void process_block();
58
+ void process_byte_impl(unsigned char byte);
59
+
60
+ private:
61
+ unsigned int h_[5];
62
+
63
+ unsigned char block_[64];
64
+
65
+ std::size_t block_byte_index_;
66
+ std::size_t bit_count_low;
67
+ std::size_t bit_count_high;
68
+ };
69
+
70
+ inline sha1::sha1()
71
+ {
72
+ reset();
73
+ }
74
+
75
+ inline void sha1::reset()
76
+ {
77
+ h_[0] = 0x67452301;
78
+ h_[1] = 0xEFCDAB89;
79
+ h_[2] = 0x98BADCFE;
80
+ h_[3] = 0x10325476;
81
+ h_[4] = 0xC3D2E1F0;
82
+
83
+ block_byte_index_ = 0;
84
+ bit_count_low = 0;
85
+ bit_count_high = 0;
86
+ }
87
+
88
+ inline void sha1::process_byte(unsigned char byte)
89
+ {
90
+ process_byte_impl(byte);
91
+
92
+ bit_count_low += 8;
93
+ if (bit_count_low == 0) {
94
+ ++bit_count_high;
95
+ if (bit_count_high == 0) {
96
+ BOOST_THROW_EXCEPTION(std::runtime_error("sha1 too many bytes"));
97
+ }
98
+ }
99
+ }
100
+
101
+ inline void sha1::process_byte_impl(unsigned char byte)
102
+ {
103
+ block_[block_byte_index_++] = byte;
104
+
105
+ if (block_byte_index_ == 64) {
106
+ block_byte_index_ = 0;
107
+ process_block();
108
+ }
109
+ }
110
+
111
+ inline void sha1::process_block(void const* bytes_begin, void const* bytes_end)
112
+ {
113
+ unsigned char const* begin = static_cast<unsigned char const*>(bytes_begin);
114
+ unsigned char const* end = static_cast<unsigned char const*>(bytes_end);
115
+ for(; begin != end; ++begin) {
116
+ process_byte(*begin);
117
+ }
118
+ }
119
+
120
+ inline void sha1::process_bytes(void const* buffer, std::size_t byte_count)
121
+ {
122
+ unsigned char const* b = static_cast<unsigned char const*>(buffer);
123
+ process_block(b, b+byte_count);
124
+ }
125
+
126
+ inline void sha1::process_block()
127
+ {
128
+ unsigned int w[80];
129
+ for (std::size_t i=0; i<16; ++i) {
130
+ w[i] = (block_[i*4 + 0] << 24);
131
+ w[i] |= (block_[i*4 + 1] << 16);
132
+ w[i] |= (block_[i*4 + 2] << 8);
133
+ w[i] |= (block_[i*4 + 3]);
134
+ }
135
+ for (std::size_t i=16; i<80; ++i) {
136
+ w[i] = left_rotate((w[i-3] ^ w[i-8] ^ w[i-14] ^ w[i-16]), 1);
137
+ }
138
+
139
+ unsigned int a = h_[0];
140
+ unsigned int b = h_[1];
141
+ unsigned int c = h_[2];
142
+ unsigned int d = h_[3];
143
+ unsigned int e = h_[4];
144
+
145
+ for (std::size_t i=0; i<80; ++i) {
146
+ unsigned int f;
147
+ unsigned int k;
148
+
149
+ if (i<20) {
150
+ f = (b & c) | (~b & d);
151
+ k = 0x5A827999;
152
+ } else if (i<40) {
153
+ f = b ^ c ^ d;
154
+ k = 0x6ED9EBA1;
155
+ } else if (i<60) {
156
+ f = (b & c) | (b & d) | (c & d);
157
+ k = 0x8F1BBCDC;
158
+ } else {
159
+ f = b ^ c ^ d;
160
+ k = 0xCA62C1D6;
161
+ }
162
+
163
+ unsigned temp = left_rotate(a, 5) + f + e + k + w[i];
164
+ e = d;
165
+ d = c;
166
+ c = left_rotate(b, 30);
167
+ b = a;
168
+ a = temp;
169
+ }
170
+
171
+ h_[0] += a;
172
+ h_[1] += b;
173
+ h_[2] += c;
174
+ h_[3] += d;
175
+ h_[4] += e;
176
+ }
177
+
178
+ inline void sha1::get_digest(digest_type digest)
179
+ {
180
+ // append the bit '1' to the message
181
+ process_byte_impl(0x80);
182
+
183
+ // append k bits '0', where k is the minimum number >= 0
184
+ // such that the resulting message length is congruent to 56 (mod 64)
185
+ // check if there is enough space for padding and bit_count
186
+ if (block_byte_index_ > 56) {
187
+ // finish this block
188
+ while (block_byte_index_ != 0) {
189
+ process_byte_impl(0);
190
+ }
191
+
192
+ // one more block
193
+ while (block_byte_index_ < 56) {
194
+ process_byte_impl(0);
195
+ }
196
+ } else {
197
+ while (block_byte_index_ < 56) {
198
+ process_byte_impl(0);
199
+ }
200
+ }
201
+
202
+ // append length of message (before pre-processing)
203
+ // as a 64-bit big-endian integer
204
+ process_byte_impl( static_cast<unsigned char>((bit_count_high>>24) & 0xFF) );
205
+ process_byte_impl( static_cast<unsigned char>((bit_count_high>>16) & 0xFF) );
206
+ process_byte_impl( static_cast<unsigned char>((bit_count_high>>8 ) & 0xFF) );
207
+ process_byte_impl( static_cast<unsigned char>((bit_count_high) & 0xFF) );
208
+ process_byte_impl( static_cast<unsigned char>((bit_count_low>>24) & 0xFF) );
209
+ process_byte_impl( static_cast<unsigned char>((bit_count_low>>16) & 0xFF) );
210
+ process_byte_impl( static_cast<unsigned char>((bit_count_low>>8 ) & 0xFF) );
211
+ process_byte_impl( static_cast<unsigned char>((bit_count_low) & 0xFF) );
212
+
213
+ // get final digest
214
+ digest[0] = h_[0];
215
+ digest[1] = h_[1];
216
+ digest[2] = h_[2];
217
+ digest[3] = h_[3];
218
+ digest[4] = h_[4];
219
+ }
220
+
221
+ }}} // namespace boost::uuids::detail
222
+
223
+ #endif
@@ -22,11 +22,11 @@
22
22
  using namespace bzs::db::protocol::tdap::client;
23
23
 
24
24
  STDMETHODIMP CConnectParams::Init(BSTR protocol, BSTR hostOrIp, BSTR dbname,
25
- BSTR schemaTable)
25
+ BSTR schemaTable, BSTR username, BSTR passwd)
26
26
  {
27
27
  if (m_param)
28
28
  delete m_param;
29
- m_param = new connectParams(protocol, hostOrIp, dbname, schemaTable);
29
+ m_param = new connectParams(protocol, hostOrIp, dbname, schemaTable, username, passwd);
30
30
  return S_OK;
31
31
  }
32
32
  STDMETHODIMP CConnectParams::put_Uri(BSTR val)
@@ -58,7 +58,7 @@ public:
58
58
 
59
59
  public:
60
60
  STDMETHOD(Init)(BSTR protocol, BSTR hostOrIp, BSTR dbname,
61
- BSTR schemaTable);
61
+ BSTR schemaTable, BSTR username, BSTR passwd);
62
62
  STDMETHOD(put_Uri)(BSTR val);
63
63
  STDMETHOD(get_Uri)(BSTR* retVal);
64
64
  STDMETHOD(put_Mode)(short val);
@@ -455,6 +455,12 @@ STDMETHODIMP CDatabase::get_RefCount(int* Value)
455
455
  return S_OK;
456
456
  }
457
457
 
458
+ STDMETHODIMP CDatabase::AclReload(short* Value)
459
+ {
460
+ *Value = m_db->aclReload();
461
+ return S_OK;
462
+ }
463
+
458
464
  STDMETHODIMP CDatabase::get_TrnsactionFlushWaitStatus(VARIANT_BOOL* Value)
459
465
  {
460
466
  *Value = database::trnsactionFlushWaitStatus();
@@ -479,6 +485,18 @@ STDMETHODIMP CDatabase::get_MaxTables(int* Value)
479
485
  return S_OK;
480
486
  }
481
487
 
488
+ STDMETHODIMP CDatabase::get_TrxIsolationServer(eSrvIsorationType* Value)
489
+ {
490
+ *Value = (eSrvIsorationType)m_db->trxIsolationServer();
491
+ return S_OK;
492
+ }
493
+
494
+ STDMETHODIMP CDatabase::get_TrxLockWaitTimeoutServer(int* Value)
495
+ {
496
+ *Value = m_db->trxLockWaitTimeoutServer();
497
+ return S_OK;
498
+ }
499
+
482
500
  void __stdcall onCopyData(database* db, int recordCount, int count,
483
501
  bool& cancel)
484
502
  {
@@ -141,10 +141,15 @@ public:
141
141
  STDMETHOD(SwapTablename)(BSTR Uri1, BSTR Uri2);
142
142
  STDMETHOD(get_ClientID)(short* Value);
143
143
  STDMETHOD(get_RefCount)(int* Value);
144
+ STDMETHOD(AclReload)(short* Value);
144
145
  STDMETHOD(get_TrnsactionFlushWaitStatus)(VARIANT_BOOL* Value);
145
146
  STDMETHOD(put_ExecCodePage)(unsigned int Value);
146
147
  STDMETHOD(get_ExecCodePage)(unsigned int* Value);
147
148
  STDMETHOD(get_MaxTables)(int* Value);
149
+ STDMETHOD(get_TrxIsolationServer)(eSrvIsorationType* Value);
150
+ STDMETHOD(get_TrxLockWaitTimeoutServer)(int* Value);
151
+
152
+
148
153
  };
149
154
 
150
155
  OBJECT_ENTRY_AUTO(__uuidof(Database), CDatabase)
@@ -180,6 +180,7 @@ enum eStatus
180
180
  STATUS_INVALID_DATASIZE = 22,
181
181
  STATUS_INVALID_FIELDNAME = 65,
182
182
  ERROR_TD_INVALID_CLINETHOST = 171,
183
+ ERROR_NO_DATABASE = 172,
183
184
  ERROR_NOSPECIFY_TABLE = 176,
184
185
  ERROR_LOAD_CLIBRARY = 200,
185
186
  ERROR_INDEX_RND_INIT = 201,
@@ -292,6 +293,19 @@ enum eLockType
292
293
 
293
294
  }eLockType;
294
295
 
296
+ typedef
297
+ [
298
+ helpstring("Server isoration type")
299
+ ]
300
+ enum eSrvIsorationType
301
+ {
302
+ SRV_ISO_READ_UNCOMMITED = 0,
303
+ SRV_ISO_READ_COMMITED = 1,
304
+ SRV_ISO_REPEATABLE_READ = 2,
305
+ SRV_ISO_SERIALIZABLE = 3,
306
+
307
+ }eSrvIsorationType;
308
+
295
309
  typedef
296
310
  [
297
311
  helpstring("Snapshot lock type Constants")
@@ -473,6 +487,12 @@ interface IDatabase : IDispatch
473
487
  HRESULT _stdcall ExecCodePage([out, retval] unsigned int* Value);
474
488
  [propget, id(0x000000F3)]
475
489
  HRESULT _stdcall MaxTables([out, retval] int* Value);
490
+ [id(0x000000F4)]
491
+ HRESULT _stdcall AclReload([out, retval] short* Value);
492
+ [propget, id(0x000000F5)]
493
+ HRESULT _stdcall TrxIsolationServer([out, retval] eSrvIsorationType* Value);
494
+ [propget, id(0x000000F6)]
495
+ HRESULT _stdcall TrxLockWaitTimeoutServer([out, retval] int* Value);
476
496
 
477
497
 
478
498
  };
@@ -1452,7 +1472,9 @@ interface IConnectParams : IDispatch
1452
1472
  {
1453
1473
  [id(1)]
1454
1474
  HRESULT _stdcall Init([in] BSTR protocol, [in] BSTR hostOrIp, [in] BSTR dbname,
1455
- [in] BSTR schemaTable);
1475
+ [in] BSTR schemaTable,
1476
+ [in, defaultvalue("")] BSTR username,
1477
+ [in, defaultvalue("")] BSTR passwd);
1456
1478
  [propput, id(2)]
1457
1479
  HRESULT _stdcall Uri([in] BSTR val);
1458
1480
  [propget, id(2)]
@@ -21,8 +21,10 @@
21
21
 
22
22
  #ifndef WCHAR
23
23
  #if (!(__APPLE__ && (__BORLANDC__ || __clang__)))
24
+ #if !defined(__GXX_EXPERIMENTAL_CXX0X__)
24
25
  typedef unsigned short char16_t;
25
26
  #endif
27
+ #endif
26
28
  typedef char16_t WCHAR;
27
29
 
28
30
  #endif
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.1.0
4
+ version: 2.2.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-12-24 00:00:00.000000000 Z
11
+ date: 2015-01-22 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/tdclc_32_2_1.dll
23
- - bin/common/tdclc_64_2_1.dll
22
+ - bin/common/tdclc_32_2_2.dll
23
+ - bin/common/tdclc_64_2_2.dll
24
24
  - source/bzs/db/blobBuffer.h
25
25
  - source/bzs/db/blobStructs.h
26
26
  - source/bzs/db/engine/mysql/bookmark.h
@@ -81,8 +81,6 @@ files:
81
81
  - source/bzs/db/protocol/tdap/client/indexDDF.h
82
82
  - source/bzs/db/protocol/tdap/client/memRecord.cpp
83
83
  - source/bzs/db/protocol/tdap/client/memRecord.h
84
- - source/bzs/db/protocol/tdap/client/memRecordset.cpp
85
- - source/bzs/db/protocol/tdap/client/memRecordset.h
86
84
  - source/bzs/db/protocol/tdap/client/nsDatabase.cpp
87
85
  - source/bzs/db/protocol/tdap/client/nsDatabase.h
88
86
  - source/bzs/db/protocol/tdap/client/nsTable.cpp
@@ -122,6 +120,7 @@ files:
122
120
  - source/bzs/db/protocol/tdap/tdapRequest.h
123
121
  - source/bzs/db/protocol/tdap/tdapSchema.cpp
124
122
  - source/bzs/db/protocol/tdap/tdapSchema.h
123
+ - source/bzs/db/protocol/tdap/uri.h
125
124
  - source/bzs/db/transactd/appBuilderImple.h
126
125
  - source/bzs/db/transactd/appModule.cpp
127
126
  - source/bzs/db/transactd/appModule.h
@@ -210,6 +209,7 @@ files:
210
209
  - source/bzs/test/transactdBench/workerTransactdImple.h
211
210
  - source/bzs/test/trdclengn/test_blob.cpp
212
211
  - source/bzs/test/trdclengn/test_trdclengn.cpp
212
+ - source/global/boost/sha1.hpp
213
213
  - source/global/ormsrcgen/confParam.h
214
214
  - source/global/ormsrcgen/fieldName.cpp
215
215
  - source/global/ormsrcgen/fieldName.h
@@ -295,6 +295,8 @@ files:
295
295
  - build/swig/referencecounter.h
296
296
  - build/swig/tdcl.i
297
297
  - build/swig/validatablepointer.h
298
+ - build/swig/ruby/generate.cmd
299
+ - build/swig/ruby/generate.sh
298
300
  - build/swig/ruby/ruby.swg
299
301
  - build/swig/ruby/tdclrb_wrap.cpp
300
302
  - build/swig/ruby/threadBlockRegionWrapper.h
Binary file
Binary file