transactd 2.4.0-x64-mswin64-100 → 2.4.2-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/BUILD_UNIX-JA.md +37 -29
- data/BUILD_WIN-JA.md +96 -69
- data/CMakeLists.txt +7 -17
- data/README-JA.md +22 -17
- data/README.md +23 -16
- data/{RELEASE_NOTE-JA → RELEASE_NOTE-JA.md} +163 -98
- data/{RELEASE_NOTE → RELEASE_NOTE.md} +165 -99
- 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_2_4.dll +0 -0
- data/bin/common/tdclcpp_vc100_64mr_2_4.dll +0 -0
- data/build/common/system.cmake +6 -4
- data/build/tdclrb/gem/Makefile.win32-VS +2 -2
- metadata +4 -4
@@ -1,121 +1,165 @@
|
|
1
1
|
Release note
|
2
|
+
================================================================================
|
3
|
+
Version 2.4.2 2015/08/31
|
4
|
+
================================================================================
|
5
|
+
New Features
|
6
|
+
--------------------------------------------------------------------------------
|
7
|
+
* Added a bit AND operator to queryBase and recordsetQuery.
|
8
|
+
In addition to the operators of the past, you can use the '&' and '!&'.
|
9
|
+
'&' operator performs the value and bit operation of the field. If the same as
|
10
|
+
the specified value matches.
|
11
|
+
'!&' operator performs the value and bit operation of the field. If the not
|
12
|
+
same as the specified value matches.
|
13
|
+
|
14
|
+
ex)flags & 8 and flags !& 16
|
15
|
+
|
16
|
+
|
17
|
+
Other Modifications
|
18
|
+
--------------------------------------------------------------------------------
|
19
|
+
* Changed method
|
20
|
+
field::addAllFileds(tabledef* def) : Chnaged from protected to public.
|
21
|
+
|
22
|
+
* Added method parameters
|
23
|
+
writableRecord::del and writableRecord::update,added option of "bool noSeek=false".
|
24
|
+
If true the noSeek, current record as an established, omit the read operation
|
25
|
+
in the delete or update operation.
|
26
|
+
|
27
|
+
* Added method
|
28
|
+
void queryStatements::move(int from, int to)
|
29
|
+
|
30
|
+
* It was fixed a bug that connection timeout does not work as configured on
|
31
|
+
windows.
|
32
|
+
|
33
|
+
* If there is no record to Join in HasManyJoin, Fixed a bug that may not be
|
34
|
+
processed correctly.
|
35
|
+
|
36
|
+
* In the Join, When the binding key is a string, Fixed a problem that may not
|
37
|
+
be able to properly search.
|
38
|
+
|
39
|
+
|
2
40
|
|
3
41
|
================================================================================
|
4
42
|
Version 2.4.0 2015/06/03
|
5
43
|
================================================================================
|
6
44
|
Upgrade Notes
|
7
45
|
--------------------------------------------------------------------------------
|
8
|
-
* Compatibility between server plugin and clients
|
46
|
+
* Compatibility between server plugin and clients
|
47
|
+
|
9
48
|
Upgrade from the Version 2.3 is easy.
|
10
|
-
Server
|
11
|
-
(However, except the new features
|
12
|
-
|
13
|
-
Upgrade from
|
14
|
-
release notes.
|
49
|
+
Server plugins and clients are compatible with 2.4.
|
50
|
+
(However, except the new features from version 2.4)
|
51
|
+
|
52
|
+
Upgrade from the older versions than 2.3, please check the previous
|
53
|
+
release notes.
|
15
54
|
|
16
55
|
New Features
|
17
56
|
--------------------------------------------------------------------------------
|
18
57
|
* Transactd studio
|
58
|
+
|
19
59
|
The following information API has been added to the Transactd.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
In the table information, it will be examined following number of records from
|
25
|
-
the open table.
|
26
|
-
read,update,insert,delete
|
27
|
-
|
28
|
-
* ActiveTable, It was now possible to obtain a recordset from bookmarks.
|
29
|
-
You can set multiple bookmark using the queryBase::addSeekBookmark method.
|
60
|
+
* Connection in use
|
61
|
+
* Database in use
|
62
|
+
* Table in use
|
30
63
|
|
31
|
-
|
32
|
-
|
33
|
-
, you can get them of bookmark by the table::bookmarks().
|
64
|
+
Table information shows the number of records which were read, updated,
|
65
|
+
inserted, deleted since the table has been opened.
|
34
66
|
|
35
|
-
*
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
table::
|
40
|
-
|
67
|
+
* ActiveTable can obtain a recordset from bookmarks.
|
68
|
+
|
69
|
+
You can set multiple bookmark using queryBase::addSeekBookmark.
|
70
|
+
|
71
|
+
If you call table::recordCount() after setting query object to table object,
|
72
|
+
you will get the number of records which match the conditions, and you also
|
73
|
+
get bookmarks of them at the same time. You can access the bookmarks with
|
74
|
+
table::bookmarks().
|
75
|
+
|
76
|
+
* The following methods in C ++ API were modified to allow simultaneous access
|
77
|
+
from multiple threads.
|
78
|
+
* table::insertBookmarks
|
79
|
+
* table::moveBookmarks
|
80
|
+
* table::bookmarksCount
|
81
|
+
* table::bookmarks
|
41
82
|
|
42
83
|
Other Modifications
|
43
84
|
--------------------------------------------------------------------------------
|
44
|
-
*
|
45
|
-
|
85
|
+
* Fix a bug that null key detection is sometimes wrong in P.SQL compatible
|
86
|
+
null key access.
|
46
87
|
|
47
|
-
*
|
88
|
+
* Fix a bug that automatic schema generation sometimes does not work well.
|
48
89
|
|
49
|
-
* Improved
|
50
|
-
effectiveness at
|
90
|
+
* Improved lock control to get the server statistics. Improve the simultaneous
|
91
|
+
effectiveness at monitoring.
|
51
92
|
|
52
|
-
*
|
53
|
-
|
93
|
+
* nsdatabase::isReconnected() method was added.
|
94
|
+
It indicates whether reconnected to the server.
|
54
95
|
|
55
|
-
*
|
96
|
+
* Support reconnection in the case of using multiple databases in single
|
56
97
|
connection.
|
57
98
|
|
58
|
-
*
|
59
|
-
|
60
|
-
|
61
|
-
*
|
62
|
-
handle.
|
63
|
-
|
64
|
-
*
|
65
|
-
|
66
|
-
*
|
67
|
-
short dbdef::validateTableDef(short TableIndex)
|
68
|
-
ushort_td nstable::bookmarkLen() const
|
69
|
-
bookmark_td tabale::bookmarks(unsigned int index) const
|
70
|
-
recordCountFn Call back function
|
71
|
-
table::setOnRecordCount
|
72
|
-
table::onRecordCount
|
73
|
-
bool queryBase::isSeekByBookmarks() const
|
74
|
-
void queryBase::addSeekBookmark(bookmark_td& bm, ushort_td len, bool reset=false)
|
75
|
-
bool writableRecord::read(bookmark_td& bm)
|
76
|
-
|
77
|
-
*
|
78
|
-
table::setBookMarks --> table::insertBookmarks
|
79
|
-
table::moveBookmarksId --> table::moveBookmarks
|
80
|
-
table::bookMarksCount --> table::bookmarksCount
|
81
|
-
|
82
|
-
*
|
83
|
-
void database::close(bool withDropDefaultSchema = false)
|
84
|
-
activeTable::activeTable(database* db, short tableIndex,
|
99
|
+
* Fix a bug that useless internal null fields will be added when create table
|
100
|
+
if there is a null key.
|
101
|
+
|
102
|
+
* Fix invalid pointer operations that occurs when an invalid prepared query
|
103
|
+
handle are received.
|
104
|
+
|
105
|
+
* Fix a bug that can not coexist with the lock by SQL access sometimes.
|
106
|
+
|
107
|
+
* Added methods
|
108
|
+
* short dbdef::validateTableDef(short TableIndex)
|
109
|
+
* ushort_td nstable::bookmarkLen() const
|
110
|
+
* bookmark_td tabale::bookmarks(unsigned int index) const
|
111
|
+
* recordCountFn Call back function
|
112
|
+
* table::setOnRecordCount
|
113
|
+
* table::onRecordCount
|
114
|
+
* bool queryBase::isSeekByBookmarks() const
|
115
|
+
* void queryBase::addSeekBookmark(bookmark_td& bm, ushort_td len, bool reset=false)
|
116
|
+
* bool writableRecord::read(bookmark_td& bm)
|
117
|
+
|
118
|
+
* Changed method names
|
119
|
+
* table::setBookMarks --> table::insertBookmarks
|
120
|
+
* table::moveBookmarksId --> table::moveBookmarks
|
121
|
+
* table::bookMarksCount --> table::bookmarksCount
|
122
|
+
|
123
|
+
* Added method parameters
|
124
|
+
* void database::close(bool withDropDefaultSchema = false)
|
125
|
+
* activeTable::activeTable(database* db, short tableIndex,
|
85
126
|
short mode = TD_OPEN_NORMAL)
|
86
|
-
static activeTable* create(database* db, short tableIndex,
|
127
|
+
* static activeTable* create(database* db, short tableIndex,
|
87
128
|
short mode = TD_OPEN_NORMAL);
|
88
129
|
|
89
|
-
* Change
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
void
|
113
|
-
void
|
114
|
-
void
|
115
|
-
|
116
|
-
*
|
117
|
-
|
118
|
-
|
130
|
+
* Change bookmark type from unsigned int to bookmark_td.
|
131
|
+
```
|
132
|
+
struct BOOKMARK
|
133
|
+
{
|
134
|
+
uchar_td val[MAX_BOOKMARK_SIZE];
|
135
|
+
bool empty;
|
136
|
+
BOOKMARK():empty(true){ }
|
137
|
+
bool isEmpty(){ return empty; }
|
138
|
+
void set(uchar_td* p, int len)
|
139
|
+
{
|
140
|
+
memcpy(val, p, len);
|
141
|
+
empty = false;
|
142
|
+
}
|
143
|
+
};
|
144
|
+
```
|
145
|
+
|
146
|
+
* Changed the type of function arguments to reference of bookmark_td from
|
147
|
+
bookmark_td.
|
148
|
+
|
149
|
+
* openTable method in C++ convenience API supports all arguments of
|
150
|
+
original openTable method.
|
151
|
+
|
152
|
+
* The following functions are added to C++ convenience API.
|
153
|
+
* void deleteTable(dbdef* def, short id)
|
154
|
+
* void renumberTable(dbdef* def, short id, short newid)
|
155
|
+
* void deleteField(dbdef* def, short tableid, short fieldNum)
|
156
|
+
* void deleteKey(dbdef* def, short tableid, short keynum)
|
157
|
+
* void validateTableDef(dbdef* def, short tableid)
|
158
|
+
|
159
|
+
* The binaries which compiled with Embarcadero C++ Builder are no longer
|
160
|
+
included in Transactd Client with SDK for Windows. If you want to use them,
|
161
|
+
they are still available by building from source code.
|
162
|
+
|
119
163
|
http://www.bizstation.jp/ja/transactd/documents/BUILD_WIN.html
|
120
164
|
|
121
165
|
|
@@ -126,38 +170,48 @@ Version 2.3.0 2015-03-20
|
|
126
170
|
|
127
171
|
Upgrade Notes
|
128
172
|
--------------------------------------------------------------------------------
|
129
|
-
* Compatibility between server plugin and clients
|
173
|
+
* Compatibility between server plugin and clients
|
174
|
+
|
130
175
|
You have to upgrade both of the server plugin and client libraries.
|
176
|
+
|
131
177
|
The protocol that is used communicating between server and client were changed
|
132
178
|
for database::reconnect() method. This version of server plugin and clients
|
133
|
-
|
134
|
-
|
179
|
+
have no compatibility with the past versions of them.
|
180
|
+
|
181
|
+
If you access to 2.2 or older version of server plugin with this version of
|
135
182
|
clients, error code SERVER_CLIENT_NOT_COMPATIBLE (3003) will be returned.
|
136
183
|
|
137
184
|
* Some methods were moved.
|
185
|
+
|
138
186
|
table::usePadChar() and table:: trimPadChar() were moved to fielddef structure.
|
187
|
+
|
139
188
|
The setter methods of them were put together to setPadCharSettings(bool set,
|
140
189
|
bool trim). By this change, these values can be saved to the schema.
|
190
|
+
|
141
191
|
This affects to the field types ft_string, ft_wstring, ft_mychar and ft_mywchar.
|
142
192
|
Other field types are not affected.
|
193
|
+
|
143
194
|
The default value of table::usePadChar() and trimPadChar() are true. If you did
|
144
195
|
not change this value, there is no changes on program behavior.
|
145
196
|
If you changed the values, you have to fix program code.
|
146
197
|
|
147
198
|
For example, the code `tb->setUsePadChar(false);` has to be modified like this:
|
148
|
-
```
|
199
|
+
```
|
149
200
|
for (int i = 0 ; i < tb->tableDef()->fieldCount ; ++i)
|
150
201
|
{
|
151
202
|
fielddef* fd = const_cast<fielddef*>(&tb->tableDef()->fieldDefs[i]);
|
152
203
|
fd->setPadCharSettings(false/*set*/, true/*trim*/);
|
153
204
|
}
|
154
|
-
```
|
205
|
+
```
|
206
|
+
|
155
207
|
Note: Changes in this code are volatile, and not saved on schema. Add updating
|
156
208
|
schema code if you need.
|
157
209
|
|
158
|
-
* openTable in transaction
|
210
|
+
* openTable in transaction
|
211
|
+
|
159
212
|
The error code STATUS_ALREADY_INTRANSACTION is added. If openTable is called
|
160
213
|
in transaction, and binary log is enable, the server returns this error.
|
214
|
+
|
161
215
|
The binary log was supported until now, but there was the problem that if
|
162
216
|
openTable is called in transaction the binlog map will not be generated and
|
163
217
|
replication does not go well. So that, we modified the server plugin to return
|
@@ -168,17 +222,21 @@ New Features
|
|
168
222
|
--------------------------------------------------------------------------------
|
169
223
|
* Add bias parameter ROW_LOCK_S to seek and step read operations in
|
170
224
|
MULTILOCK_READ_COMMITED transaction.
|
225
|
+
|
171
226
|
By this, you can control lock in more detail with using shared lock.
|
172
227
|
|
173
228
|
* Add limit option to finish searching to table query with queryBase.
|
229
|
+
|
174
230
|
In the past, the value of limit option meant that max number of records which
|
175
231
|
will be got with one operation. The clients automatically called read operation
|
176
232
|
many times until the other finish conditions are met. In effect, limit was the
|
177
233
|
option that save receive buffer.
|
234
|
+
|
178
235
|
If you set true to queryBase::stopAtLimit(), the limit option behaves as finish
|
179
236
|
condition. The default value is false, and it is same as the past behavior.
|
180
237
|
|
181
238
|
* Add findContinue to enum eFindType for table::find(eFindType type).
|
239
|
+
|
182
240
|
If the last find operation has been finished because of the filter conditions
|
183
241
|
maxRecord or rejectCount, it is able to continue searching from next record
|
184
242
|
with findContinue.
|
@@ -189,15 +247,19 @@ New Features
|
|
189
247
|
|
190
248
|
* Add first and last method to recordset grouping functions. These methods
|
191
249
|
return first or last record in each group. Strings and numbers are supported.
|
250
|
+
|
192
251
|
These methods are useful when use non-normalized field values to avoid JOIN
|
193
252
|
for some reason.
|
194
253
|
|
195
254
|
* Add case-insensitive comparison operator to filter and query.
|
255
|
+
|
196
256
|
To compare strings without case sensitivity, add "i" after the normal
|
197
257
|
comparison operators.
|
198
258
|
|
199
|
-
|
200
|
-
|
259
|
+
```
|
260
|
+
Case-sensitive: =, >, < , >=, <=, <>
|
261
|
+
Case-insensitive: =i, >i, <i, >=i, <=i, <>i
|
262
|
+
```
|
201
263
|
|
202
264
|
When the comparison field is same as the index field which is using, setting
|
203
265
|
case sensitivity same as field definition makes performance better. If case
|
@@ -207,9 +269,11 @@ New Features
|
|
207
269
|
* Add database::reconnect() which is used to reconnect to database. You can
|
208
270
|
reconnect to database with this method even if server process has been
|
209
271
|
restarted unexpectedly.
|
272
|
+
|
210
273
|
The reconnection contains reopening tables, recovering cursor positions and
|
211
274
|
record locks. Transactions which have not been commited yet will not be
|
212
275
|
recovered. You have to run it again.
|
276
|
+
|
213
277
|
There is no way to change the reconnect address at present, but tdclc will
|
214
278
|
support it in the future.
|
215
279
|
|
@@ -220,8 +284,10 @@ New Features
|
|
220
284
|
* Add connectTimeout and netTimeout to client setting file (transactd.ini or
|
221
285
|
transactd.cnf). The default values are following:
|
222
286
|
|
287
|
+
```
|
223
288
|
connectTimeout = 20
|
224
289
|
netTimeout = 180
|
290
|
+
```
|
225
291
|
|
226
292
|
connectTimeout means timeout seconds for connection. netTimeout means timeout
|
227
293
|
seconds for waiting response from server in a operation.
|
data/bin/2.0/transactd.so
CHANGED
Binary file
|
data/bin/2.1/transactd.so
CHANGED
Binary file
|
data/bin/2.2/transactd.so
CHANGED
Binary file
|
data/bin/common/tdclc_64_2_4.dll
CHANGED
Binary file
|
Binary file
|
data/build/common/system.cmake
CHANGED
@@ -51,17 +51,19 @@ macro(bz_get_compiler)
|
|
51
51
|
set(BZ_COMPILER "")
|
52
52
|
if(WIN32)
|
53
53
|
if(MSVC60)
|
54
|
-
set(BZ_COMPILER "
|
54
|
+
set(BZ_COMPILER "_vc60")
|
55
55
|
elseif(MSVC70)
|
56
|
-
set(BZ_COMPILER "
|
56
|
+
set(BZ_COMPILER "_vc70")
|
57
57
|
elseif(MSVC80)
|
58
|
-
set(BZ_COMPILER "
|
58
|
+
set(BZ_COMPILER "_vc80")
|
59
59
|
elseif(MSVC90)
|
60
|
-
set(BZ_COMPILER "
|
60
|
+
set(BZ_COMPILER "_vc90")
|
61
61
|
elseif(MSVC10)
|
62
62
|
set(BZ_COMPILER "_vc100")
|
63
63
|
elseif(MSVC11)
|
64
64
|
set(BZ_COMPILER "_vc110")
|
65
|
+
elseif(MSVC12)
|
66
|
+
set(BZ_COMPILER "_vc120")
|
65
67
|
elseif(MINGW)
|
66
68
|
string(REPLACE "." ";" tmp_list ${CMAKE_CXX_COMPILER_VERSION})
|
67
69
|
list (GET tmp_list 0 MINGW_MAJOR)
|
@@ -26,8 +26,8 @@ set INSMSG=..\..\..\install.log
|
|
26
26
|
set ERRMSG=errormsg.log
|
27
27
|
|
28
28
|
@REM BUILD
|
29
|
-
echo BUILD
|
30
|
-
msbuild
|
29
|
+
echo BUILD TransactdRubyClient.sln %date% %time% >> "%BLDMSG%"
|
30
|
+
msbuild TransactdRubyClient.sln /p:Configuration=Release /m:2 >> "%BLDMSG%" 2>&1
|
31
31
|
if ERRORLEVEL 1 (
|
32
32
|
echo ************************************************************** 1>&2
|
33
33
|
echo EROOR MESSAGE 1>&2
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transactd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.2
|
5
5
|
platform: x64-mswin64-100
|
6
6
|
authors:
|
7
7
|
- BizStation Corp.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Transactd client for ruby gem
|
14
14
|
email: transactd@bizstation.jp
|
@@ -48,8 +48,8 @@ files:
|
|
48
48
|
- ./README.md
|
49
49
|
- ./README_ORMSRCGEN-JA.md
|
50
50
|
- ./README_ORMSRCGEN.md
|
51
|
-
- ./RELEASE_NOTE
|
52
|
-
- ./RELEASE_NOTE
|
51
|
+
- ./RELEASE_NOTE-JA.md
|
52
|
+
- ./RELEASE_NOTE.md
|
53
53
|
- ./transactd.gemspec
|
54
54
|
homepage: http://www.bizstation.jp/ja/transactd
|
55
55
|
licenses:
|