transactd 2.4.5 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +1 -1
  3. data/README-JA.md +52 -529
  4. data/README.md +52 -523
  5. data/bin/common/tdclc_32_3_0.dll +0 -0
  6. data/bin/common/tdclc_64_3_0.dll +0 -0
  7. data/build/common/system.cmake +2 -1
  8. data/build/common/transactd_cl_common.cmake +3 -6
  9. data/build/swig/ruby/ruby.swg +85 -28
  10. data/build/swig/ruby/tdclrb_wrap.cpp +3195 -1578
  11. data/build/swig/tdcl.i +161 -5
  12. data/build/tdclc/CMakeLists.txt +1 -0
  13. data/build/tdclc/tdclc.cbproj +7 -1
  14. data/build/tdclc/tdclc.rc +4 -4
  15. data/build/tdclcpp/tdclcpp.rc +4 -4
  16. data/build/tdclcpp/tdclcpp_bc.cbproj +2 -5
  17. data/build/tdclrb/tdclrb.rc +4 -4
  18. data/source/bzs/db/blobStructs.h +1 -1
  19. data/source/bzs/db/engine/mysql/database.cpp +199 -74
  20. data/source/bzs/db/engine/mysql/database.h +47 -18
  21. data/source/bzs/db/engine/mysql/dbManager.cpp +1 -0
  22. data/source/bzs/db/engine/mysql/mysqlInternal.h +32 -8
  23. data/source/bzs/db/protocol/tdap/btrDate.cpp +110 -75
  24. data/source/bzs/db/protocol/tdap/btrDate.h +46 -21
  25. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +18 -18
  26. data/source/bzs/db/protocol/tdap/client/activeTable.h +25 -25
  27. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +10 -4
  28. data/source/bzs/db/protocol/tdap/client/client.cpp +6 -5
  29. data/source/bzs/db/protocol/tdap/client/client.h +82 -15
  30. data/source/bzs/db/protocol/tdap/client/database.cpp +531 -142
  31. data/source/bzs/db/protocol/tdap/client/database.h +19 -6
  32. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +461 -408
  33. data/source/bzs/db/protocol/tdap/client/dbDef.h +11 -17
  34. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +61 -13
  35. data/source/bzs/db/protocol/tdap/client/field.cpp +1592 -1398
  36. data/source/bzs/db/protocol/tdap/client/field.h +110 -121
  37. data/source/bzs/db/protocol/tdap/client/fields.h +40 -10
  38. data/source/bzs/db/protocol/tdap/client/filter.h +69 -55
  39. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +296 -164
  40. data/source/bzs/db/protocol/tdap/client/groupQuery.h +77 -25
  41. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +31 -13
  42. data/source/bzs/db/protocol/tdap/client/memRecord.h +31 -21
  43. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +1 -1
  44. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
  45. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +69 -24
  46. data/source/bzs/db/protocol/tdap/client/nsTable.h +3 -1
  47. data/source/bzs/db/protocol/tdap/client/recordset.cpp +1 -0
  48. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +46 -27
  49. data/source/bzs/db/protocol/tdap/client/request.h +2 -1
  50. data/source/bzs/db/protocol/tdap/client/serializer.cpp +44 -9
  51. data/source/bzs/db/protocol/tdap/client/serializer.h +1 -1
  52. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +182 -76
  53. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +23 -12
  54. data/source/bzs/db/protocol/tdap/client/stringConverter.h +8 -10
  55. data/source/bzs/db/protocol/tdap/client/table.cpp +172 -93
  56. data/source/bzs/db/protocol/tdap/client/table.h +112 -37
  57. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +17 -0
  58. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +0 -1
  59. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +0 -2
  60. data/source/bzs/db/protocol/tdap/client/trdormapi.h +1 -1
  61. data/source/bzs/db/protocol/tdap/fieldComp.h +698 -14
  62. data/source/bzs/db/protocol/tdap/myDateTime.cpp +723 -307
  63. data/source/bzs/db/protocol/tdap/myDateTime.h +294 -0
  64. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +164 -54
  65. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +6 -3
  66. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +133 -550
  67. data/source/bzs/db/protocol/tdap/mysql/request.h +6 -5
  68. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +217 -82
  69. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +1 -1
  70. data/source/bzs/db/protocol/tdap/tdapRequest.h +4 -9
  71. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +808 -17
  72. data/source/bzs/db/protocol/tdap/tdapSchema.h +656 -164
  73. data/source/bzs/db/protocol/tdap/tdapcapi.h +130 -28
  74. data/source/bzs/db/protocol/tdap/uri.h +40 -32
  75. data/source/bzs/db/transactd/connManager.cpp +1 -1
  76. data/source/bzs/db/transactd/transactd.cpp +7 -0
  77. data/source/bzs/env/compiler.h +107 -94
  78. data/source/bzs/env/crosscompile.cpp +24 -12
  79. data/source/bzs/env/crosscompile.h +75 -6
  80. data/source/bzs/env/mbcswchrLinux.cpp +2 -2
  81. data/source/bzs/env/tcharMinGW.h +4 -0
  82. data/source/bzs/example/changeSchema.cpp +22 -17
  83. data/source/bzs/example/queryData.cpp +4 -0
  84. data/source/bzs/netsvc/client/iconnection.h +3 -1
  85. data/source/bzs/netsvc/client/tcpClient.h +10 -3
  86. data/source/bzs/rtl/stringBuffers.cpp +7 -0
  87. data/source/bzs/test/tdclatl/bench_query_atl.js +6 -0
  88. data/source/bzs/test/tdclatl/bench_tdclatl.js +8 -1
  89. data/source/bzs/test/tdclatl/test_query_atl.js +22 -2
  90. data/source/bzs/test/tdclatl/test_v3.js +1017 -0
  91. data/source/bzs/test/tdclphp/transactd_Test.php +55 -21
  92. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +0 -5
  93. data/source/bzs/test/tdclphp/transactd_pool_Test.php +2 -0
  94. data/source/bzs/test/tdclphp/transactd_v3_Test.php +743 -0
  95. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -5
  96. data/source/bzs/test/tdclrb/transactd_pool_spec.rb +2 -0
  97. data/source/bzs/test/tdclrb/transactd_spec.rb +39 -16
  98. data/source/bzs/test/tdclrb/transactd_v3_spec.rb +748 -0
  99. data/source/bzs/test/transactdBench/transactdBench.cpp +55 -58
  100. data/source/bzs/test/transactdBench/transactdBench2.cpp +1 -3
  101. data/source/bzs/test/trdclengn/testField.h +3305 -0
  102. data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +1050 -0
  103. data/source/bzs/test/trdclengn/test_trdclengn.cpp +112 -190
  104. data/source/bzs/test/trdclengn/testbase.h +137 -0
  105. data/source/global/ormsrcgen/srcgen.cpp +23 -12
  106. data/source/global/ormsrcgen/template/ormDataClass_template.h +2 -0
  107. data/source/global/querystmts/querystmts.cpp +2 -3
  108. data/source/global/tdclatl/Bitset.cpp +38 -0
  109. data/source/global/tdclatl/Bitset.h +63 -0
  110. data/source/global/tdclatl/Database.cpp +59 -18
  111. data/source/global/tdclatl/Database.h +7 -4
  112. data/source/global/tdclatl/DbDef.cpp +6 -6
  113. data/source/global/tdclatl/DbDef.h +2 -1
  114. data/source/global/tdclatl/Field.cpp +112 -0
  115. data/source/global/tdclatl/Field.h +19 -5
  116. data/source/global/tdclatl/FieldDef.cpp +137 -16
  117. data/source/global/tdclatl/FieldDef.h +18 -2
  118. data/source/global/tdclatl/FieldDefs.cpp +54 -1
  119. data/source/global/tdclatl/FieldDefs.h +3 -0
  120. data/source/global/tdclatl/GroupQuery.cpp +8 -8
  121. data/source/global/tdclatl/QueryBase.cpp +65 -0
  122. data/source/global/tdclatl/QueryBase.h +10 -0
  123. data/source/global/tdclatl/Record.cpp +33 -2
  124. data/source/global/tdclatl/Record.h +3 -1
  125. data/source/global/tdclatl/RecordsetQuery.cpp +42 -0
  126. data/source/global/tdclatl/RecordsetQuery.h +8 -0
  127. data/source/global/tdclatl/Table.cpp +127 -3
  128. data/source/global/tdclatl/Table.h +10 -1
  129. data/source/global/tdclatl/TableDef.cpp +41 -8
  130. data/source/global/tdclatl/TableDef.h +7 -2
  131. data/source/global/tdclatl/activeTable.cpp +40 -71
  132. data/source/global/tdclatl/resource.h +0 -0
  133. data/source/global/tdclatl/tdclatl.idl +222 -28
  134. data/source/linux/tchar.h +100 -96
  135. data/transactd.gemspec +2 -2
  136. metadata +13 -11
  137. data/BUILD_UNIX-JA.md +0 -161
  138. data/BUILD_WIN-JA.md +0 -326
  139. data/README_ORMSRCGEN-JA.md +0 -115
  140. data/README_ORMSRCGEN.md +0 -118
  141. data/RELEASE_NOTE-JA.md +0 -356
  142. data/RELEASE_NOTE.md +0 -360
  143. data/bin/common/tdclc_32_2_4.dll +0 -0
  144. data/bin/common/tdclc_64_2_4.dll +0 -0
  145. data/source/bzs/test/trdclengn/test_blob.cpp +0 -375
