On Wed, Apr 9, 2014 at 12:24 AM, Rajeev rastogi
<rajeev.rastogi@huawei.com> wrote:
>> > Deadlock Detection:
>> I'm not sure how this would work out internally
> In order to resolve deadlock, two member variable will be created in the structure PROLOCK:
> Bitmask for lock types currently held by autonomous transaction.
> LOCKMASK holdMaskByAutoTx[MAX_AUTO_TX_LEVEL]
> Bitmask for lock types currently held by main transaction.
> LOCKMASK holdMaskByNormalTx
>
> Now when we grant the lock to particular transaction, depending on type of transaction, bit
> Mask will be set for either holdMaskByAutoTx or holdMaskByNormalTx.
> Similar when lock is ungranted, corresponding bitmask will be reset.
That sounds pretty ugly, not to mention the fact that it will cause a
substantial increase in the amount of memory required to store
PROCLOCKs. It will probably slow things down, too.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company