transactd 2.4.5 → 3.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.
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
@@ -271,21 +271,15 @@ bool createTestDataBase(client::database* db, const _TCHAR* uri)
271
271
  client::dbdef* def = db->dbDef();
272
272
 
273
273
  tabledef td;
274
- memset(&td, 0, sizeof(td));
275
274
  td.setTableName(_T("user"));
276
275
  td.setFileName(_T("user.dat"));
277
276
  td.id = 1;
278
- td.primaryKeyNum = -1;
279
- td.parentKeyNum = -1;
280
- td.replicaKeyNum = -1;
281
- td.pageSize = 2048;
282
277
  def->insertTable(&td);
283
278
 
284
279
  fielddef* fd = def->insertField(td.id, 0);
285
280
  fd->setName(_T("id"));
286
281
  fd->type = ft_integer;
287
282
  fd->len = (ushort_td)4;
288
- def->updateTableDef(1);
289
283
 
290
284
  fd = def->insertField(td.id, 1);
291
285
  fd->setName(_T("name"));
@@ -294,9 +288,7 @@ bool createTestDataBase(client::database* db, const _TCHAR* uri)
294
288
  else
295
289
  fd->type = ft_zstring;
296
290
 
297
- fd->len = (ushort_td)100;
298
- def->updateTableDef(td.id);
299
-
291
+ fd->setLenByCharnum(49);
300
292
  keydef* kd = def->insertKey(td.id, 0);
301
293
  kd->segments[0].fieldNum = 0;
302
294
  kd->segments[0].flags.bit8 = 1; // extend key type
@@ -305,7 +297,9 @@ bool createTestDataBase(client::database* db, const _TCHAR* uri)
305
297
 
306
298
  td.primaryKeyNum = 0;
307
299
  def->updateTableDef(td.id);
308
- return true;
300
+ if (def->stat())
301
+ printf("crate daatabse erorr No:%d\r\n", def->stat());
302
+ return def->stat() == 0;
309
303
  }
310
304
  else
311
305
  printf("open daatabse erorr No:%d\r\n", db->stat());
@@ -392,61 +386,64 @@ int _tmain(int argc, _TCHAR* argv[])
392
386
  printHeader(uri, count);
393
387
 
394
388
  if (!db->open(uri, TYPE_BDF, TD_OPEN_NORMAL, _T(""), _T("")))
395
- printf("open table erorr No:%d\r\n", db->stat());
389
+ printf("open database erorr No:%d\r\n", db->stat());
396
390
  else
