ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/changelog
(Generate patch)

Comparing ibx/trunk/changelog (file contents):
Revision 409 by tony, Sun Jan 22 12:19:56 2023 UTC vs.
Revision 410 by tony, Thu Jun 22 13:52:39 2023 UTC

# Line 1 | Line 1
1 < IBX Change Log  version (2.5-1 Build nnn) Tue, 6 Dec 2022 23:13:00 +0000
1 > IBX Change Log  version (2.6-0 Build 13976) Thu, 22 Jun 2023 13:49:22 +0100
2 >
3 > NOTE: THIS VERSION RE-WRITES THE INTERNAL BUFFER MANAGER AND SHOULD BE CONSIDERED
4 >      AS BETA SOFTWARE. EVEN THOUGH IT HAS PASSED ALL REGRESSION TESTS, IT CANNOT
5 >      BE ASSUMED TO BE PRODUCTION READY UNTIL WIDER USE. PLEASE REPORT ANY
6 >      ISSUES TO support@mwasoftware.co.uk
7 >
8 > 1. Complete rewrite of internal buffer management in order to improve performance
9 >   and maintainability. Highlights:
10 >
11 >   * Extending the size of the buffer pool no longer has to copy the entire record
12 >     cache. Instead, a new extent is simply added to the buffer pool.
13 >   * A memory to memory copy of each display buffer now is avoided when scolling the
14 >     dataset.
15 >   * A separate set of buffers is now used for calculated fields. This avoids
16 >     having to keep copies of calculated field values in the buffer cache.
17 >   * Compact bitmaps are used to record null status and need to refresh in each
18 >     buffer.
19 >   * Display buffer type changed from PChar to TRecordBuffer in line with change of
20 >     buffer type in FCL-DB.
21 >
22 > 2. TIBUpdateSQL: changes to SQL text will close linked dataset if open. This is
23 >   to ensure same behaviour as TIBDataset, TIBTable and TIBStoredProcedure.
24 >
25 > 3. TField Provider Flags: pfRefreshOnInsert and pfRefreshOnUpdate are now supported.
26 >   If either or both of these flags are set at design time (using the fields editor)
27 >   then this forces a row refresh on respectively insert or update, or both, when the
28 >   corresponding field is not present in an SQL RETURNING clause.
29 >
30 > 4. TIBCustomDataset.FieldDefsFromQuery moved to a helper class (TFieldDefsMaker) in order to improve
31 >   maintainability and readability and to add identification of primary key fields.
32 >
33 > 5. TIBQuery, TIBDataset and TIBTable. Traditionally, IBX has implemented the Refresh method
34 >   as a refresh of the current row. However, this is different behaviour to that described
35 >   in the FPC documentation for TDataset.Refresh which is described as "refetches the data in
36 >   the dataset from the underlying database, and attempts to reposition the cursor on
37 >   the same record as it was". IBX now complies with the FPC definition of Refresh.
38 >
39 > 6. A progammatic Row Refresh should no longer be required.
40 >   Use Insert/Update... returning to refresh any fields that may change following an
41 >   insert or update i.e. Identify fields on Insert only, Computed By, Blob and array fields
42 >   on both. If there are any other fields (e.g. updated by triggers) set the appropriate ProviderFlag
43 >   for the field at Design Time to force a row refresh if not in the returning clause.
44 >
45 > 7. It should now be possible to insert a row into an empty unidirectional dataset.
46 >
47 > 8. New TIBQuery, TIBDataSet and TIBTable property: BufferChunksInFirstBlock (default 50).
48 >   This gives the number of buffers in the initial block for the buffer pool in
49 >   bi-directional datasets. BufferChunks (default 1000) gives the number of buffers
50 >   in subsequent buffer pool blocks. This avoids large and mostly unused memory allocations
51 >   for small datasets.
52 >
53 > IBX Change Log  version (2.5-1 Build 13927) Tue, 6 Dec 2022 23:13:00 +0000
54  
55   1. IBCustomDataset: avoid problem with additions to TFieldType by using a subset instead.
56  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines