Re: [HACKERS] Proposed Query Planner TODO items
On Mon, 2004-02-09 at 16:53, Josh Berkus wrote: Jenny, For 19, we moved the common conditions out of the big ORs, for 20, we added distinct. We can change the query back if the optimizer can handle it now. Well, we want to test if it can. Replace the file 19.sql under datagen/pgsql-queries with the attachment should do it. Jenny -- @(#)19.sql 2.1.8.1 -- TPC-H/TPC-R Discounted Revenue Query (Q19) -- Functional Query Definition -- Approved February 1998 :b :x :o select sum(l_extendedprice* (1 - l_discount)) as revenue from lineitem, part where ( p_partkey = l_partkey and p_brand = ':1' and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') and l_quantity = :4 and l_quantity = :4+10 and p_size between 1 and 5 and l_shipmode in ('AIR', 'AIR REG') and l_shipinstruct = 'DELIVER IN PERSON' ) or ( p_partkey = l_partkey and p_brand = ':2' and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') and l_quantity = :5 and l_quantity = :5+10 and p_size between 1 and 10 and l_shipmode in ('AIR', 'AIR REG') and l_shipinstruct = 'DELIVER IN PERSON' ) or ( p_partkey = l_partkey and p_brand = ':3' and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') and l_quantity = :6 and l_quantity = :6+10 and p_size between 1 and 15 and l_shipmode in ('AIR', 'AIR REG') and l_shipinstruct = 'DELIVER IN PERSON' ); :e ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
Re: [HACKERS] row level lock and table level locks
Well, then if i have a transaction1 that does the following: begin work; select * from students where age=19 for update;. and then another transaction2 comes along and tries to lock the same row and is made to wait. Does it find out the row hes trying to lock is already locked after it builds its own TupleTable and has access to the t_infomask (set to HEAP_MARKED_FOR_UPDATE for this tuple) in the HeapTupleHeader for the HeapTuple in question , since HeapTuples are stored in TupleTable. thanks From: Tom Lane [EMAIL PROTECTED] To: Jenny - [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] row level lock and table level locks Date: Mon, 08 Sep 2003 22:33:35 -0400 Jenny - [EMAIL PROTECTED] writes: TupleTables are just temporary data structures to hold transiently created tuples during execution of a query. There's usually one for each plan node. The TupleTable will exist for the query from the point the query is made untill the transaction is committed? or does the TupleTable go away as soon as query is finished executing? It goes away as soon as the query finishes. My answer above was mistaken --- plan nodes usually allocate slots in a single TupleTable created (and destroyed) by execMain.c, rather than each having their own TupleTable. But it's still a query-lifetime data structure. I would think the TupleTable for that query is held untill the transaction is committed since lock on the tuple is endtill the end of transaction You keep looking for nonexistent locks on tuples ... The only resources represented by a TupleTable entry are memory for a transient tuple (if we rewrote the system today, we'd forget that function, since short-term memory contexts can do the job better) or a buffer pin for a tuple that's sitting in a shared disk buffer. There is no reason to hold a buffer pin beyond the time that the tuple might actually be referenced by the query plan. regards, tom lane _ Get 10MB of e-mail storage! Sign up for Hotmail Extra Storage. http://join.msn.com/?PAGE=features/es ---(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] row level lock and table level locks
HI, I found out that TupleTable stores per-tuple information(it stores HeapTupleData) and that also there are multiple TupleTables in the db at a time.Based on what are diffrent TupleTables created? thank you Jenny From: Larry Douzie [EMAIL PROTECTED] To: Tom Lane [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] row level lock and table level locks Date: Sun, 7 Sep 2003 21:05:49 -0700 (PDT) Larry Douzie writes: Is there a array or some sort of datastructures that store all the HeapTupleDatas for all rows in the db? Er, wouldn't that be the database files? What i mean is, whats the pointer name to this list of HeapTupleDatas? Tom Lane [EMAIL PROTECTED] wrote: c regards, tom lane ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster - Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software _ Express yourself with MSN Messenger 6.0 -- download now! http://www.msnmessenger-download.com/tracking/reach_general ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
Re: [HACKERS] row level lock and table level locks
TupleTables are just temporary data structures to hold transiently created tuples during execution of a query. There's usually one for each plan node. whats a 'plan node'? From: Tom Lane [EMAIL PROTECTED] To: Jenny - [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] row level lock and table level locks Date: Mon, 08 Sep 2003 12:49:51 -0400 Jenny - [EMAIL PROTECTED] writes: I found out that TupleTable stores per-tuple information(it stores HeapTupleData) and that also there are multiple TupleTables in the db at a time.Based on what are diffrent TupleTables created? TupleTables are just temporary data structures to hold transiently created tuples during execution of a query. There's usually one for each plan node. regards, tom lane ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster _ Compare Cable, DSL or Satellite plans: As low as $29.95. https://broadband.msn.com ---(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] row level lock and table level locks
TupleTables are just temporary data structures to hold transiently created tuples during execution of a query. There's usually one for each plan node. So, if i have the following transaction: begin work; select * from students where a age=19 for update; lock table studens in share mode; commit; The TupleTable will exist for the query from the point the query is made untill the transaction is committed? or does the TupleTable go away as soon as query is finished executing? I would think the TupleTable for that query is held untill the transaction is committed since lock on the tuple is endtill the end of transaction Thanks From: Tom Lane [EMAIL PROTECTED] To: Jenny - [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [HACKERS] row level lock and table level locks Date: Mon, 08 Sep 2003 12:49:51 -0400 Jenny - [EMAIL PROTECTED] writes: I found out that TupleTable stores per-tuple information(it stores HeapTupleData) and that also there are multiple TupleTables in the db at a time.Based on what are diffrent TupleTables created? cc regards, tom lane ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster _ Express yourself with MSN Messenger 6.0 -- download now! http://www.msnmessenger-download.com/tracking/reach_general ---(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.
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] tablelevel and rowlevel locks
On Thu, Sep 04, 2003 at 08:56:31AM -0700, Jenny - wrote: I am working on a project that involves displaying locking information about each lock taken, whether it be a row level or table leve llock. When dealing with struct LOCK (src/include/storage) i have noticed that postgreSQL creates a single LOCK struct for each table in the db. Like if i acquire 2 seperate row level locks on 2 seperate rows, both these locks are represented in the same struct LOCK datastructure. I think the locks would actually by represented by PROCLOCK structures. The LOCK structures are for lockable objects, not for actual locks. Well,from what i understand, PROCLOCK stores the TransactionID and the LOCK its holding lock on ,so how would PROCLOCK be holding the 'actual' lock as apposed to the lockable objects? thanks! _ Use custom emotions -- try MSN Messenger 6.0! http://www.msnmessenger-download.com/tracking/reach_emoticon ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
[HACKERS] tablelevel and rowlevel locks
I am working on a project that involves displaying locking information about each lock taken, whether it be a row level or table leve llock. When dealing with struct LOCK (src/include/storage) i have noticed that postgreSQL creates a single LOCK struct for each table in the db. Like if i acquire 2 seperate row level locks on 2 seperate rows, both these locks are represented in the same struct LOCK datastructure . And if i acquire a table level lock on this table, then all 3 locks information( 2 row level locks and 1 table level lock) is recorded in the same LOCK datastructure. I would think that there should be 3 different LOCK datastructres created in postgreSQL for the above example. IS there are reason why only one LOCK datastructures is created in such a case? for the purposes of my project i need to seperate out these 3 locks and present them as 3 distinct locked objects. i was using the LockData(defined in src/include/storage/lock.h ) datastructures for this, but if all 3 locks are put into the same LOCK struct even in LOCKDATA then can someone help me as to how else i can accomplish what i intent on doing? thank you very much Jenny _ Compare Cable, DSL or Satellite plans: As low as $29.95. https://broadband.msn.com ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
[HACKERS] OffsetNumber offnum (LOCKTag)
the offnum of LOCKTAG I gather indicates which row (tuple) is being locked in a row level locking. But when I lock 2 diffrent rows of a table, offset for both is 0. and also offset is 0 if i take a table lock on the same table. (blkno is the same for all three locks)..shouldnt the OffsetNumber offnum be different for each individual row lociked? if not, then what field of LOCKTAG recognizes each individual row (tuple) locked? thanks! _ Get MSN 8 and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
[HACKERS] identifying each individual tuple locked
I understand that ObjID of LOCKtag recognizes each individual row locked by a row level lock. BUt i have noticed that if i lock 2 different rows of the same table they have the same blkno. is this deduction ok? thanks jenny _ Get MSN 8 and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
Re: [HACKERS] [GENERAL] identifying each individual tuple locked
I understand that ObjID of LOCKtag recognizes each individual row locked by a row level lock. BUt i have noticed that if i lock 2 different rows of the same table they have the same blkno. is this deduction ok? If they happen to be stored in the same block, they'd have the same blkno ... then how would we recognize each individual row locked? From: Tom Lane [EMAIL PROTECTED] To: Jenny - [EMAIL PROTECTED] CC: [EMAIL PROTECTED], [EMAIL PROTECTED] Subject: Re: [GENERAL] identifying each individual tuple locked Date: Tue, 02 Sep 2003 14:08:44 -0400 Jenny - [EMAIL PROTECTED] writes: I understand that ObjID of LOCKtag recognizes each individual row locked by a row level lock. BUt i have noticed that if i lock 2 different rows of the same table they have the same blkno. is this deduction ok? If they happen to be stored in the same block, they'd have the same blkno ... regards, tom lane ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED]) _ MSN 8: Get 6 months for $9.95/month. http://join.msn.com/?page=dept/dialup ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
[HACKERS] running bdg on postgresql`
hi , iam trying to run gdb on postgresql to stack-trace the functions that get called when a lock is taken. gdb *program* what do i pass in place of program inorder to run gdb on postgresqql thanks jenny _ Get MSN 8 and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
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
[HACKERS] row level locks
How do we acquire row level locks in postgresql and is there any feild in LOCK or PROCLOCK datastructes (src/include/storage/lock.h) that tells us the lock is row-level? thanks _ Enter for your chance to IM with Bon Jovi, Seal, Bow Wow, or Mary J Blige using MSN Messenger http://entertainment.msn.com/imastar ---(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] LOCK.tag(figuring out granularity of lock)
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. is blockId same as tag.objId.blkno? what field in LOCK.tag is tupleId? thanks jenny _ Get MSN 8 and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster
[HACKERS] LOCK.tag(figuring out granularity of lock)
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. is blockId same as tag.objId.blkno? what field in LOCK.tag is tupleId? thanks jenny _ Get MSN 8 and enjoy automatic e-mail virus protection. http://join.msn.com/?page=features/virus ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
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
[HACKERS] LOCK.tag(figuring out granularity of lock)
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 _ bGet MSN 8/b 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] this is in plain text (row level locks)
From: Tom Lane [EMAIL PROTECTED] To: Jenny - [EMAIL PROTECTED] Subject: Re: [HACKERS] this is in plain text (row level locks) Date: Sat, 02 Aug 2003 23:28:30 -0400 if row-level locks are not recorded in proclock or any other shared memory datastructuers, then why does lockmode (array or ints) of proclock indicate that an AccessShareLock is acquired when a row is locked by application.? That's a table lock --- it's independent of row locks. It's there mostly to ensure someone doesn't delete the whole table out from under you. regards, tom lane so even though the application locks a row in a table, table-level locks are automatically taken by postgesql ? why is that? thanks _ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
[HACKERS] session level locks
hi, does anyone know what session level locks mean in postgresql..i've heard of table-level locks and row level locks but not session level thanks Jenny _ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
[HACKERS] LOCK.tag(figuring out granularity of lock)
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 _ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus ---(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] LOCK.tag(figuring out granularity of lock)
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 _ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail ---(end of broadcast)--- TIP 8: explain analyze is your friend
[HACKERS] LOCK.tag(figuring out granularity of lock)
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 ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
[HACKERS] LOCK.tag(figuring out granularity of lock)
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 _ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
[HACKERS] locking granularity
The following lines are from readme file present in the \src\backend\storage\lmgr folder of postgresql 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. I dont see any field called tupleId in LockTag..does it have another name? Also, (we currently never do this)-- does this mean that we currently can acquire tuplelevel(row level) locks in postgresql? Thank you Jenny _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
[HACKERS] granularity of locking
what determines what level of locking(table level, page level or row level) an object is locked in? how do we determine from postgresql code what level a object is locked in? Iam working on a project where i have to display the locks information of all the transactions that have acquired locks in postgresql and i also have to display that granularity(table level, page level, row level)on the locks acquired by these transactions on objects.Which part of postgresql code gives this information.? thanks Jenny _ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
[HACKERS] granularity of locks in postgresql
The following lines are from readme file present in the \src\backend\storage\lmgr folder of postgresql 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. I dont see any field called tupleId in LockTag..does it have another name? Also, (we currently never do this)-- does this mean that we currently can acquire tuplelevel(row level) locks in postgresql? Thank you Jenny _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 ---(end of broadcast)--- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
[HACKERS] granularity of locks in postgresql
The following lines are from readme file present in the \src\backend\storage\lmgr folder of postgresql 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. I dont see any field called tupleId in LockTag..does it have another name? Also, (we currently never do this)-- does this mean that we currently can acquire tuplelevel(row level) locks in postgresql? Thank you Jenny _ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
[HACKERS] granularity of locks in postgresql
The following lines are from readme file present in the \src\backend\storage\lmgr folder of postgresql 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. I dont see any field called tupleId in LockTag..does it have another name? Also, (we currently never do this)-- does this mean that we currently can acquire tuplelevel(row level) locks in postgresql? Thank you Jenny _ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail ---(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]
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 messages with MSN 8. Get 2 months FREE*.
[HACKERS] how do i turn off the html tags??
Protect your PC - Click here for McAfee.com VirusScan Online
[HACKERS] this is in plain text (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 Jenny _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
[HACKERS] locking mechanism
hi, 1)If the same PROCLOCK has some already-granted locks and be waiting for more, how do we know? I currently use the holding array of PROCLOCK to figure out what lockmodes a transaction(process) has been granted on LOCK,and if holdings sum comes to 0 that means this PROCLOCK is waiting for its associate LOCK. But how if the PROCLOCK has already been granted a lock and is waiting for another lock on the same object( LOCK), how do figure that out? 2)Is tuple level locks the same as row level locks? Thanks!! Jenny _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail ---(end of broadcast)--- TIP 8: explain analyze is your friend
[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] identifying rows in table.
hi, what fields in LOCK datastructures can i use to uniquely identify each row of a table? if each row is seperately locked that is. thanks jennyAdd photos to your e-mail with MSN 8. Get 2 months FREE*.
[HACKERS] locking mechanism
hi, 1)If the same PROCLOCKhas some already-granted locks and be waiting for more, how do we know? I currently use the holding array of PROCLOCKto figure out what lockmodes a transaction(process) has been granted on LOCK,and if holdings sum comes to 0 that means this PROCLOCK is waiting for its associate LOCK. But howif the PROCLOCK has already been granted a lock and is waiting for another lock onthe sameobject( LOCK), how dofigure that out? 2)Is tuple level locks the same as row level locks? Thanks!! JennyAdd photos to your e-mail with MSN 8. 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 JennyMSN 8 helps ELIMINATE E-MAIL VIRUSES. Get 2 months FREE*.
[HACKERS] MAKE_PTR
Does anyone know what purpose MAKE_PTR ( defined in shmem.h) servers? thanks jennyAdd photos to your messages with MSN 8. Get 2 months FREE*.
[HACKERS] row level locks
How do we acquire row level locks and is there a way to detect them from the any of lock data structures (like Lock, ProcLock, PGPROCK, and LockData)? thanks jennyThe new MSN 8: smart spam protection and 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*.
[HACKERS] locking mechanism
hi, 1)If the same PROCLOCKhas some already-granted locks and be waiting for more, how do we know? I currently use the holding array of PROCLOCKto figure out what lockmodes a transaction(process) has been granted on LOCK,and if holdings sum comes to 0 that means this PROCLOCK is waiting for its associate LOCK. But howif the PROCLOCK has already been granted a lock and is waiting for another lock onthe sameobject( LOCK), how dofigure that out? 2)Is tuple level locks the same as row level locks? 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 JennyHelp STOP SPAM with the new MSN 8 and get 2 months FREE*
[HACKERS] locking mechanism
hi, 1)If the same PROCLOCKhas some already-granted locks and be waiting for more, how do we know? I currently use the holding array of PROCLOCKto figure out what lockmodes a transaction(process) has been granted on LOCK,and if holdings sum comes to 0 that means this PROCLOCK is waiting for its associate LOCK. But howif the PROCLOCK has already been granted a lock and is waiting for another lock onthe sameobject( LOCK), how dofigure that out? 2)Is tuple level locks the same as row level locks? Thanks!! Jenny MSN 8 helps ELIMINATE E-MAIL VIRUSES. Get 2 months FREE*.
[HACKERS] running transactions in postgresql
hi, Iam working on project that deals with analyzing the locking mechanism in postgresql. I started a transaction in postgresql with 'begin work;' and noticed that even though no locks have been taken yet, there still exists data in LockData datastructures that indicates that the transaction i just started running is waiting for a lock.Does anyone know why this happens? I f not , could someone guide me to the appropriate site or mailinglist where my question can be answered. thank you JennyProtect your PC - Click here for McAfee.com VirusScan Online