[fpc-devel] Patch to remove useless bookmark store in TDataset.DoInsertAppend

Joost van der Sluis joost at cnoc.nl
Mon Jul 25 10:44:18 CEST 2005

On Sat, 2005-07-23 at 18:14 -0300, Luiz Américo wrote:
> As already commented in the code, the bookmarking done inside 
> TDataset.DoInsertAppend is useless, not to say buggy.
> It makes 2 records to have the same bookmark data but this is not 
> noticed because the bookmarkdata is set to the correct value after 
> Post->Resync.

I didn't dare to remove it, it could give strange results...

> In TDBF, if the bookmark is get just after a insert call this bookmark 
> will point to the previous record (see the attached example).
> The patch remove this code and also refactory a if statement.
> Unfortunately, after applying the patch if a bookmark is get after 
> insert this bookmark points to the first record. This occurs because 
> TDBF inits a buffer with BookMarkData=0 and BookMarkFlag=bfCurrent 
> instead of bfInserted (this makes bookmarkavailable returns true)
> As far as i can understand it seems that is not allowed to get a 
> bookmark in a not posted record, is it?

Maybe that if the record is posted, it get a new bookmark? Can you test
that? If that's so, i would say we could apply your patch, and look if
someone reports that there's something broken...

Met vriendelijke groeten,

  Joost van der Sluis
  CNOC Informatiesystemen en Netwerken

More information about the fpc-devel mailing list