Subject Re: [IBO] Concurrency problem and transactions
Author Marco Lauria
At 12.57 11/07/2001 +0000, mmenaz@... wrote:
>I'm a little ashamed of asking about that, but I thought things should
>behave one way, while it's going other way, so there must be something
>I've missed and I can't figure out what.
>I've a program running in two PC, or, put, two instances of the
>program running against the same database (for debug purpose, of
>course).
>The connection has a default transaction trBase with transaction
>isolation to tiCommitted and autocommit to true. The login to the
>database is done with the same user/password (sysdba, masterkey ;)).
>Program A and program B browsing the same data in a grid. Program A
>edits a record, then posts it. Program B, that since the query is not
>refreshed, sees the old data value, edits the same record, then posts
>it too. No errors occurs! If I refresh the query in program A I can
>see the data B entered. Then I've added a transaction bar to the
>program, explicitly started transaction in A program and in B program
>and done as above. No errors again! What's wrong? Program B should
>receive a warning that in the meanwhile the data has been changed, and
>it should automatically refresh the row before stating editing, so it
>can see A program changes before editing. What can I do? What are the
>correct setup/steps for having users edit the same data they see in
>the grid?
>Thanks
>Marco Menardi

No as if U have the autocommit to true
the transaction on B has already been closed.
He starts the transaction, reads and then ends the transaction so IB
doesn't know that B is running (at a transaction level) ansd this is
the motivation of B not being alerted
Regards
Marco