Re: Help with inventory control - Mailing list pgsql-general

From Douglas McNaught
Subject Re: Help with inventory control
Date
Msg-id m2irwixzbo.fsf@Douglas-McNaughts-Powerbook.local
Whole thread Raw
In response to Re: Help with inventory control  (Fernando Grijalba <fgrijalba@gmail.com>)
Responses Re: Help with inventory control
List pgsql-general
Fernando Grijalba <fgrijalba@gmail.com> writes:

> Thank you for your response.
>
> I want to avoid the following situation.
>
> User1 starts order and takes the last two units.  User2 starts order 1
> minute after and checks inventory. He sees 2 units left and adds them to
> the his order.  User1 commits his order.  Now User2 cannot finish his
> order because the products are not available anymore.
>
> This is the problem I want to avoid.  Therefore if User1 takes the product
> but does not finish the order I want the inventory to still show that the
> product is sold out to other users.
>
> Any suggestions on how to implemnt that?

I think just using SELECT FOR UPDATE should solve this problem--it
will lock the row and SELECT FOR UPDATE in the second transaction
won't return until the first transaction commits.

-Doug

pgsql-general by date:

Previous
From: Fernando Grijalba
Date:
Subject: Re: Help with inventory control
Next
From: Devrim GUNDUZ
Date:
Subject: Re: Redhat 9 RPM dependency problem