LOCK.tag(figuring out granularity of lock)

Started by Jenny -over 22 years ago2 messages
#1Jenny -
nat_lazy@hotmail.com

following is taken from postgresql-7.3.2/src/backend/storage/lmgr/readme:

"If we are setting a table level lock
both the blockId and tupleId (in an item pointer this is called
the position) are set to invalid, if it is a page level lock the
blockId is valid, while the tupleId is still invalid. Finally if
this is a tuple level lock (we currently never do this) then both
the 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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jenny - (#1)
Re: LOCK.tag(figuring out granularity of lock)

"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