Subject | Re: [Firebird-Architect] Question on classic |
---|---|
Author | Dmitry Yemanov |
Post date | 2005-10-26T13:56:48Z |
"Jim Starkey" <jas@...> wrote:
that the concurrent transaction has finished and we have an up-to-date info.
If the cache says "active", we don't rely on this answer and try to get a
lock to check whether it's actually true or not. If the lock failed - the
transaction is still active. If the lock aquired - the transaction has
finished, let's refetch TIP. Where is a failure in this logic?
Dmitry
>Could you explain why? If the cache says "committed" or "dead", this means
> Unfortunately, the transaction cache isn't reliable for this purpose
that the concurrent transaction has finished and we have an up-to-date info.
If the cache says "active", we don't rely on this answer and try to get a
lock to check whether it's actually true or not. If the lock failed - the
transaction is still active. If the lock aquired - the transaction has
finished, let's refetch TIP. Where is a failure in this logic?
Dmitry