Performing 'update customer set accountno=3 where customer_id = 10001' from
database workbench causes a c# windows application to hang when attempting
to access that record.
Even when the app tries to access ANOTHER record of the same table it hangs,
so complete table lock!
As soon as the other transaction commits or rolls back, the c# app comes
back. There is NO specific transaction setting in the app.
sometimes mon$transactions shows mon$isolation_mode 2, sometimes 3.
Posted this to firebird-support, but was asked to move it here.
Meanwhile I figured out that the default isolation level of dotnet provider
is 'read committed NO record version' which causes the c# app to hang in
case of pending updates (even if another record of the same table is
accessed). Normally there is only record lock. Has firebird a threshold that
invents a complete table locking when a particular number of locks appear?
By switching to IsolationLevel.ReadUnCommitted (!) in
FBConnectionstringbuilder Class the issue can be solved.
Netprovider resolves this to "Read Committed Record Version" (this is also
shown in netprovider documentation (V. 1.7)).
All implcit transaction then use these settings by default, unless they are
overwritten with FBTransactionBehaviour Class later on.
A little bit confusing, I think.
Why is it not possible to have clear Names for the properties? Must one use
the ISO/Microsoft Names?
Regards
Christoph Stuhldreier
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider