- Sub-release 2.0.4
- Sub-release 2.0.3
- Sub-release 2.0.2
- Sub-release 2.0.1
- Before you proceed
- Back up!
- Compatibility issues
- Incomplete implementations
- Bug reporting and support
The v.2.0 release cycle of Firebird brought a large collection of long-awaited enhancements under the hood that significantly improved performance, security and support for international languages. Several annoying limitations, along with a huge pile of old bugs inherited from the legacy code, have gone. Many of the command-line tools have been refurbished and this release introduces the all-new incremental backup tools
The old "252 bytes or less" limit on index size is gone for good, replaced by much-extended limits that depend on page size. Calculation of index statistics has been revamped to improve the choices the optimizer has available, especially for complex outer join distributions and
Many new additions have been made to the SQL language, including support for derived tables (
SELECT ... FROM ( SELECT ... FROM)), PSQL blocks in dynamic SQL through the new
EXECUTE BLOCK syntax and some handy new extensions in PSQL itself.
This sub-release does not add any new functionality to the database engine. Several important bugs have been fixed, including a number of unregistered
nbackup bugs  that were found to cause database corruptions under high-load conditions.
During Firebird 2.1 development it was discovered that Forced Writes had never worked on Linux, in either the InterBase or the Firebird era. That was fixed in V.2.1 and backported to this sub-release.
The issue with events over WNet protocol  reported for v.2.0.3 has been fixed. The full list of bugs fixed in V.2.0.4 is in the bugfixes chapter and also in the separate bug fixes document associated with V.2.1, which you can download from the Documentation Index at the Firebird website.
This sub-release does not add any new functionality to the database engine but fixes V.2.0.3, one of which caused the v.2.0.2 sub-release to be recalled a week after it was released.
To all intents and purposes, therefore, this is the sub-release following sub-release 2.0.1. However, in the interim, the port of Firebird 2.0.3 to Solaris 2.10 (Solaris 10) has been completed for both Intel and SPARC platforms.
Warning: Please be sure to uninstall Firebird 2.0.2. It should not be necessary to revert databases to pre-2.0.2 state but, if you used
EXECUTE STATEMENT to operate on
varchar data written from results might have suffered truncation.
A regression appeared after v.2.0.1, whereby events cannot work across the WNet protocol. A call to
isc_que_events() will cause the server to crash. (Tracker ID CORE-1460).
This sub-release does not add any new functionality to the database engine. It contains a number of
V.2.0.2 discovered since the v.2.0.1 sub-release.
Some minor improvements were made:
- A port of Firebird 2.0.2 Classic for MacOSX on Intel was completed by Paul Beach and released.
- In response to a situation reported in the Tracker as CORE-1148, whereby the Services API gave ordinary users access to the
firebird.log, Alex Peshkoff made the log accessible only if the logged-in user is SYSDBA.
This sub-release does not add any new functionality to the database engine. It contains a number of V.2.0.1 discovered since the release.
- Gentoo or FreeBSD are now detected during configuration (Ref.: Tracker CORE-1047). Contributions by Alex Peshkoff and D. Petten.
- It was discovered that the background garbage collector was unnecessarily reading back versions of active records (Ref.: Tracker CORE-1071). That was removed by Vlad Horsun.
- Since Firebird 1.5.3, neither the relation name nor the alias was being returned for columns participating in a
GROUP BYaggregation with joins. It has been fixed, particularly to assist the IBObject data access layer to properly support its column search features on output sets.
Bugfix (CORE-1133) "The XNET (IPC) communication protocol would not work across session boundaries" affects those attempting to access databases using the local protocol on Windows Vista as well as those using remote terminal services locally on XP or Server 2003. This fix, done in v.2.0.1, should remove the problems encountered under these conditions.
An important reversion to 1.5 behaviour has occurred in sub-release 2.0.1, as follows:
In Firebird 2.0, a deliberate restriction was imposed to prevent anyone from dropping, altering or recreating a PSQL module if it had been used since the database was opened. An attempt to prepare the DDL statement would result in an "Object in Use" exception.
Many people complained that the restriction was unacceptable because they depended on performing these metadata changes "on the fly". The restriction has therefore been removed. However, the reversion in no way implies that performing DDL on active PSQL modules is "safer" in Firebird 2.0.1 and higher than it was in V.1.5.
- If you are upgrading from V.2.0 or V.2.0.1 to V.2.0.2, please study the sections summarising the latest V.2.0.2.
- If you are moving to Firebird 2.0.2 directly from Firebird 1.5.4 or lower versions, please take a moment to read on here and note some points about approaching this new release.
The on-disk structure (ODS) of the databases created under Firebird has changed. Although Firebird 2.0 will connect to databases having older ODS versions, most of the new features will not be available to them.
gbak backups of your existing databases - including your old
security.fdb or (even older)
isc4.gdb security databases - before you uninstall the older Firebird server and set out to install Firebird 2.0. Before you proceed, restore these backups in a temporary location, using the old
gbak, and verify that the backups are good.
Naturally, with so much bug-removal and closing of holes, there are sure to be things that worked before and now no longer work. A collection of Known Compatibility Issues is provided to assist you to work out what needs to be done in your existing system to make it compatible with Firebird 2.0.
Give special attention to the changes required in the area of user authentication.
In a couple of areas, planned implementations could not be completed for the v.2.0 release and will be deferred to later sub-releases:
64-bit builds for both Superserver and Classic are ready and available for installing on Linux. Note that the 64-bit ports have been done and tested for AMD64 only. These builds should also work on Intel EM64T.
The Intel IA-64 platform is not supported in this release. A FreeBSD port of the 64-bit builds has also been done.
Win64 hosts are running without problems and the MS VC8 final release seems to work satisfactorily, so we are able to say we are no longer hampered by problems with the Microsoft compiler. The Win64 port is complete and into testing, but is still considered experimental. It will become publicly available in a subsequent v.2.x release.
Although the capability to run multiple Firebird servers simultaneously on a single host has been present since Firebird 1.5, we still do not provide the ability to set them up through our installer programs and scripts.
During Firebird 2 development, a capability to create and access databases on raw devices on POSIX systems was enabled to assist an obscure platform port. To date it is undocumented, has not been subjected to rigorous QA or field testing and is known to present problems for calculating disk usage statistics. A
Readme text will be made available in the CVS tree for those who wish to give it a try and would like to make a case for its becoming a feature in a future release.
If you think you have discovered a bug in this release, please make a point of reading the instructions for bug reporting in the article How to Report Bugs Effectively, at the Firebird Project website.
Follow these guidelines as you attempt to analyse your bug:
- Write detailed bug reports, supplying the exact server model and build number of your Firebird kit. Also provide details of the OS platform. Include reproducible test data in your report and post it to our Tracker.
- If you want to start a discussion thread about a bug or an implementation, do so by subscribing to the firebird-devel list and posting the best possible bug description you can.
- Firebird-devel is not for discussing bugs in your software! If you are a novice with Firebird and need help with any issue, you can subscribe to the firebird-support list and email your questions to email@example.com.
Tip: You can subscribe to this and numerous other Firebird-related support forums from the Lists and Newsgroups page at the Firebird website.
A full, integrated manual for Firebird 2.0 and preceding releases is well on the way, but it's not quite with us yet. Meanwhile, there is plenty of documentation around for Firebird if you know where to look.
Study the Novices Guide and Knowledgebase pages at the Firebird website for links to papers and other documents to read on-line and/or download.
Don't overlook the materials in the
/bin directory of your Firebird installation. In particular, make use of the Firebird 2 Quick Start Guide | Firebird 2.0 Quick Start Guide]] to help you get started.
The Firebird Project has an integral user documentation project, a team of volunteers who are writing, editing and adapting user manuals, white papers and HowTos. At the time of this release, the hard-working coordinator of the Docs project is Paul Vinkenoog.
An index of available documents can be found in the on-line documentation index. Published docs currently include the essential Quick Start Guides for Firebird versions 1.5 and 2.0 in English and several other languages.
For the official documentation we use a Docbook XML format for sources and build PDF and HTML output using a suite of Java utilities customised for our purposes. These notes were developed and built under this system.
Paul Vinkenoog has written comprehensive, easy-to-follow manuals for writing Firebird documentation and for using our tools. You can find links to these manuals in the aforementioned index. New team members who want to do some writing or translating are always more than welcome. For information about the team's activities and progress you can visit the Docs Project's homepage. We have a lab forum for documenters and translators, firebird-docs, which you can join by visiting the Lists and Newsgroups at the Firebird web site.
These release notes are your main documentation for Firebird 2. However, if you are unfamiliar with previous Firebird versions, you will also need the release notes for Firebird 1.5.3. For convenience, copies of both sets of release notes are included in the binary kits. They will be installed in the
/doc directory beneath the Firebird root directory. Several other useful
README documents are also installed there.
For future reference, if you ever need to get a copy of the latest release notes before beginning installation, you can download them from the Firebird web site. The link can be found on the same page that linked you to the binary kits, towards the bottom of the page.
If you do not own a copy of The Firebird Book, by Helen Borrie, then you will also need to find the beta documentation for InterBase ® 6.0. It consists of several volumes in PDF format, of which the most useful will be the Language Reference (LangRef.pdf) and the Data Definition Guide (DataDef.pdf). The Firebird Project is not allowed to distribute these documents but they are easily found at several download sites on the Web using Google and the search key "LangRef.pdf". When you find one, you usually find them all!
--The Firebird Project