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 http://www.cnoc.nl _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
