Subject Re: [IBO] IBO4
Author Jason Wharton
This question and the one after it are both related to what I want to say.

The transaction OAT processing is causing these fetches. I am not quite done
fully putting in place all of the nice things horizontal dataset refinement
will allow. All this extra fetching will go away on these datasets with the
benefits of this new feature because there is no point in the fetches with
the ability to refine a dataset. It is non refined datasets that need to
exhaust the cursor to allow the transaction to be released. With refinement
I can close and reopen a cursor anywhere in the entire dataset. That is the
whole point of the feature to gain an added level of freedom from holding a
cursor open.

I'll explain it a bit better if I can. The new refinement is able to open a
cursor and walk a few records and then if necessary, like when Locate or
Last is called it kills the current cursor and generates a new one where the
records of interest are. There is no point in trying to exhaust records out
of a cursor when it can kill itself and regenerate itself anywhere in the
dataset required.

So, what you should look forward to (hopefully before I make the final
release) is this background fetching going away. Cursors simply need to be
truncated (killed) so that OAT processing will go on totally unobstructed.
That is a totally cheap operation under the architecture of the refinement
process. The only inefficiency it will impose is records that have been
batched together in network packets may have to be requested again if a new
boundary to the current cursor is defined.

Perhaps you have noticed performance when doing individual fetches. 10 or so
will go by quickly and then you hit one fetch that takes just a pause. Each
time records are sent, InterBase prefetches and batches them together. If it
gets half way through a batch and truncates the cursor it will fetch records
from the already prefetched batch. Not a big deal if this only happens on a
basis of once in 30 seconds at most. Depends on how you have tuned the
transaction timeout parameters.

Hope this makes sense. If not, don't worry about it. I've got it all
(fairly) under control.

Jason Wharton
CPS - Mesa AZ

----- Original Message -----
From: "Sandeep" <sandeep@...>
To: <>
Sent: Thursday, June 28, 2001 8:53 PM
Subject: [IBO] IBO4

> I have got IBO version 4, and the TIBOTable component is quite
> fast, but it seems to be reading all the records in table again and
> again from server every few seconds. Since I have quite a few
> tables opened in Datamodule the whole application slows down. Is
> there any property I'm not setting.
> Sandeep
> Software Developer
> sandeep@...