397
391
  {
398
392
  client::table* tb = openTable(db, _T("user"), TD_OPEN_NORMAL);
399
-
400
- if ((exeType == -1) || (exeType == 0))
393
+ if (tb)
401
394
  {
402
- if (insertBeforeNoDelete || deleteAll(db, tb, start, end))
395
+ if ((exeType == -1) || (exeType == 0))
396
+ {
397
+ if (insertBeforeNoDelete || deleteAll(db, tb, start, end))
398
+ benchmark::report(
399
+ boost::bind(Inserts, db, tb, start, end, USE_NORMAL, 1),
400
+ ": Insert");
401
+ else
402
+ printf("deleteAll erorr No:%d\r\n", tb->stat());
403
+ }
404
+ if ((exeType == -1) || (exeType == 1))
405
+ {
406
+ if (insertBeforeNoDelete || deleteAll(db, tb, start, end))
407
+ benchmark::report(
408
+ boost::bind(Inserts, db, tb, start, end, USE_TRANS, 20),
409
+ ": Insert in transaction. 20rec x 1000times.");
410
+ else
411
+ printf("deleteAll erorr No:%d\r\n", tb->stat());
412
+ }
413
+ if ((exeType == -1) || (exeType == 2))
414
+ {
415
+ if (insertBeforeNoDelete || deleteAll(db, tb, start, end))
416
+ benchmark::report(
417
+ boost::bind(Inserts, db, tb, start, end, USE_BALKINS, 20),
418
+ ": Insert by bulkmode. 20rec x 1000times.");
419
+ else
420
+ printf("deleteAll erorr No:%d\r\n", tb->stat());
421
+ }
422
+ if ((exeType == -1) || (exeType == 3))
423
+ benchmark::report(boost::bind(Read, db, tb, start, end, USE_NORMAL),
424
+ ": read each record.");
425
+ if ((exeType == -1) || (exeType == 4))
403
426
  benchmark::report(
404
- boost::bind(Inserts, db, tb, start, end, USE_NORMAL, 1),
405
- ": Insert");
406
- else
407
- printf("deleteAll erorr No:%d\r\n", tb->stat());
408
- }
409
- if ((exeType == -1) || (exeType == 1))
410
- {
411
- if (insertBeforeNoDelete || deleteAll(db, tb, start, end))
427
+ boost::bind(Read, db, tb, start, end, USE_SNAPSHOT),
428
+ ": read each record with snapshpot.");
429
+ if ((exeType == -1) || (exeType == 5))
412
430
  benchmark::report(
413
- boost::bind(Inserts, db, tb, start, end, USE_TRANS, 20),
414
- ": Insert in transaction. 20rec x 1000times.");
415
- else
416
- printf("deleteAll erorr No:%d\r\n", tb->stat());
417
- }
418
- if ((exeType == -1) || (exeType == 2))
419
- {
420
- if (insertBeforeNoDelete || deleteAll(db, tb, start, end))
431
+ boost::bind(Reads, db, tb, start, end, 20, USE_NORMAL),
432
+ ": read range. 20rec x 1000times.");
433
+ if ((exeType == -1) || (exeType == 6))
421
434
  benchmark::report(
422
- boost::bind(Inserts, db, tb, start, end, USE_BALKINS, 20),
423
- ": Insert by bulkmode. 20rec x 1000times.");
424
- else
425
- printf("deleteAll erorr No:%d\r\n", tb->stat());
426
- }
427
- if ((exeType == -1) || (exeType == 3))
428
- benchmark::report(boost::bind(Read, db, tb, start, end, USE_NORMAL),
429
- ": read each record.");
430
- if ((exeType == -1) || (exeType == 4))
431
- benchmark::report(
432
- boost::bind(Read, db, tb, start, end, USE_SNAPSHOT),
433
- ": read each record with snapshpot.");
434
- if ((exeType == -1) || (exeType == 5))
435
- benchmark::report(
436
- boost::bind(Reads, db, tb, start, end, 20, USE_NORMAL),
437
- ": read range. 20rec x 1000times.");
438
- if ((exeType == -1) || (exeType == 6))
439
- benchmark::report(
440
- boost::bind(Reads, db, tb, start, end, 20, USE_SNAPSHOT),
441
- ": read range with snapshpot. 20rec x 1000times.");
442
- if ((exeType == -1) || (exeType == 7))
443
- benchmark::report(
444
- boost::bind(Updates, db, tb, start, end, USE_NORMAL, 1),
445
- ": update.");
446
- if ((exeType == -1) || (exeType == 8))
447
- benchmark::report(
448
- boost::bind(Updates, db, tb, start, end, USE_TRANS, 20),
449
- ": update in transaction. 20rec x 1000times.");
435
+ boost::bind(Reads, db, tb, start, end, 20, USE_SNAPSHOT),
436
+ ": read range with snapshpot. 20rec x 1000times.");
437
+ if ((exeType == -1) || (exeType == 7))
438
+ benchmark::report(
439
+ boost::bind(Updates, db, tb, start, end, USE_NORMAL, 1),
440
+ ": update.");
441
+ if ((exeType == -1) || (exeType == 8))
442
+ benchmark::report(
443
+ boost::bind(Updates, db, tb, start, end, USE_TRANS, 20),
444
+ ": update in transaction. 20rec x 1000times.");
445
+ }else
446
+ printf("open table erorr No:%d\r\n", db->stat());
450
447
  }
451
448
  client::database::destroy(db);
452
449
  printTail();
@@ -224,9 +224,7 @@ void createUserTableSchema(dbdef* def)
224
224
 
225
225
  short fieldNum = 0;
226
226
  insertField(def, tableid, fieldNum, _T("id"), ft_integer, 4);
227
- insertField(def, tableid, ++fieldNum, _T("name"), ft_myvarchar, 100);
228
- updateTableDef(def, tableid);
229
-
227
+ insertField(def, tableid, ++fieldNum, _T("name"), ft_myvarchar, 99);
230
228
  short keyNum = 0;
231
229
  keydef* kd = insertKey(def, tableid, keyNum);
232
230
  kd->segments[0].fieldNum = 0;