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

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.
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