Subject Re: [firebird-support] Metadata update
Author Milan Babuskov
David Johnson wrote:
> DDL is committed immediately.

No, it's not. If you work in isql, there is a setting AUTODDL that is ON
by default, but that's all there is to it. Other tools and connection
libraries have a similar option, but it doesn't imply that Firebird
commits DDL immediately.

However, playing around with uncommitted DDL is calling for trouble
(there are few known, and probably many unknown bugs) so this:

> In your script, use an ascending sideways loop to wrap all of your DDL.
> In case of an error, use a descending sideways loop to wrap the converse
> DDL. really a good way to do it. However, there are changes that are
irrevocable (suppose you drop a table full of records for example).

There are other approaches too:

- create a backup. If DDL update fails, restore it.

- go forward with the script. If something fails, make the update
program send you an e-mail or SMS message with the error, fix the
problem manually and continue the script.

Milan Babuskov