@@ -104,6 +104,35 @@ static void mark_activeTable(void* ptr) {
104
104
  %}
105
105
 
106
106
 
107
+ /* ===============================================
108
+ record value mode
109
+ =============================================== */
110
+ %ignore g_fieldValueMode;
111
+ %ignore g_recordValueMode;
112
+ %inline %{
113
+ #define FIELDVALUEMODE_RETURNNULL 0
114
+ #define FIELDVALUEMODE_NORETURNNULL 1
115
+ #define RECORD_KEYVALUE_FIELDVALUE 0
116
+ #define RECORD_KEYVALUE_FIELDOBJECT 1
117
+
118
+ static short g_fieldValueMode = FIELDVALUEMODE_NORETURNNULL;
119
+ static short g_recordValueMode = RECORD_KEYVALUE_FIELDOBJECT;
120
+
121
+ short fieldValueMode() {
122
+ return g_fieldValueMode;
123
+ }
124
+ void setFieldValueMode(short mode) {
125
+ g_fieldValueMode = mode;
126
+ }
127
+ short recordValueMode() {
128
+ return g_recordValueMode;
129
+ }
130
+ void setRecordValueMode(short mode) {
131
+ g_recordValueMode = mode;
132
+ }
133
+ %}
134
+
135
+
107
136
  /* ===============================================
108
137
  ignore / rename functions
109
138
  =============================================== */
