Skip to content

Double-check and fix completion behaviour of statements in auto-commit #806

@mrotteveel

Description

@mrotteveel

While working on #805, I noticed that FBPreparedStatement.execute() does not properly commit the transaction in auto-commit if an exception is thrown. This needs to be fixed, and also verified for other execute and executeXXX methods.

To be clear, it should commit even though it failed. The JDBC specification explicitly says that in auto-commit mode, the transaction should be committed if statement execution finishes, and it doesn't mention anything about rolling back in case of failure. In general, Firebird will undo the effects of a statement that raised an error anyway.

Fix to be backported to v5.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions