Once in awhile Firebird users run in an unexpected error, when things that usually work stop working, or more revealing - when they work on one database but fail on another. For example: "Why this query on monitoring table fails? It should run on my Firebird 2.5 installation just fine. I ran it before and now this!" The reason is typically a database with older On-Disk Structure (ODS) than version required by requested Firebird feature, that "escaped" annoying upgrade using gbak backup/restore. In that very moment (or anytime while spending hours upgrading databases) many users may yearn after automatic ODS upgrade when old database is opened by newer engine. Well, Firebird doesn't support that, and never will.

A memento from Ann W. Harrison will explain you why:

I just wanted to mention that every once in awhile, someone decides that a change to the ODS is very small and beneficial, so wouldn't it be nice if the database server just upgraded the database on disk structure automatically. I think it happened twice at InterBase, once before and once during Borland's ownership. Certainly the one before Borland resulted in our spending a lot of engineering hours manually downgrading databases because of incompatibilities that the customers could not live with.

Been there, done that, have the scars.

Pavel Cisar adds:

Downgrading databases from/to certain ODS version is more painful and complicated than from/to other versions, but is always painful and more complicated than upgrade. At InterBase and Borland times, users can blame the companies and let them deal with consequences, but with Firebird this burden would be on users. We'll not let it happen.


Firebird v5.0 introduced Inline minor ODS upgrade. See Release Notes for details.

Like this post? Share on: TwitterFacebookEmail

Related Articles


Firebird Community


Last Updated


Gems from Firebird Support list