On Wed, Apr 9, 2014 at 12:24 AM, Rajeev rastogi <rajeev.rast...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers