[fpc-devel] IBConnection and transactions

Michael Van Canneyt michael at freepascal.org
Sun Apr 30 20:09:21 CEST 2006



On Sun, 30 Apr 2006, Joost van der Sluis wrote:

> I have a problem that I do not understand.
>
> the following doesn't work with firebird:
>
>   Fconnection.ExecuteDirect('create table FPDEV (id INT)');
>   Fconnection.ExecuteDirect('insert into FPDEV(id) values (1)');
>
> But the following does:
>
>   Fconnection.ExecuteDirect('create table FPDEV (id INT)');
>   FConnection.Transaction.commitretaining;
>   Fconnection.ExecuteDirect('insert into FPDEV(id) values (1)');
>
> But both statements are executed within the same transaction?

No they are not. CommitRetaining is like
Commit;
Starttransaction;
only keeps the resources of the current transaction.

In all the years I worked with interbase/firebird,
I've learned to explicitly commit after each DDL statement.

Michael.





More information about the fpc-devel mailing list