Issue Details (XML | Word | Printable)

Key: DNET-766
Type: Sub-task Sub-task
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Frédéric Delaporte
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
.NET Data provider
DNET-791

Not enabling auto-enlistment should not disable system transactions.

Created: 28/May/17 07:56 PM   Updated: 24/Oct/17 02:54 PM
Component/s: ADO.NET Provider
Affects Version/s: 5.9.1.0
Fix Version/s: 6.0.0.0


 Description  « Hide
It appears that when auto-enlistment is not enabled, explicit enlistment (FbConnection.EnlistTransaction) is disabled too.

The connection string parameter Enlist is normally only about enabling automatic enlistment at connection opening. It is not supposed to disable explicit enlistment.

Found while trying to get NHibernate transaction scope tests working with Firebird: rollback test fails even in a dedicated branch where I have added explicit enlistment. (I was hoping to be able to test that this way, since auto-enlistment breaks the NHibernate tests due to DNET-764). Firebird .Net provider is the only provider tested by NHibernate which behaves in such a way.

Checked in the source, it looks like `Enlist` is not only used for auto-enlistment at connection opening, but also for globally disabling system transactions.
https://sourceforge.net/p/firebird/NETProvider/ci/master/tree/Provider/src/FirebirdSql.Data.FirebirdClient/FirebirdClient/FbConnectionInternal.cs#l282


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Frédéric Delaporte added a comment - 24/Oct/17 02:54 PM
Thanks, tested with NHibernate test suit and 6.0.0-alpha2.