Page 1 of 1

SDAC 3.55

Posted: Mon 26 Mar 2007 01:33
by yeohray
We're currently still using SDAC 3.55 and haven't upgraded because it's adequate for our needs. Looking at the change history, it mentions the following for version 3.70

3.70.1.27 12.05.06
- Bug with using alternative memory managers fixed

We're using FastMM in our application. Could you pls elaborate on what the bug is, so we can decide if we need to upgrade?

Thanks.

Posted: Mon 26 Mar 2007 14:09
by Jackson
There was a bug in SDAC with optimized storing of extended strings.
The manner in which some memory managers allocate headers of memory blocks differs from the standard memory manager bahaviour.
If you have no errors with SDAC in your project, there is no need to upgrade. Otherwise, we recommend you to upgrade to the last SDAC version.

Posted: Mon 26 Mar 2007 15:33
by yeohray
What are extended strings? Thanks.

Posted: Tue 27 Mar 2007 09:17
by Jackson
There is a property TCustomDADataSet.Options.FlatBuffers. It controls how dataset treats data of ftString and ftVarBytes fields. When set to True, all data fetched from the server is stored in record pdata without unused tails. When set to False, data of ftString and ftVarBytes fields with length more than 32 bytes is stored in preallocated memory blocks. Such fields are called "extended strings". Please see description of the FlatBuffers property in SDAC help for more information.

Posted: Wed 28 Mar 2007 03:27
by yeohray
I see that FlatBuffers are by default 'false'. Did the bug affect applications that used FastMM as the memory manager?

Thanks.

Posted: Wed 28 Mar 2007 12:05
by Jackson
This bug affects programs that use FastMM, but only if string fields contain data more than 2000 bytes.
If you don't have the 'DisposeBuf failed' assertion failure or Access Violation exception, your program doesn't containt conditions under which this bug appears.

Posted: Wed 28 Mar 2007 15:34
by yeohray
Thank you for the clarification.