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
@@ -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();
|