pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ash Grove <ash_grv7@yahoo.com>
To: pgsql-sql@postgresql.org
Subject: is an explicit lock necessary?
Date: Thu, 4 May 2006 11:10:56 -0700 (PDT)
Message-ID: <20060504181056.14509.qmail@web52510.mail.yahoo.com> (raw)

Hi,

Does beginning a transaction put locks on the tables
queried within the transaction?

In the example below, is #2 necessary? My thought was
that I would need to use an explicit lock to make sure
that the sequence value I'm selecting in #4 is the
same one that is generated from #3. I'm worried about
another instance of the application doing an insert on
table1 between #3 and #4.

1) From my app, I turn off autocommit.
2) I lock table1 in access exclusive mode
3) I do an insert into table1 which generates a
primary key via nextval on sequence1
4) I grab grab the primary key value via currval on
sequence1
5) I do an insert on table2 which includes table1's
primary key so I can join the records later.
6) I manually commit

Thanks!
Ash

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



view thread (4+ messages)  latest in thread

Message-ID: <20060504181056.14509.qmail@web52510.mail.yahoo.com>
Permalink:  ../20060504181056.14509.qmail@web52510.mail.yahoo.com/
Also on:    postgresql.org/message-id/20060504181056.14509.qmail@web52510.mail.yahoo.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: ash_grv7@yahoo.com
  Subject: Re: is an explicit lock necessary?
  In-Reply-To: <20060504181056.14509.qmail@web52510.mail.yahoo.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox