[fpc-pascal] Documentation for sqldb - More Questions

Joost van der Sluis joost at cnoc.nl
Tue Jul 3 17:33:32 CEST 2007

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

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

What do you mean with the local change log and data file?


More information about the fpc-pascal mailing list