Issue Details (XML | Word | Printable)

Key: DNET-251
Type: Sub-task Sub-task
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Jiri Cincura
Votes: 2
Watchers: 1

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

FbConnectionInternal public FbTransaction BeginTransaction methods issue

Created: 04/Jul/09 03:59 PM   Updated: 04/Nov/17 02:56 PM
Component/s: ADO.NET Provider
Affects Version/s: None
Fix Version/s:

 Description  « Hide
class FbConnectionInternal
public FbTransaction BeginTransaction methods
as I think, if this.activeTransaction.BeginTransaction() call raises exception then activeTransaction should be disposed and nulled. if not - next time it will cause HasActiveTransaction to return true and InvalidOperationException("A transaction is currently active. Parallel transactions are not supported.") will be thrown. InvalidOperationException is not FbException and complecates exception handling in outer code.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Michal Catlos added a comment - 02/Nov/17 02:55 PM
In version is this issue not fixed. _activeTransaction.BeginTransaction(options) throws FbException and not IscException, so DisposeTransaction() in catch block is never called.

Jiri Cincura added a comment - 02/Nov/17 03:16 PM
Correct. The FbTransaction methods (being internal) should not handle the IscException and wrap it. It's a task for FbConnectionInternal, where the method is public. I'll change it later this week.

Jiri Cincura added a comment - 04/Nov/17 02:56 PM