Hi,
I try to understand AutoCommit with Firebird connections.
When I use StartTransaction, then do some updates / inserts and then use Rollback, this doesn't work. But GDS.isc_commit_transaction was never called.
So is the AutoCommit flag applied to the transaction properties and handled by the Firebird server?
Is this Firebird specific? Shouldn't AutoCommit be set to false in StartTransaction if the behaviour is like this?
Regards
Christian
TUniConnection.AutoCommit with Firebird
Re: TUniConnection.AutoCommit with Firebird
To solve the issue, please set the AutoCommit property to False for TUniConnection or dataset.
The AutoCommit property has the True value by default that leads to automatically execution of CommitRetaining or RollbackRetaining when there is any data modification. By setting the property to False, you will get rid of this behavior, however, you will have to manage the transactions by yourself.
The TUniConnection.AutoCommit property has a higher priority than the specific option "AutoCommit" of datasets (TUniQuery, TUniTable). If the TUniConnection.AutoCommit property is set to False, all transactions can be committed only explicitly (despite of the specific option "AutoCommit" value of a dataset).
The AutoCommit property has the True value by default that leads to automatically execution of CommitRetaining or RollbackRetaining when there is any data modification. By setting the property to False, you will get rid of this behavior, however, you will have to manage the transactions by yourself.
The TUniConnection.AutoCommit property has a higher priority than the specific option "AutoCommit" of datasets (TUniQuery, TUniTable). If the TUniConnection.AutoCommit property is set to False, all transactions can be committed only explicitly (despite of the specific option "AutoCommit" value of a dataset).
Re: TUniConnection.AutoCommit with Firebird
I have a problem with AutoCommit too.
I think that should work only when the related transaction is not explicitly opened, instead as work today, were always run CommitRetaining, independent of the transaction status.
I think that should work only when the related transaction is not explicitly opened, instead as work today, were always run CommitRetaining, independent of the transaction status.
Re: TUniConnection.AutoCommit with Firebird
This is standard behavior of our components, which is used by many users, and currently we cannot change it.
If you want us to implement the feature, please post this suggestion at our user voice forum: https://devart.uservoice.com/forums/104 ... components If the suggestion gets a lot of votes, we will consider the possibility to implement it.
If you want us to implement the feature, please post this suggestion at our user voice forum: https://devart.uservoice.com/forums/104 ... components If the suggestion gets a lot of votes, we will consider the possibility to implement it.