Re: Locking rows - Mailing list pgsql-general

From Dmitry Tkach
Subject Re: Locking rows
Date
Msg-id 3E5FE1F6.7060504@openratings.com
Whole thread Raw
In response to Re: Locking rows  (Jean-Christian Imbeault <jc@mega-bucks.co.jp>)
List pgsql-general
Jean-Christian Imbeault wrote:
> Doug McNaught wrote:
>
>>If you use a single query to generate the rows, this will not be a
>>problem.
>>
>>If you use multiple queries, execute them all inside a transaction and
>>you will get a consistent view of the database.
>>
>>No locking needed.
>
>
> True but what I am worried about is the data changing while I am in a
> transaction.
>
> Right now I want to print customer receipts for items that have been
> ordered. But while I gathering the data, which takes more than one
> query, a customer might come along and cancel an invoice.
>
> In that case I would print a receipt for something that was cancelled.
>
> I need to find a way to avoid this. I thought locking was a way around
> this ... or maybe I need to change my "business" logic or the way the
> app gathers the data?
>

But can't the customer cancel that invoice one millisecond *after* your application is done?
As far as I can see, from the customer's standpoint, it will look exactly the same, won't it?

Dima


pgsql-general by date:

Previous
From: Dave Cramer
Date:
Subject: Re: phpBB2 slow on postgres vs mysql ?
Next
From: "Nigel J. Andrews"
Date:
Subject: Re: Locking rows