Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Concurrency vs. Consistency -- A traditional question
A traditional question.
In a >= 2 tiers application, the client fetch records to display to user. If user A updates a record according to its current displayed values while user B is doing the same, how to ensure consistency and at the time maintain maximum concurrency ? I have heard at least four options.
Option 1: Do nothing
If user A commit first, user B will miss user A's update and is not
looking at the "current displayed values".
Option 2: Select for update
Have to do it for every screen! When should I do it? If I check for the
'ItemChanged' event, what if a user changes a value but lately undoes it? I
will lost a lot of concurrency ! If I do just before update, what's the
different of it and Option 1?
Option 3: Check for column values
Have to code different stuff for different tables!
Option 4: Add a timestamp column
Have to do it for every table!
Option 5: Set serializable to true
Does it work ?
I know that many front-end will do it for you. But......what if I'm using
stored procedures to encap. everything and is bypassing stuffs like
DataWindows
, or in a Web environment?
What are you using? Can anybody share his/her experience?
I am using Oracle v7.3, PowerBuilder/Visual Basic. But this should be
'generic' enough for any back-end/front-end.
Thanks.
P.S. Please remove .NOSPAM in my email address if reply my email. Received on Fri May 29 1998 - 06:05:48 CDT