Subject Re: [IBO] Transactions - snapshot of data
Author Robert martin
Thanks for that Geoff

Makes perfect sense, I hadn't thought about IBO going to the server for
records not in the buffer. The FetchAll didn't fix it but removing the
Keylinks did. I cringe as to where else I am using similar logic !

Rob Martin
Software Engineer

phone +64 03 377 0495
fax +64 03 377 0496
web www.chreos.com

Wild Software Ltd



Geoff Worboys wrote:

>Yes IBO does often create SQL to locate the value of the key,
>which it then tries to locate in its buffers or retrieve
>from the database. However, if I remember correctly, it will
>only do this if the query is not finished (has not loaded all
>the rows into its buffer).
>
>So, whatever else, you must do a FetchAll after open to
>ensure that you have copies of all the "old" rows in memory.
>(The default behaviour is to only load rows as needed.)
>
>Not sure... but you may also try clearing the KeyLinks, as
>this will definitely force IBO to work through its buffers
>rather than trying to match a row directly.
>
>All that aside, tiConcurrency is probably the most reliable
>solution - although I am guessing you want this to be a long
>running transaction.
>
>
>