Hello All,

 

I am using firebird .net provider 2.0 I am facing a basic problem with
transaction locking.

If there are 2 processes of an application running P1 and P2. Consider
the below case:

This design cannot be changed, as the user expects the update to happen
in the child screens and commit to happen in the parent

 

 

Process P1 trying to update a record R1 and does not commit, instead
begins the transaction and waits for the user to commit the record. The
order is

Session.Transaction.begin

Session.Update(...)

Session.Flush()

...

..

 

On parent OK button click user commits the data
Session.Transaction.Commit. The problem is when the user has just
flushed the data in the child screen and yet to commit the data in the
parent screen and at the same time Process P2 also try to flush the
updated record R2 which is not same as R1, process P2 gets blocked by
process P1.

 

How can it be handled for the user to allow update different records
simultaneously? It seems like NHibernate locks the entire table while
update is performed and uncommitted data is left behind. Is it TRUE?

 

Please help!!!

 

Shanand Chandradas

 

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to