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