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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to