Biblioteca

All Firebird and InterBase On-Disk-Structure versions and their compatibility

ODS Number In simple words, ODS (On-Disk Structure) is a number of database file format for the particular Firebird or InterBase RDBMS version. Almost all versions use so-called “Y-valve” to support current ODS and some old ODS. This allow server to work with database files from previous versions, and simplify transition from the old server to a new one. But there are some limitations, which will be described further. You can find out ODS of your database running the following command gstat –h database_file_name User and password here unnecessary, because gstat with –h option just read physical part of the database (header page, number 0). If gstat will not understand read information, it will show corresponding message – what it expected, and what it found. For example, if we run gstat from InterBase 4 at database from Firebird 2, it will show Wrong ODS version, expected 8, encountered 32779? Here, you see ODS number 32779 – this is encoded 11, with high bit added since Firebird 2.0 (in hex it will be 800B, where B = 11), to avoid confusion between InterBase and Firebird databases, because from some point they had equal ODS number, but very different database format. The exception of getting understandable message is when gstat can not find firebird.msg or interbase.msg. It will show something like can't format message 21:3 -- message file ...msg not found So, this means you have incorrect Firebird or InterBase installation, and need to fix that. Another examples, explained Wrong ODS version, expected 8, encountered 32779? – InterBase 4.x tries to open Firebird 2.x db Wrong ODS version, expected 8, encountered 13? – InterBase 4.x tries to open IntrBase 2009 db Wrong ODS version, expected 15, encountered 32779 – InterBase XE/XE3 tries to open Firebird 2.x db Wrong ODS version, expected 11, encountered 11 – Firebird 2.x tries to open InterBase 7.x db Wrong ODS version, expected 11, encountered 15 – Firebird 2.x tries to open InterBase XE/XE3 db Sometimes you can get another kind of message, from server (not from gstat) but with the same meaning. For example, when Firebird 1.5 server tries to open Firebird 2.x database: unsupported on-disk structure for file ...; found 32779, support 10 Here you can see table of ODS, since InterBase 4.0 (1994).