Re: Question: update and transaction isolation - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject Re: Question: update and transaction isolation
Date
Msg-id GNELIHDDFBOCMGBFGEFOAEPFCBAA.chriskl@familyhealth.com.au
Whole thread Raw
In response to Re: Question: update and transaction isolation  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
> > For each page hit, I do this:
> >
> > update pagecounts set counter = counter + 1 where pagename = 
> 'testpag.php'
> >
> > Do I have to set a particular isolation level? Or does this not work in
> > general?
> 
> In read committed level, if the second update launches before the first
> update is finished (commits), then both of these updates will operate on
> the old counter value.  That is, you miss one page hit.

can you break it into this:

begin;
select counter from pagecounts where pagename='testpag.php' for update;
update pagecounts set counter=counter+1 where pagename='testpag.php';
commit;

Chris



pgsql-hackers by date:

Previous
From: Hiroshi Inoue
Date:
Subject: Re: timeout implementation issues
Next
From: Bruce Momjian
Date:
Subject: Re: timeout implementation issues