Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture → Providers |
A provider is a C++ object that implements the canonical provider interface class. The base interface class is extensible. A provider that does not support a particular function returns a proper OSRI error sequence.
Providers include actual database engines, remote interfaces to communicate with servers, gateways to another version of Firebird or InterBase, and any other data manipulation code which supports OSRI semantics.
Firebird 2.0 supports ODS formats 9, 10, and 11 in a single code base. In the original InterBase, on-disk structure (ODS) changes were handled by including a provider that handled the old ODS and a provider that handled the new ODS.
The Firebird Vulcan architecture is similar, though the mechanism for choosing a provider is different. As the database engine evolves, we can expect to have a set of database providers, each handling a different generation of database files. A single application program could run against everything from InterBase version 4 databases to the most recent experimental version of Firebird.
Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture → Providers |