I have some schema update code in my application which is failing if the
create table command isn't committed before a constraint for that table is
added.
It's a serializable level transaction.

If I try the same sequence in a firebird database manager application
executing queries one by one I need to commit the create table before I can
add the constraint as well.

Is this normal behaviour, i.e. does DDL executed in an FBCommand require a
commit each step?

I've looked at the FBBatchExecution but there doesn't seem to be any
documented way to use it within a serializable transaction with a bunch of
other ddl statements. It has an auto commit either on or off but I can't see
how to wrap that in a serializable transaction if it's set off and if it's
set on it's possible to have a partly failed update to the schema.

My concern is that a schema update could fail partway through leaving the
database damaged.

What I'm doing is trying to write an automatic schema update into an
application.  This would happen at end users sites when they run an updated
copy of our .net application, it has to be bulletproof.  I don't want it to
commit anything if any part of it fails.  The schema update would typically
consist of adding a few tables and altering them to add constraints etc.  If
there is a best practice for this using the Firebird ADO.NET driver I'd love
to hear from anyone with a suggestion!

Thanks

- John 



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to