transactd 2.4.5-x86-mswin32-100 → 3.0.0-x86-mswin32-100

Sign up to get free protection for your applications and to get access to all the features.
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.)
Binary file
Binary file