@@ -162,34 +191,51 @@ static void mark_activeTable(void* ptr) {
162
191
  %rename(getField) bzs::db::protocol::tdap::client::fieldsBase::operator[] (const _TCHAR* name) const;
163
192
  // typemap and expand for get field value.
164
193
  %typemap(argout) (short fieldsBase_getitem_index) {
165
- bzs::db::protocol::tdap::client::field f = arg1->operator[]($1);
166
- __int64 tmp_i64;
167
- double tmp_d;
168
- const _TCHAR* tmp_c_str;
169
- switch (f.type()) {
170
- case ft_integer:
171
- case ft_uinteger:
172
- case ft_autoinc:
173
- case ft_autoIncUnsigned:
174
- case ft_logical:
175
- case ft_bit:
176
- tmp_i64 = f.i64();
177
- $result = SWIG_From_long_SS_long(static_cast< long long >(tmp_i64));
178
- break;
179
- case ft_float:
180
- case ft_decimal:
181
- case ft_money:
182
- case ft_numeric:
183
- case ft_bfloat:
184
- case ft_numericsts:
185
- case ft_numericsa:
186
- case ft_currency:
187
- tmp_d = f.d();
188
- $result = SWIG_From_double(static_cast< double >(tmp_d));
189
- break;
190
- default:
191
- tmp_c_str = f.c_str();
192
- $result = rb_enc_str_new(tmp_c_str, strlen(tmp_c_str), rb_enc_find_from_codepage(CP_UTF8));
194
+ bzs::db::protocol::tdap::client::field f;
195
+ try {
196
+ f = arg1->operator[]($1);
197
+ } catch (bzs::rtl::exception& e) {
198
+ static VALUE bzs_rtl_error = rb_define_class("BZS_RTL_Error", rb_eStandardError);
199
+ rb_raise(bzs_rtl_error, (* bzs::rtl::getMsg(e)).c_str());
200
+ } catch (std::exception &e) {
201
+ static VALUE cpp_std_error = rb_define_class("CPP_STD_Error", rb_eStandardError);
202
+ rb_raise(cpp_std_error, e.what());
203
+ }
204
+ if (recordValueMode() == RECORD_KEYVALUE_FIELDVALUE) { // value mode
205
+ if (fieldValueMode() == FIELDVALUEMODE_RETURNNULL && f.isNull()) { // return null
206
+ $result = Qnil;
207
+ } else {
208
+ __int64 tmp_i64;
209
+ double tmp_d;
210
+ const _TCHAR* tmp_c_str;
211
+ switch (f.type()) {
212
+ case ft_integer:
213
+ case ft_uinteger:
214
+ case ft_autoinc:
215
+ case ft_autoIncUnsigned:
216
+ case ft_logical:
217
+ case ft_bit:
218
+ tmp_i64 = f.i64();
219
+ $result = SWIG_From_long_SS_long(static_cast< long long >(tmp_i64));
220
+ break;
221
+ case ft_float:
222
+ case ft_decimal:
223
+ case ft_money:
224
+ case ft_numeric:
225
+ case ft_bfloat:
226
+ case ft_numericsts:
227
+ case ft_numericsa:
228
+ case ft_currency:
229
+ tmp_d = f.d();
230
+ $result = SWIG_From_double(static_cast< double >(tmp_d));
231
+ break;
232
+ default:
233
+ tmp_c_str = f.c_str();
234
+ $result = rb_enc_str_new(tmp_c_str, strlen(tmp_c_str), rb_enc_find_from_codepage(CP_UTF8));
235
+ }
236
+ }
237
+ } else { // field object mode
238
+ $result = SWIG_NewPointerObj(new bzs::db::protocol::tdap::client::field(f), SWIGTYPE_p_bzs__db__protocol__tdap__client__field, SWIG_POINTER_OWN | 0 );
193
239
  }
194
240
  }
195
241
  %apply short fieldsBase_getitem_index { const _TCHAR* fieldsBase_getitem_index };
@@ -206,7 +252,18 @@ static void mark_activeTable(void* ptr) {
206
252
  %rename(__getitem__) bzs::db::protocol::tdap::client::sortFields::operator[];
207
253
 
208
254
  // * bzs/db/protocol/tdap/client/memRecord.h *
255
+ %ignore bzs::db::protocol::tdap::client::field::operator=(const char*);
256
+ %ignore bzs::db::protocol::tdap::client::field::operator=(const std::string&);
257
+ %ignore bzs::db::protocol::tdap::client::field::operator=(int);
258
+ %ignore bzs::db::protocol::tdap::client::field::operator=(float);
259
+ %rename(str) bzs::db::protocol::tdap::client::field::c_str;
260
+ %alias bzs::db::protocol::tdap::client::field::getBin "bin";
261
+ %rename(__setitem__) bzs::db::protocol::tdap::client::field::operator=(const _TCHAR*);
262
+ %rename(__setitem__) bzs::db::protocol::tdap::client::field::operator=(__int64);
263
+ %rename(__setitem__) bzs::db::protocol::tdap::client::field::operator=(double);
209
264
  %rename(__setitem__) bzs::db::protocol::tdap::client::field::setBin;
265
+ %alias bzs::db::protocol::tdap::client::field::setBin "setBin";
266
+ %alias bzs::db::protocol::tdap::client::field::setBin "setValue";
210
267
  %extend bzs::db::protocol::tdap::client::writableRecord {
211
268
  void __setitem__(short writableRecord_setitem_index, const _TCHAR* v) {
212
269
  self->operator[](writableRecord_setitem_index) = v;