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.
- 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
|
@@ -46,14 +46,13 @@ enum eFieldQuery
|
|
|
46
46
|
class DLLLIB dbdef : private nstable
|
|
47
47
|
{
|
|
48
48
|
friend class database;
|
|
49
|
-
struct dbdimple*
|
|
49
|
+
struct dbdimple* m_dimpl;
|
|
50
50
|
dbdef(const dbdef&);
|
|
51
51
|
dbdef& operator=(const dbdef&);
|
|
52
52
|
|
|
53
53
|
bool isUsedField(short tableIndex, short deleteIndex);
|
|
54
54
|
void renumberFieldNum(short tableIndex, short Index, short op);
|
|
55
55
|
bool resizeAt(short tableIndex, bool key);
|
|
56
|
-
bool resizeReadBuf(void);
|
|
57
56
|
void moveById(short id);
|
|
58
57
|
bool validLen(uchar_td FieldType, uint_td FieldLen);
|
|
59
58
|
bool isPassKey(uchar_td FieldType);
|
|
@@ -62,10 +61,6 @@ class DLLLIB dbdef : private nstable
|
|
|
62
61
|
void saveDDF(short tableIndex, short opration, bool forPsqlDdf = true);
|
|
63
62
|
ushort_td getDDFNewTableIndex();
|
|
64
63
|
ushort_td getDDFNewFieldIndex();
|
|
65
|
-
int totalDefLength(short tableIndex);
|
|
66
|
-
void setRecordLen(short tableIndex);
|
|
67
|
-
void setCodePage(tabledef* rd);
|
|
68
|
-
|
|
69
64
|
void doOpen(const _TCHAR* uri, char_td mode = 0,
|
|
70
65
|
const _TCHAR* ownername = NULL);
|
|
71
66
|
void doClose();
|
|
@@ -76,16 +71,19 @@ class DLLLIB dbdef : private nstable
|
|
|
76
71
|
inline nstable* table() { return this; }
|
|
77
72
|
inline fielddef_t_my& convert(fielddef_t_my& fd_my,
|
|
78
73
|
const fielddef_t_pv& fd_pv);
|
|
79
|
-
void tableDefCopy(tabledef* dest, tabledef* src, size_t size);
|
|
74
|
+
void tableDefCopy(tabledef* dest, const tabledef* src, size_t size);
|
|
80
75
|
|
|
81
76
|
~dbdef();
|
|
82
77
|
dbdef(nsdatabase* pbe, short defType);
|
|
83
78
|
void create(const _TCHAR* uri);
|
|
84
|
-
void autoMakeSchema();
|
|
79
|
+
void autoMakeSchema(bool noUseNullkey);
|
|
85
80
|
void setDefType(short defType);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
bool testTablePtr(tabledef* td);
|
|
82
|
+
tabledef* initReadAfter(short tableIndex, const tabledef* data, uint_td datalen);
|
|
83
|
+
void* getBufferPtr(uint_td& size);
|
|
84
|
+
bool setDefaultImage(short tableIndex, const uchar_td* p, ushort_td size);
|
|
85
|
+
bool addSchemaImage(const tabledef* p, ushort_td size, short& tableIndex);
|
|
86
|
+
void allocDatabuffer();
|
|
89
87
|
public:
|
|
90
88
|
using nstable::addref;
|
|
91
89
|
using nstable::release;
|
|
@@ -109,23 +107,22 @@ public:
|
|
|
109
107
|
void deleteTable(short tableIndex);
|
|
110
108
|
void renumberTable(short oldIndex, short newIndex);
|
|
111
109
|
short tableNumByName(const _TCHAR* tableName);
|
|
112
|
-
ushort_td getRecordLen(short tableIndex);
|
|
113
|
-
|
|
114
110
|
void getFileSpec(fileSpec* fs, short tableIndex);
|
|
115
111
|
short findKeynumByFieldNum(short tableIndex, short index);
|
|
116
112
|
short fieldNumByViewNum(short tableIndex, short index);
|
|
117
113
|
short fieldNumByName(short tableIndex, const _TCHAR* name);
|
|
118
114
|
void* allocRelateData(int size);
|
|
119
|
-
|
|
120
115
|
uint_td fieldValidLength(eFieldQuery query, uchar_td fieldType);
|
|
121
116
|
void pushBackup(short tableIndex);
|
|
122
117
|
bool compAsBackup(short tableIndex);
|
|
123
118
|
void popBackup(short tableIndex);
|
|
119
|
+
void synchronizeSeverSchema(short tableIndex);
|
|
124
120
|
|
|
125
121
|
inline short_td tdapErr(HWND hWnd, _TCHAR* retbuf = NULL)
|
|
126
122
|
{
|
|
127
123
|
return nstable::tdapErr(hWnd, retbuf);
|
|
128
124
|
}
|
|
125
|
+
|
|
129
126
|
inline _TCHAR* statMsg(_TCHAR* retbuf)
|
|
130
127
|
{
|
|
131
128
|
nstable::tdapErr(0, retbuf);
|
|
@@ -134,9 +131,6 @@ public:
|
|
|
134
131
|
|
|
135
132
|
void reopen(char_td mode = TD_OPEN_READONLY);
|
|
136
133
|
using nstable::setStat;
|
|
137
|
-
static ushort_td getFieldPosition(tabledef* tableDef, short fieldNum);
|
|
138
|
-
static void cacheFieldPos(tabledef* tableDef);
|
|
139
|
-
|
|
140
134
|
using nstable::mode;
|
|
141
135
|
};
|
|
142
136
|
|
|
@@ -105,7 +105,7 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD reason, LPVOID lpReserved)
|
|
|
105
105
|
{
|
|
106
106
|
try
|
|
107
107
|
{
|
|
108
|
-
|
|
108
|
+
delete m_cons;
|
|
109
109
|
}
|
|
110
110
|
catch(...){}
|
|
111
111
|
m_cons = NULL;
|
|
@@ -204,7 +204,7 @@ extern "C" PACKAGE_OSX short_td __STDCALL
|
|
|
204
204
|
break;
|
|
205
205
|
case TD_MOVE_BOOKMARK:
|
|
206
206
|
case TD_MOVE_PER:
|
|
207
|
-
|
|
207
|
+
client_t->req().paramMask = P_MASK_NOKEYBUF;
|
|
208
208
|
break;
|
|
209
209
|
case TD_UNLOCK:
|
|
210
210
|
case TD_CLOSETABLE:
|
|
@@ -216,7 +216,7 @@ extern "C" PACKAGE_OSX short_td __STDCALL
|
|
|
216
216
|
case TD_REC_DELETE:
|
|
217
217
|
case TD_CLEAR_OWNERNAME:
|
|
218
218
|
case TD_AUTOMEKE_SCHEMA:
|
|
219
|
-
client_t->req().paramMask = P_MASK_POSBLK;
|
|
219
|
+
client_t->req().paramMask = P_MASK_POSBLK | P_MASK_KEYNUM;
|
|
220
220
|
break;
|
|
221
221
|
case TD_END_TRANSACTION:
|
|
222
222
|
case TD_BEGIN_TRANSACTION:
|
|
@@ -267,7 +267,16 @@ extern "C" PACKAGE_OSX short_td __STDCALL
|
|
|
267
267
|
break;
|
|
268
268
|
case TD_GET_PER:
|
|
269
269
|
case TD_SET_OWNERNAME:
|
|
270
|
+
client_t->req().paramMask = P_MASK_ALL;
|
|
271
|
+
break;
|
|
270
272
|
case TD_TABLE_INFO:
|
|
273
|
+
if (client_t->req().keyNum == ST_SUB_GETSQL_BY_TABLEDEF)
|
|
274
|
+
{
|
|
275
|
+
client_t->req().result = 0;
|
|
276
|
+
client_t->getSqlCreate();
|
|
277
|
+
client_t->cleanup();
|
|
278
|
+
return client_t->req().result;
|
|
279
|
+
}
|
|
271
280
|
client_t->req().paramMask = P_MASK_ALL;
|
|
272
281
|
break;
|
|
273
282
|
case TD_BOOKMARK:
|
|
@@ -286,23 +295,46 @@ extern "C" PACKAGE_OSX short_td __STDCALL
|
|
|
286
295
|
break;
|
|
287
296
|
case TD_VERSION:
|
|
288
297
|
{
|
|
289
|
-
|
|
298
|
+
if (!client_t->req().cid->con)
|
|
299
|
+
return ERROR_TD_NOT_CONNECTED;
|
|
300
|
+
|
|
301
|
+
ushort_td datalen = *(client_t->req().datalen);
|
|
302
|
+
btrVersion* v = (btrVersion*)(client_t->req().data);
|
|
303
|
+
const clsrv_ver* ver = client_t->ver();
|
|
290
304
|
if (datalen >= sizeof(btrVersion))
|
|
291
305
|
{
|
|
292
|
-
|
|
293
|
-
v
|
|
294
|
-
v
|
|
295
|
-
|
|
296
|
-
client_t->req().paramMask = P_MASK_DATA | P_MASK_DATALEN;
|
|
306
|
+
v->majorVersion = atoi(CPP_INTERFACE_VER_MAJOR);
|
|
307
|
+
v->minorVersion = atoi(CPP_INTERFACE_VER_MINOR);
|
|
308
|
+
v->type = 'N';
|
|
309
|
+
client_t->req().result = 0;
|
|
297
310
|
}
|
|
298
311
|
else
|
|
299
312
|
client_t->req().result = STATUS_BUFFERTOOSMALL;
|
|
300
|
-
if (datalen
|
|
313
|
+
if (datalen >= sizeof(btrVersion) * 2)
|
|
301
314
|
{
|
|
302
|
-
|
|
303
|
-
|
|
315
|
+
++v;
|
|
316
|
+
if (ver)
|
|
317
|
+
{
|
|
318
|
+
v->majorVersion = ver->srvMysqlMajor;
|
|
319
|
+
v->minorVersion = ver->srvMysqlMinor;
|
|
320
|
+
v->type = ver->srvMysqlType;
|
|
321
|
+
client_t->req().result = 0;
|
|
322
|
+
}else
|
|
323
|
+
memset(v, 0, sizeof(btrVersion));
|
|
304
324
|
}
|
|
305
|
-
|
|
325
|
+
if (datalen >= sizeof(btrVersion) * 3)
|
|
326
|
+
{
|
|
327
|
+
++v;
|
|
328
|
+
if (ver)
|
|
329
|
+
{
|
|
330
|
+
v->majorVersion = ver->srvMajor;
|
|
331
|
+
v->minorVersion = ver->srvMinor;
|
|
332
|
+
v->type = 'T';
|
|
333
|
+
}else
|
|
334
|
+
memset(v, 0, sizeof(btrVersion));
|
|
335
|
+
client_t->req().result = 0;
|
|
336
|
+
}
|
|
337
|
+
return client_t->req().result;
|
|
306
338
|
}
|
|
307
339
|
case TD_OPENTABLE:
|
|
308
340
|
case TD_CREATETABLE:
|
|
@@ -360,6 +392,22 @@ extern "C" PACKAGE_OSX short_td __STDCALL
|
|
|
360
392
|
case TD_ACL_RELOAD:
|
|
361
393
|
client_t->req().paramMask = 0;
|
|
362
394
|
break;
|
|
395
|
+
case TD_GET_SCHEMA:
|
|
396
|
+
if (client_t->isSupportFunction(TD_GET_SCHEMA))
|
|
397
|
+
client_t->req().paramMask = P_MASK_DATALEN | P_MASK_KEYBUF;
|
|
398
|
+
else
|
|
399
|
+
return STATUS_NOSUPPORT_OP;
|
|
400
|
+
break;
|
|
401
|
+
case TD_STORE_TEST:
|
|
402
|
+
client_t->req().paramMask = P_MASK_POSBLK | P_MASK_DATA | P_MASK_DATALEN | P_MASK_KEYNUM;
|
|
403
|
+
break;
|
|
404
|
+
case TD_SET_TIMESTAMP_MODE:
|
|
405
|
+
client_t->req().paramMask = P_MASK_POSBLK | P_MASK_KEYNUM;
|
|
406
|
+
break;
|
|
407
|
+
case TD_STOP_ENGINE:
|
|
408
|
+
return 0;
|
|
409
|
+
default:
|
|
410
|
+
return STATUS_NOSUPPORT_OP;
|
|
363
411
|
}
|
|
364
412
|
short_td ret = client_t->execute();
|
|
365
413
|
client_t->cleanup();
|