Re: [HACKERS] Proposed Query Planner TODO items

2004-02-15 Thread Jenny Zhang
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

2003-09-09 Thread Jenny -
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

2003-09-08 Thread Jenny -
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

2003-09-08 Thread Jenny -

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

2003-09-08 Thread Jenny -
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.

2003-09-07 Thread Jenny -
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

2003-09-04 Thread Jenny -

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

2003-09-04 Thread Jenny -
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)

2003-09-03 Thread Jenny -
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

2003-09-02 Thread Jenny -
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

2003-09-02 Thread Jenny -


 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`

2003-08-28 Thread Jenny -
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.

2003-08-26 Thread Jenny -
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

2003-08-26 Thread Jenny -
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)

2003-08-25 Thread Jenny -
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)

2003-08-24 Thread Jenny -
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.

2003-08-24 Thread Jenny -
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)

2003-08-19 Thread Jenny -
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)

2003-08-14 Thread Jenny -



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

2003-08-14 Thread Jenny -
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)

2003-08-14 Thread Jenny -
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)

2003-08-14 Thread Jenny -
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)

2003-08-08 Thread Jenny -
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)

2003-08-05 Thread Jenny -
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

2003-08-02 Thread Jenny -
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

2003-08-01 Thread Jenny -
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

2003-07-28 Thread Jenny -
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

2003-07-27 Thread Jenny -
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

2003-07-26 Thread Jenny -
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]

2003-07-23 Thread Jenny -


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??

2003-07-23 Thread Jenny -
Protect your PC - Click here for McAfee.com VirusScan Online 


[HACKERS] this is in plain text (row level locks)

2003-07-23 Thread Jenny -
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

2003-07-23 Thread Jenny -
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.

2003-07-22 Thread Jenny -






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.

2003-07-16 Thread Jenny -
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

2003-07-15 Thread Jenny -


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.

2003-07-15 Thread Jenny -




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

2003-07-15 Thread Jenny -
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

2003-07-13 Thread Jenny -
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

2003-07-13 Thread Jenny -


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

2003-07-13 Thread Jenny -

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.

2003-07-11 Thread Jenny -


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

2003-07-10 Thread Jenny -
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

2003-07-08 Thread Jenny -
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