Re: [HACKERS] table-level and row-level locks.
A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. The bit is needed to distinguish this from the case where the transaction is deleting the tuple. where is 'HEAP_MARKED_FOR_UPDATE infomask bit' found ? thanks From: Tom Lane [EMAIL PROTECTED] To: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] table-level and row-level locks. Date: Wed, 20 Aug 2003 14:45:23 -0400 Koichi Suzuki [EMAIL PROTECTED] writes: I need to know where such lock marks are stored in the source level. A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. The bit is needed to distinguish this from the case where the transaction is deleting the tuple. regards, tom lane ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html _ Use custom emotions -- try MSN Messenger 6.0! http://www.msnmessenger-download.com/tracking/reach_emoticon ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
Re: [HACKERS] table-level and row-level locks.
On Sun, Sep 07, 2003 at 04:07:42PM -0700, Jenny - wrote: A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. The bit is needed to distinguish this from the case where the transaction is deleting the tuple. where is 'HEAP_MARKED_FOR_UPDATE infomask bit' found ? Have you ever heard of the grep *nix utility? It's quite useful. Anyway, t_infomask is part of a struct called HeapTupleHeaderData, defined somewhere in src/include/access/htup.h -- Alvaro Herrera (alvherre[a]dcc.uchile.cl) You liked Linux a lot when he was just the gawky kid from down the block mowing your lawn or shoveling the snow. But now that he wants to date your daughter, you're not so sure he measures up. (Larry Greenemeier) ---(end of broadcast)--- TIP 8: explain analyze is your friend
Re: [HACKERS] table-level and row-level locks.
if table and page are locked in src/backend/storage/lmgr/lmgr.c by LockRelation() and LockPage respectively, in which file and by which function is a row locked? thanks Jenny From: Jenny - [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [HACKERS] table-level and row-level locks. Date: Sun, 24 Aug 2003 11:30:41 -0700 A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. Where is 'xmax' found? is it at code level or on disk? thanks Jenny From: Tom Lane [EMAIL PROTECTED] To: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] table-level and row-level locks. Date: Wed, 20 Aug 2003 14:45:23 -0400 Koichi Suzuki [EMAIL PROTECTED] writes: I need to know where such lock marks are stored in the source level. A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. The bit is needed to distinguish this from the case where the transaction is deleting the tuple. regards, tom lane ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html _ Get MSN 8 and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental ---(end of broadcast)--- TIP 8: explain analyze is your friend _ MSN 8: Get 6 months for $9.95/month. http://join.msn.com/?page=dept/dialup ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
Re: [HACKERS] table-level and row-level locks.
A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. Where is 'xmax' found? is it at code level or on disk? thanks Jenny From: Tom Lane [EMAIL PROTECTED] To: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] table-level and row-level locks. Date: Wed, 20 Aug 2003 14:45:23 -0400 Koichi Suzuki [EMAIL PROTECTED] writes: I need to know where such lock marks are stored in the source level. A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. The bit is needed to distinguish this from the case where the transaction is deleting the tuple. regards, tom lane ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html _ Get MSN 8 and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental ---(end of broadcast)--- TIP 8: explain analyze is your friend
Re: [HACKERS] table-level and row-level locks.
Hi, I understand this is very old topics but ... I tried to find where such lock mark is defined in each tuple on disk, but I failed to find such definition in include/access/htup.h. Only the bit relevant to lock is HEAP_XMAX_UNLOGGED and I understand this bit is used only when we have to split a big tuple into multiple blocks or to toast it. I need to know where such "lock marks" are stored in the source level. Any hint is appreciated. Thanks, Koichi Suzuki, NTT DATA Intellilink Corp. 土曜日 12 7月 2003 00:17、Tom Lane さんは書きました: Please do not use HTML mail on this list ... Anyway, the answer to your question is that row locks are recorded on disk (by marking the tuple as locked). We'd soon run out of memory if we tried to record them in the shared lock table. regards, tom lane ---(end of broadcast)--- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [HACKERS] table-level and row-level locks.
Koichi Suzuki [EMAIL PROTECTED] writes: I need to know where such lock marks are stored in the source level. A row lock is represented by storing the locking transaction's ID in xmax and setting the HEAP_MARKED_FOR_UPDATE infomask bit. The bit is needed to distinguish this from the case where the transaction is deleting the tuple. regards, tom lane ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
[HACKERS] table-level and row-level locks.
Iam trying to acquire rowlevel locks in postgresql. I try doing this: 'select * from students where name='Larry' for update; But by looking at the holding array of proclock , I've noticed that by doing this only AccessShareLock gets acquired which is a table level lock. How do I acquire rowlevelock and what fields of Lock or Proclock datastructures indicate it. Thanks JennyMSN 8 helps ELIMINATE E-MAIL VIRUSES. Get 2 months FREE*.
Re: [HACKERS] table-level and row-level locks.
Once more unto the breach - Could you please abstain from sending HTML email to the list ? Many thanks ! -- Pip-pip Sailesh http://www.cs.berkeley.edu/~sailesh ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
[HACKERS] table-level and row-level locks.
Iam trying to acquire rowlevel locks in postgresql. I try doing this: 'select * from students where name='Larry' for update; But by looking at the holding array of proclock , I've noticed that by doing this only AccessShareLock gets acquired which is a table level lock. How do I acquire rowlevelock and what fields of Lock or Proclock datastructures indicate it. Thanks JennyMSN 8 helps ELIMINATE E-MAIL VIRUSES. Get 2 months FREE*.
[HACKERS] table level and row level locks
Iam trying to acquire rowlevel locks in postgresql. I try doing this: 'select * from students where name='Larry' for update; But by looking at the holding array of proclock , I've noticed that by doing this only AccessShareLock gets acquired which is a table level lock. How do I acquire rowlevelock and what fields of Lock or Proclock datastructures indicate it. Thanks JennyAdd photos to your e-mail with MSN 8. Get 2 months FREE*.
Re: [HACKERS] table-level and row-level locks.
Jenny - [EMAIL PROTECTED] writes: htmldiv style='background-color:'DIVIam trying to acquire rowlevel locks in postgresql. I try doing this: /DIV DIVnbsp;'select * from students where name='Larry' for update;/DIV DIVBut by looking at the holding array of proclock , I've noticed that by doing this only DTAccessShareLock gets acquired which is a table level lock. /DT Please do not use HTML mail on this list ... Anyway, the answer to your question is that row locks are recorded on disk (by marking the tuple as locked). We'd soon run out of memory if we tried to record them in the shared lock table. regards, tom lane ---(end of broadcast)--- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
[HACKERS] table-level and row-level locks.
Iam trying to acquire rowlevel locks in postgresql. I try doing this: 'select * from students where name='Larry' for update; But by looking at the holding array of proclock , I've noticed that by doing this only AccessShareLock gets acquired which is a table level lock. How do I acquire rowlevelock and what fields of Lock or Proclock datastructures indicate it. Thanks JennyHelp STOP SPAM with the new MSN 8 and get 2 months FREE*