transactd 2.4.5-x64-mswin64-100 → 3.0.0-x64-mswin64-100
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/2.0/transactd.so +0 -0
- data/bin/2.1/transactd.so +0 -0
- data/bin/2.2/transactd.so +0 -0
- data/bin/common/tdclc_64_3_0.dll +0 -0
- data/bin/common/tdclcpp_vc100_64mr_3_0.dll +0 -0
- data/build/common/system.cmake +2 -1
- 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/transactd.gemspec +2 -2
- metadata +5 -10
- 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_64_2_4.dll +0 -0
- data/bin/common/tdclcpp_vc100_64mr_2_4.dll +0 -0
data/RELEASE_NOTE.md
DELETED
@@ -1,360 +0,0 @@
|
|
1
|
-
Release note
|
2
|
-
|
3
|
-
================================================================================
|
4
|
-
Version 2.4.4 2015/09/08
|
5
|
-
================================================================================
|
6
|
-
Modifications
|
7
|
-
--------------------------------------------------------------------------------
|
8
|
-
* In Windows of pooledDbManager, Fixed a bug that may be deadlock in
|
9
|
-
tdclc_xxx.dll to at the end of the process.
|
10
|
-
|
11
|
-
* Added a statMsg method to nstable,nsdatabase and dbdef class. This method is
|
12
|
-
the same function as the already tdapErr method. Other than the difference of
|
13
|
-
the arguments and return values
|
14
|
-
|
15
|
-
* In PHP and Ruby interface, it was fixed a bug that tdapErr method does not work
|
16
|
-
properly. In this two interfaces, tdapErr method has been changed to statMsg.
|
17
|
-
Also, we added a statMsg method in C ++ and COM interfaces.
|
18
|
-
|
19
|
-
* We added a IErrorInfo the COM interface. In addition, we have set the default
|
20
|
-
property to IRecordset,IRecord,IKeyDef,IFlags,IFieldDefs,ISortFields,
|
21
|
-
IFieldNames interfaces.
|
22
|
-
|
23
|
-
|
24
|
-
================================================================================
|
25
|
-
Version 2.4.3 2015/08/31
|
26
|
-
================================================================================
|
27
|
-
Modifications (Client only)
|
28
|
-
--------------------------------------------------------------------------------
|
29
|
-
* Fix a bug that does not work correctly Join with Union record set.
|
30
|
-
|
31
|
-
|
32
|
-
================================================================================
|
33
|
-
Version 2.4.2 2015/08/31
|
34
|
-
================================================================================
|
35
|
-
New Features
|
36
|
-
--------------------------------------------------------------------------------
|
37
|
-
* Added a bit AND operator to queryBase and recordsetQuery.
|
38
|
-
In addition to the operators of the past, you can use the '&' and '!&'.
|
39
|
-
'&' operator performs the value and bit operation of the field. If the same as
|
40
|
-
the specified value matches.
|
41
|
-
'!&' operator performs the value and bit operation of the field. If the not
|
42
|
-
same as the specified value matches.
|
43
|
-
|
44
|
-
ex)flags & 8 and flags !& 16
|
45
|
-
|
46
|
-
|
47
|
-
Other Modifications
|
48
|
-
--------------------------------------------------------------------------------
|
49
|
-
* Changed method
|
50
|
-
field::addAllFileds(tabledef* def) : Chnaged from protected to public.
|
51
|
-
|
52
|
-
* Added method parameters
|
53
|
-
writableRecord::del and writableRecord::update,added option of "bool noSeek=false".
|
54
|
-
If true the noSeek, current record as an established, omit the read operation
|
55
|
-
in the delete or update operation.
|
56
|
-
|
57
|
-
* Added method
|
58
|
-
void queryStatements::move(int from, int to)
|
59
|
-
|
60
|
-
* It was fixed a bug that connection timeout does not work as configured on
|
61
|
-
windows.
|
62
|
-
|
63
|
-
* If there is no record to Join in HasManyJoin, Fixed a bug that may not be
|
64
|
-
processed correctly.
|
65
|
-
|
66
|
-
* In the Join, When the binding key is a string, Fixed a problem that may not
|
67
|
-
be able to properly search.
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
================================================================================
|
72
|
-
Version 2.4.0 2015/06/03
|
73
|
-
================================================================================
|
74
|
-
Upgrade Notes
|
75
|
-
--------------------------------------------------------------------------------
|
76
|
-
* Compatibility between server plugin and clients
|
77
|
-
|
78
|
-
Upgrade from the Version 2.3 is easy.
|
79
|
-
Server plugins and clients are compatible with 2.4.
|
80
|
-
(However, except the new features from version 2.4)
|
81
|
-
|
82
|
-
Upgrade from the older versions than 2.3, please check the previous
|
83
|
-
release notes.
|
84
|
-
|
85
|
-
New Features
|
86
|
-
--------------------------------------------------------------------------------
|
87
|
-
* Transactd studio
|
88
|
-
|
89
|
-
The following information API has been added to the Transactd.
|
90
|
-
* Connection in use
|
91
|
-
* Database in use
|
92
|
-
* Table in use
|
93
|
-
|
94
|
-
Table information shows the number of records which were read, updated,
|
95
|
-
inserted, deleted since the table has been opened.
|
96
|
-
|
97
|
-
* ActiveTable can obtain a recordset from bookmarks.
|
98
|
-
|
99
|
-
You can set multiple bookmark using queryBase::addSeekBookmark.
|
100
|
-
|
101
|
-
If you call table::recordCount() after setting query object to table object,
|
102
|
-
you will get the number of records which match the conditions, and you also
|
103
|
-
get bookmarks of them at the same time. You can access the bookmarks with
|
104
|
-
table::bookmarks().
|
105
|
-
|
106
|
-
* The following methods in C ++ API were modified to allow simultaneous access
|
107
|
-
from multiple threads.
|
108
|
-
* table::insertBookmarks
|
109
|
-
* table::moveBookmarks
|
110
|
-
* table::bookmarksCount
|
111
|
-
* table::bookmarks
|
112
|
-
|
113
|
-
Other Modifications
|
114
|
-
--------------------------------------------------------------------------------
|
115
|
-
* Fix a bug that null key detection is sometimes wrong in P.SQL compatible
|
116
|
-
null key access.
|
117
|
-
|
118
|
-
* Fix a bug that automatic schema generation sometimes does not work well.
|
119
|
-
|
120
|
-
* Improved lock control to get the server statistics. Improve the simultaneous
|
121
|
-
effectiveness at monitoring.
|
122
|
-
|
123
|
-
* nsdatabase::isReconnected() method was added.
|
124
|
-
It indicates whether reconnected to the server.
|
125
|
-
|
126
|
-
* Support reconnection in the case of using multiple databases in single
|
127
|
-
connection.
|
128
|
-
|
129
|
-
* Fix a bug that useless internal null fields will be added when create table
|
130
|
-
if there is a null key.
|
131
|
-
|
132
|
-
* Fix invalid pointer operations that occurs when an invalid prepared query
|
133
|
-
handle are received.
|
134
|
-
|
135
|
-
* Fix a bug that can not coexist with the lock by SQL access sometimes.
|
136
|
-
|
137
|
-
* Added methods
|
138
|
-
* short dbdef::validateTableDef(short TableIndex)
|
139
|
-
* ushort_td nstable::bookmarkLen() const
|
140
|
-
* bookmark_td tabale::bookmarks(unsigned int index) const
|
141
|
-
* recordCountFn Call back function
|
142
|
-
* table::setOnRecordCount
|
143
|
-
* table::onRecordCount
|
144
|
-
* bool queryBase::isSeekByBookmarks() const
|
145
|
-
* void queryBase::addSeekBookmark(bookmark_td& bm, ushort_td len, bool reset=false)
|
146
|
-
* bool writableRecord::read(bookmark_td& bm)
|
147
|
-
|
148
|
-
* Changed method names
|
149
|
-
* table::setBookMarks --> table::insertBookmarks
|
150
|
-
* table::moveBookmarksId --> table::moveBookmarks
|
151
|
-
* table::bookMarksCount --> table::bookmarksCount
|
152
|
-
|
153
|
-
* Added method parameters
|
154
|
-
* void database::close(bool withDropDefaultSchema = false)
|
155
|
-
* activeTable::activeTable(database* db, short tableIndex,
|
156
|
-
short mode = TD_OPEN_NORMAL)
|
157
|
-
* static activeTable* create(database* db, short tableIndex,
|
158
|
-
short mode = TD_OPEN_NORMAL);
|
159
|
-
|
160
|
-
* Change bookmark type from unsigned int to bookmark_td.
|
161
|
-
```
|
162
|
-
struct BOOKMARK
|
163
|
-
{
|
164
|
-
uchar_td val[MAX_BOOKMARK_SIZE];
|
165
|
-
bool empty;
|
166
|
-
BOOKMARK():empty(true){ }
|
167
|
-
bool isEmpty(){ return empty; }
|
168
|
-
void set(uchar_td* p, int len)
|
169
|
-
{
|
170
|
-
memcpy(val, p, len);
|
171
|
-
empty = false;
|
172
|
-
}
|
173
|
-
};
|
174
|
-
```
|
175
|
-
|
176
|
-
* Changed the type of function arguments to reference of bookmark_td from
|
177
|
-
bookmark_td.
|
178
|
-
|
179
|
-
* openTable method in C++ convenience API supports all arguments of
|
180
|
-
original openTable method.
|
181
|
-
|
182
|
-
* The following functions are added to C++ convenience API.
|
183
|
-
* void deleteTable(dbdef* def, short id)
|
184
|
-
* void renumberTable(dbdef* def, short id, short newid)
|
185
|
-
* void deleteField(dbdef* def, short tableid, short fieldNum)
|
186
|
-
* void deleteKey(dbdef* def, short tableid, short keynum)
|
187
|
-
* void validateTableDef(dbdef* def, short tableid)
|
188
|
-
|
189
|
-
* The binaries which compiled with Embarcadero C++ Builder are no longer
|
190
|
-
included in Transactd Client with SDK for Windows. If you want to use them,
|
191
|
-
they are still available by building from source code.
|
192
|
-
|
193
|
-
http://www.bizstation.jp/ja/transactd/documents/BUILD_WIN.html
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
================================================================================
|
198
|
-
Version 2.3.0 2015-03-20
|
199
|
-
================================================================================
|
200
|
-
|
201
|
-
Upgrade Notes
|
202
|
-
--------------------------------------------------------------------------------
|
203
|
-
* Compatibility between server plugin and clients
|
204
|
-
|
205
|
-
You have to upgrade both of the server plugin and client libraries.
|
206
|
-
|
207
|
-
The protocol that is used communicating between server and client were changed
|
208
|
-
for database::reconnect() method. This version of server plugin and clients
|
209
|
-
have no compatibility with the past versions of them.
|
210
|
-
|
211
|
-
If you access to 2.2 or older version of server plugin with this version of
|
212
|
-
clients, error code SERVER_CLIENT_NOT_COMPATIBLE (3003) will be returned.
|
213
|
-
|
214
|
-
* Some methods were moved.
|
215
|
-
|
216
|
-
table::usePadChar() and table:: trimPadChar() were moved to fielddef structure.
|
217
|
-
|
218
|
-
The setter methods of them were put together to setPadCharSettings(bool set,
|
219
|
-
bool trim). By this change, these values can be saved to the schema.
|
220
|
-
|
221
|
-
This affects to the field types ft_string, ft_wstring, ft_mychar and ft_mywchar.
|
222
|
-
Other field types are not affected.
|
223
|
-
|
224
|
-
The default value of table::usePadChar() and trimPadChar() are true. If you did
|
225
|
-
not change this value, there is no changes on program behavior.
|
226
|
-
If you changed the values, you have to fix program code.
|
227
|
-
|
228
|
-
For example, the code `tb->setUsePadChar(false);` has to be modified like this:
|
229
|
-
```
|
230
|
-
for (int i = 0 ; i < tb->tableDef()->fieldCount ; ++i)
|
231
|
-
{
|
232
|
-
fielddef* fd = const_cast<fielddef*>(&tb->tableDef()->fieldDefs[i]);
|
233
|
-
fd->setPadCharSettings(false/*set*/, true/*trim*/);
|
234
|
-
}
|
235
|
-
```
|
236
|
-
|
237
|
-
Note: Changes in this code are volatile, and not saved on schema. Add updating
|
238
|
-
schema code if you need.
|
239
|
-
|
240
|
-
* openTable in transaction
|
241
|
-
|
242
|
-
The error code STATUS_ALREADY_INTRANSACTION is added. If openTable is called
|
243
|
-
in transaction, and binary log is enable, the server returns this error.
|
244
|
-
|
245
|
-
The binary log was supported until now, but there was the problem that if
|
246
|
-
openTable is called in transaction the binlog map will not be generated and
|
247
|
-
replication does not go well. So that, we modified the server plugin to return
|
248
|
-
error if openTable is called in transaction with enable binary log. There is
|
249
|
-
no changes if binary log is disabled.
|
250
|
-
|
251
|
-
New Features
|
252
|
-
--------------------------------------------------------------------------------
|
253
|
-
* Add bias parameter ROW_LOCK_S to seek and step read operations in
|
254
|
-
MULTILOCK_READ_COMMITED transaction.
|
255
|
-
|
256
|
-
By this, you can control lock in more detail with using shared lock.
|
257
|
-
|
258
|
-
* Add limit option to finish searching to table query with queryBase.
|
259
|
-
|
260
|
-
In the past, the value of limit option meant that max number of records which
|
261
|
-
will be got with one operation. The clients automatically called read operation
|
262
|
-
many times until the other finish conditions are met. In effect, limit was the
|
263
|
-
option that save receive buffer.
|
264
|
-
|
265
|
-
If you set true to queryBase::stopAtLimit(), the limit option behaves as finish
|
266
|
-
condition. The default value is false, and it is same as the past behavior.
|
267
|
-
|
268
|
-
* Add findContinue to enum eFindType for table::find(eFindType type).
|
269
|
-
|
270
|
-
If the last find operation has been finished because of the filter conditions
|
271
|
-
maxRecord or rejectCount, it is able to continue searching from next record
|
272
|
-
with findContinue.
|
273
|
-
To check the cause of finishing the last operation, table::statReasonOfFind()
|
274
|
-
and table::lastFindDirection() which return more detail status were added.
|
275
|
-
|
276
|
-
* Add ActiveTable::readMore(). It is same as above findContinue for ActiveTable.
|
277
|
-
|
278
|
-
* Add first and last method to recordset grouping functions. These methods
|
279
|
-
return first or last record in each group. Strings and numbers are supported.
|
280
|
-
|
281
|
-
These methods are useful when use non-normalized field values to avoid JOIN
|
282
|
-
for some reason.
|
283
|
-
|
284
|
-
* Add case-insensitive comparison operator to filter and query.
|
285
|
-
|
286
|
-
To compare strings without case sensitivity, add "i" after the normal
|
287
|
-
comparison operators.
|
288
|
-
|
289
|
-
```
|
290
|
-
Case-sensitive: =, >, < , >=, <=, <>
|
291
|
-
Case-insensitive: =i, >i, <i, >=i, <=i, <>i
|
292
|
-
```
|
293
|
-
|
294
|
-
When the comparison field is same as the index field which is using, setting
|
295
|
-
case sensitivity same as field definition makes performance better. If case
|
296
|
-
sensitivities are different between them, optimization with the indexes is
|
297
|
-
disable and full scan will be needed.
|
298
|
-
|
299
|
-
* Add database::reconnect() which is used to reconnect to database. You can
|
300
|
-
reconnect to database with this method even if server process has been
|
301
|
-
restarted unexpectedly.
|
302
|
-
|
303
|
-
The reconnection contains reopening tables, recovering cursor positions and
|
304
|
-
record locks. Transactions which have not been commited yet will not be
|
305
|
-
recovered. You have to run it again.
|
306
|
-
|
307
|
-
There is no way to change the reconnect address at present, but tdclc will
|
308
|
-
support it in the future.
|
309
|
-
|
310
|
-
* Add field types ft_wstring, ft_wzstring, ft_myvarbinary and ft_mywvarbinary
|
311
|
-
to fielddef::lenByCharnum(). You can specify field length with number of
|
312
|
-
characters.
|
313
|
-
|
314
|
-
* Add connectTimeout and netTimeout to client setting file (transactd.ini or
|
315
|
-
transactd.cnf). The default values are following:
|
316
|
-
|
317
|
-
```
|
318
|
-
connectTimeout = 20
|
319
|
-
netTimeout = 180
|
320
|
-
```
|
321
|
-
|
322
|
-
connectTimeout means timeout seconds for connection. netTimeout means timeout
|
323
|
-
seconds for waiting response from server in a operation.
|
324
|
-
|
325
|
-
* The implementation of TCP reading and writing methods in tdclc were changed to
|
326
|
-
OS native from boost library. It makes performance better and enable timeout
|
327
|
-
settings.
|
328
|
-
|
329
|
-
Other Modifications
|
330
|
-
--------------------------------------------------------------------------------
|
331
|
-
* Fix a bug that filter works wrong for fixed-length string fields.
|
332
|
-
|
333
|
-
* Fix a bug that sortFields and sortField are not in PHP and Ruby interface.
|
334
|
-
|
335
|
-
* Fix a bug that Recordset::UnionRecordset() is not in ActiveX interface.
|
336
|
-
|
337
|
-
* Fix a bug that the server will crash when set invalid key number to table::find
|
338
|
-
operations.
|
339
|
-
|
340
|
-
* Fix a bug that when the table is locked by LOCK TABLES SQL command, after a
|
341
|
-
transaction with writing failed, an unlock row error will occur in retrying.
|
342
|
-
|
343
|
-
* Fix a access violation that occurs in releasing database object in ActiveX
|
344
|
-
interface depending on table releasing order.
|
345
|
-
|
346
|
-
* Fix a problem that "localhost" alias cannot be used without DNS.
|
347
|
-
|
348
|
-
* Fix a bug that i64() method always returns 0 on ft_float field.
|
349
|
-
|
350
|
-
* Fix a bug that field::getFVbin() and table::getFVbin() methods can not read
|
351
|
-
values on ft_string and ft_wstring fields.
|
352
|
-
|
353
|
-
* Fix a bug that the default values of size of shared memory on Windows pipe
|
354
|
-
connection are different between server and clients.
|
355
|
-
|
356
|
-
* Fix a bug that a invalid pointer will be returned when activeTable and query
|
357
|
-
reads ft_text or ft_blob fields without "select fields" filter.
|
358
|
-
|
359
|
-
* The source codes of Transactd plugin supports MySQL 5.7.6.
|
360
|
-
(Build-scripts do not support it yet. Have to fix cmake scripts to build.)
|
data/bin/common/tdclc_64_2_4.dll
DELETED
Binary file
|
Binary file
|