Issue Details (XML | Word | Printable)

Key: DNET-390
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Alexander
Votes: 2
Watchers: 1
Operations

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

Crash in BatchExecution when (FbTransaction == null)

Created: 22/Aug/11 01:55 PM   Updated: 27/Aug/11 08:33 AM
Component/s: ADO.NET Provider
Affects Version/s: 2.6.5
Fix Version/s: None

Time Tracking:
Not Specified

Environment: Windows 7, Visual Studio Team System 2008


 Description  « Hide
When BatchExecution executing many sql command in 1 command without beginning transaction, there is error in this line: this.sqlTransaction.Commit(); // 242 line in FbBatchExecution.cs

This situation can be replaying to execute some query like this:

CREATE TABLE sample(id bigint not null);
COMMIT WORK;

and C# code like this:

FbConnection c = new FbConnection(@"Database=employee.fdb;User=SYSDBA;Password=masterkey");
 c.Open();

 FbBatchExecution fbe = new FbBatchExecution(c);
 foreach (string cmd in script.Results) {
    fbe.SqlStatements.Add(cmd);
 }

 fbe.Execute();
 c.Close();
(copypasted from this: http://web.firebirdsql.org/dotnetfirebird/blog/2005_03_01_archive.html )

So, small fix is this:

                        case SqlStatementType.Commit:
                            if (sqlTransaction!=null)
{
// raise the event
this.OnCommandExecuting(null);

this.sqlTransaction.Commit();
this.sqlTransaction = null;

// raise the event
this.OnCommandExecuted(sqlStatement, null, -1);
}
break;
                        case SqlStatementType.Rollback:
if (sqlTransaction != null)
{

// raise the event
this.OnCommandExecuting(null);

this.sqlTransaction.Rollback();
this.sqlTransaction = null;

// raise the event
this.OnCommandExecuted(sqlStatement, null, -1);
}
break;
but in my opinion this is looks like dirty hack...
(Sorry for my English )

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.