Product Documentation

c-treeACE V10.0 Release Notes

Previous Topic

Next Topic

Persistent Transaction Lock State now Ignored for Unlock Requests Outside Transactions

It was reported the ctLOKDYN mode behaved in an unexpected manner regarding the persistent lock behavior for transaction-controlled files previously implemented. Essentially, ctLOKDYN(tranPersist) also changed the behavior of locks outside of transactions and it was preferred to have locks acquired and released entirely outside of a transaction to be immediately released. Currently, they are held until a TRANBEG() + TRANEND(ctFREE) is called if the tranPersist mode is set. This behavior change was not mentioned in the original implementation for the persistent lock feature.

The function that unlocks a data record was modified such that it now rejects an unlock request for a record in a transaction-controlled file when the persistent transaction lock state is enabled only if a transaction is active at the time the unlock request is made. This means that an unlock request that is made outside a transaction will ignore the persistent transaction lock state.

TOCIndex