Subject Re: [IBO] AllowCheckOAT
Author Jason Wharton
Guido,

> Let's see, if I get it:
> AllowCheckOAT=30
> Attempt=300
> AttemptMaxRows=15000
> AttemptRetry=5
> AttemptTicks=500
>
> A dataset with 100.000 rows will be opened and displayed in Grid, so 30
rows
> were fetched. After 30 sec IBO tries to end the transaction, but fails.
After 60
> sec IBO tries again and fails and so on. After 300 sec IBO sees, that not
all
> rows were fetched and it tries to fetch up to 15.000 rows in a half second
> (AttemptTicks=500). After 5 sec IBO fetches again 15.000 rows and so on,
until
> all rows were fetched and when the CheckOAT fires next time, the
transaction
> will be ended.
> I hope, I described it the right way.
>
> At least, one thing is not clear to me. With the TimeoutProps, all
datasets will
> fetch all rows regardless wether their CommitAction is caFetchAll or not.
This
> is a great waste of memory, because a user normally sees only up to 100
rows at
> one time and not like my example 100.000. The only way around I see, is
not to
> use the TimeoutProps or is there another ?

You are close but some of what you assume isn't quite accurate. I'll
clarify. Modifying your words a little to be more explicit:

A dataset with 100.000 rows will be opened and displayed in Grid, so 30 rows
were fetched. After 30 sec IBO tries to end the transaction, but fails. From
that point on it checks and fails each time the Session fires an OnTimer
event. After 300 sec IBO sees, that not all rows were fetched. It starts
fetching records in short little spurts to get to the end of the cursor. It
will only go up to 15.000 rows and stop. Each spurt is a half second
(AttemptTicks=500). The time between spurts is 5 sec before IBO fetches
again. If the cursor end is reached for all datasets then the CheckOAT ends
the transaction.

If it gets stuck at 15,000 rows it will not take any more action until the
prompt timeout is met. Then the user actually gets prompted. They can ignore
and make some adjustments to satisfy it like close a form or something. If
they are unsuccessful they will get prompted again and again until it annoys
them.

If the user doesn't respond to the prompt and the force option takes place
it will force the transaction closed.

HTH,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com