[fpc-devel] IBConnection and transactions

Bogusław Brandys brandys at o2.pl
Sun Apr 30 21:38:41 CEST 2006


Michael Van Canneyt wrote:
> 
> On Sun, 30 Apr 2006, Joost van der Sluis wrote:
> 
>> On Sun, 2006-04-30 at 20:09 +0200, Michael Van Canneyt wrote:
>>> 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.
>> Ok, that explains it. But in fact that's a bug in Interbase/Firebird
>> imho...
> 
> It is. They know about it, too.
> 
> Michael.

Well,sort of, but how you can insert data into table which is not 
created yet ?


Regards
Boguslaw



More information about the fpc-devel mailing list