Attempt property |
Applies to
TIB_TimeoutProps
Declaration
Property Attempt : word;
Description
This is the point in time when IBO will begin to attempt to close the
transaction if at all possible. What will happen by default is it will check
for datasets that are set to CommitAction caFetchAll and that aren't yet fetched
to EOF. It will start causing fetches in the backgroud to take place such that
it will eventually fetch all the records and allow the cursor to be closed.
Thus, the transaction can then be closed.
This mode still behaves in a non-intrusive manner but it tends to get more
aggressive about what it tries to accomplish so that the transaction can be
ended.
The behavior for Attempt sees if there are any datasets set to caFetchAll and
it begins working on fetching records to try and get the transaction freed up.
It will try and do anything else in a non-intrusive manner to get things such
that the transaction can close.
I've got it performing "background" fetches without using multi-threading.
Multi-threading is out since I don't want to impose critical sections all
over the place. It hooks into the session timer to feed individual row fetches
and it only allows the dataset to fetch for a specified duration of time that
you configure. No callbacks are allowed during that time so it should be a
totally background procedure.