Thread: LOCK.tag(figuring out granularity of lock)

LOCK.tag(figuring out granularity of lock)

From
"Jenny -"
Date:
following is taken from postgresql-7.3.2/src/backend/storage/lmgr/readme:

"If we are setting a table level lockboth the blockId and tupleId (in an item pointer this is calledthe position) are
setto invalid, if it is a page level lock theblockId is valid, while the tupleId is still invalid.  Finally ifthis is a
tuplelevel lock (we currently never do this) then boththe blockId and tupleId are set to valid specifications.  "
 

how do we check whether blockId and tupleId of LOCK.tag are valid or 
invalid?
is blockId same as tag.objId.blkno?  what field in LOCK.tag is tupleId?
thanks
jenny

_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online  
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963



Re: LOCK.tag(figuring out granularity of lock)

From
Tom Lane
Date:
"Jenny -" <nat_lazy@hotmail.com> writes:
> how do we check whether blockId and tupleId of LOCK.tag are valid or 
> invalid?

Look at how LockRelation and LockPage (in
src/backend/storage/lmgr/lmgr.c) set up the tags --- it might be clearer
then.
        regards, tom lane