On Tue, 2007-07-03 at 14:13 +0200, Martin Schreiber wrote: > > I aggree with Michael on this. Besides, last time I looked at your > > 'TBufDataset' (which is a actually a fork, offcourse) it only > > implemented blob-fields, on top of the existing TBufDataset. > > > > The current TBufDataset also supports blob-fields, in a (in my > opinion) > > better way, now. Are there any other changes/additions? > > > It is completely rewritten. Buffer organisation is not a linked list, > the > record pointers are hold in arrays to allow simple record accessing > by > locally builded indexes and easy recno handling. String fields are > stored as > widestrings, there are no fixed string field sizes in the record > buffer. It > has the possibility to work comparable to TClientDataset with a local > change > log and data file.
I had the 'old' tmbufdataset in mind. The TMSEbufDataset is indeed very different. As you can probably remember, the TBufDataset also used a array to store the record buffers. I changed that because benchmarks showed that the current solution is much faster. Even if you want to address a record immediately, as long as you use a bookmark, and not the recno directly. Which is imho not always a good idea. But there are no indexes yet, that's completely true. What I do like is the idea of storing strings in a widestring/ansistring. I tried to implement that earlier, but it's not doable in a Delphi-compatible way. As you said, you don't have that problem. But it's still something on my whish-list for sqldb/TDataset/TBufDataset. There must be a solution, without using the blob-system... What do you mean with the local change log and data file? Regards, Joost. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal