transactd 2.4.5 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CMakeLists.txt +1 -1
- data/README-JA.md +52 -529
- data/README.md +52 -523
- data/bin/common/tdclc_32_3_0.dll +0 -0
- data/bin/common/tdclc_64_3_0.dll +0 -0
- data/build/common/system.cmake +2 -1
- data/build/common/transactd_cl_common.cmake +3 -6
- data/build/swig/ruby/ruby.swg +85 -28
- data/build/swig/ruby/tdclrb_wrap.cpp +3195 -1578
- data/build/swig/tdcl.i +161 -5
- data/build/tdclc/CMakeLists.txt +1 -0
- data/build/tdclc/tdclc.cbproj +7 -1
- data/build/tdclc/tdclc.rc +4 -4
- data/build/tdclcpp/tdclcpp.rc +4 -4
- data/build/tdclcpp/tdclcpp_bc.cbproj +2 -5
- data/build/tdclrb/tdclrb.rc +4 -4
- data/source/bzs/db/blobStructs.h +1 -1
- data/source/bzs/db/engine/mysql/database.cpp +199 -74
- data/source/bzs/db/engine/mysql/database.h +47 -18
- data/source/bzs/db/engine/mysql/dbManager.cpp +1 -0
- data/source/bzs/db/engine/mysql/mysqlInternal.h +32 -8
- data/source/bzs/db/protocol/tdap/btrDate.cpp +110 -75
- data/source/bzs/db/protocol/tdap/btrDate.h +46 -21
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +18 -18
- data/source/bzs/db/protocol/tdap/client/activeTable.h +25 -25
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +10 -4
- data/source/bzs/db/protocol/tdap/client/client.cpp +6 -5
- data/source/bzs/db/protocol/tdap/client/client.h +82 -15
- data/source/bzs/db/protocol/tdap/client/database.cpp +531 -142
- data/source/bzs/db/protocol/tdap/client/database.h +19 -6
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +461 -408
- data/source/bzs/db/protocol/tdap/client/dbDef.h +11 -17
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +61 -13
- data/source/bzs/db/protocol/tdap/client/field.cpp +1592 -1398
- data/source/bzs/db/protocol/tdap/client/field.h +110 -121
- data/source/bzs/db/protocol/tdap/client/fields.h +40 -10
- data/source/bzs/db/protocol/tdap/client/filter.h +69 -55
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +296 -164
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +77 -25
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +31 -13
- data/source/bzs/db/protocol/tdap/client/memRecord.h +31 -21
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +69 -24
- data/source/bzs/db/protocol/tdap/client/nsTable.h +3 -1
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +1 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +46 -27
- data/source/bzs/db/protocol/tdap/client/request.h +2 -1
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +44 -9
- data/source/bzs/db/protocol/tdap/client/serializer.h +1 -1
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +182 -76
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +23 -12
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +8 -10
- data/source/bzs/db/protocol/tdap/client/table.cpp +172 -93
- data/source/bzs/db/protocol/tdap/client/table.h +112 -37
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +17 -0
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +0 -1
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +0 -2
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +698 -14
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +723 -307
- data/source/bzs/db/protocol/tdap/myDateTime.h +294 -0
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +164 -54
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +6 -3
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +133 -550
- data/source/bzs/db/protocol/tdap/mysql/request.h +6 -5
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +217 -82
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +1 -1
- data/source/bzs/db/protocol/tdap/tdapRequest.h +4 -9
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +808 -17
- data/source/bzs/db/protocol/tdap/tdapSchema.h +656 -164
- data/source/bzs/db/protocol/tdap/tdapcapi.h +130 -28
- data/source/bzs/db/protocol/tdap/uri.h +40 -32
- data/source/bzs/db/transactd/connManager.cpp +1 -1
- data/source/bzs/db/transactd/transactd.cpp +7 -0
- data/source/bzs/env/compiler.h +107 -94
- data/source/bzs/env/crosscompile.cpp +24 -12
- data/source/bzs/env/crosscompile.h +75 -6
- data/source/bzs/env/mbcswchrLinux.cpp +2 -2
- data/source/bzs/env/tcharMinGW.h +4 -0
- data/source/bzs/example/changeSchema.cpp +22 -17
- data/source/bzs/example/queryData.cpp +4 -0
- data/source/bzs/netsvc/client/iconnection.h +3 -1
- data/source/bzs/netsvc/client/tcpClient.h +10 -3
- data/source/bzs/rtl/stringBuffers.cpp +7 -0
- data/source/bzs/test/tdclatl/bench_query_atl.js +6 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +8 -1
- data/source/bzs/test/tdclatl/test_query_atl.js +22 -2
- data/source/bzs/test/tdclatl/test_v3.js +1017 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +55 -21
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +0 -5
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +2 -0
- data/source/bzs/test/tdclphp/transactd_v3_Test.php +743 -0
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -5
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +2 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +39 -16
- data/source/bzs/test/tdclrb/transactd_v3_spec.rb +748 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +55 -58
- data/source/bzs/test/transactdBench/transactdBench2.cpp +1 -3
- data/source/bzs/test/trdclengn/testField.h +3305 -0
- data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +1050 -0
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +112 -190
- data/source/bzs/test/trdclengn/testbase.h +137 -0
- data/source/global/ormsrcgen/srcgen.cpp +23 -12
- data/source/global/ormsrcgen/template/ormDataClass_template.h +2 -0
- data/source/global/querystmts/querystmts.cpp +2 -3
- data/source/global/tdclatl/Bitset.cpp +38 -0
- data/source/global/tdclatl/Bitset.h +63 -0
- data/source/global/tdclatl/Database.cpp +59 -18
- data/source/global/tdclatl/Database.h +7 -4
- data/source/global/tdclatl/DbDef.cpp +6 -6
- data/source/global/tdclatl/DbDef.h +2 -1
- data/source/global/tdclatl/Field.cpp +112 -0
- data/source/global/tdclatl/Field.h +19 -5
- data/source/global/tdclatl/FieldDef.cpp +137 -16
- data/source/global/tdclatl/FieldDef.h +18 -2
- data/source/global/tdclatl/FieldDefs.cpp +54 -1
- data/source/global/tdclatl/FieldDefs.h +3 -0
- data/source/global/tdclatl/GroupQuery.cpp +8 -8
- data/source/global/tdclatl/QueryBase.cpp +65 -0
- data/source/global/tdclatl/QueryBase.h +10 -0
- data/source/global/tdclatl/Record.cpp +33 -2
- data/source/global/tdclatl/Record.h +3 -1
- data/source/global/tdclatl/RecordsetQuery.cpp +42 -0
- data/source/global/tdclatl/RecordsetQuery.h +8 -0
- data/source/global/tdclatl/Table.cpp +127 -3
- data/source/global/tdclatl/Table.h +10 -1
- data/source/global/tdclatl/TableDef.cpp +41 -8
- data/source/global/tdclatl/TableDef.h +7 -2
- data/source/global/tdclatl/activeTable.cpp +40 -71
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/tdclatl.idl +222 -28
- data/source/linux/tchar.h +100 -96
- data/transactd.gemspec +2 -2
- metadata +13 -11
- data/BUILD_UNIX-JA.md +0 -161
- data/BUILD_WIN-JA.md +0 -326
- data/README_ORMSRCGEN-JA.md +0 -115
- data/README_ORMSRCGEN.md +0 -118
- data/RELEASE_NOTE-JA.md +0 -356
- data/RELEASE_NOTE.md +0 -360
- data/bin/common/tdclc_32_2_4.dll +0 -0
- data/bin/common/tdclc_64_2_4.dll +0 -0
- 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->
|
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
|
-
|
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
|
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 (
|
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(
|
405
|
-
":
|
406
|
-
|
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(
|
414
|
-
":
|
415
|
-
|
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(
|
423
|
-
":
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
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,
|
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;
|