- •Firebird 2 Migration & Installation
- •Table of Contents
- •Known Compatibility Issues
- •Two Changes to Note in V.2.1
- •The FIREBIRD Variable
- •Security in Firebird 2 (All Platforms)
- •Trusted Authentication on Windows
- •SQL Migration Issues
- •Changed Ambiguity Rules in SQL
- •Multiple Hits to Same Column Now Illegal
- •Query Plans
- •PSQL
- •Configuration Parameters
- •Command-line Tools
- •Change to gbak -R Semantics
- •Performance
- •Firebird API
- •Windows-Specific Issues
- •Windows Local Connection Protocol with XNet
- •Client Impersonation No Longer Works
- •Interactive Option Added to instsvc.exe
- •INSTALLATION NOTES
- •Choosing a Server Model
- •Database Compatibility Among Models
- •Full Servers
- •Embedded
- •Windows Installs
- •Choosing an Installation Method
- •READ THIS FIRST!
- •Naming databases on Windows
- •Other Pre-installation Issues
- •Installation of Microsoft system libraries
- •Zip kit install
- •Running Firebird as a service with a special user name
- •Installing Multiple Servers
- •Installing under 64-bit versions of Windows
- •Installation of fbclient.dll
- •Registry Key
- •Supporting legacy applications and drivers
- •InstClient.exe Tool
- •Cleaning up release candidate installs
- •Using the Win32 Firebird Installer
- •Uninstallation
- •Installing Superserver from a zip kit
- •Installing Classic Server from a zip kit
- •Simplified setup
- •Uninstallation
- •Other Win32 Issues
- •Updated Notes for Windows Embedded
- •Registry
- •Database Access
- •Authentication and Security
- •Compatibility
- •Installing an Embedded Server Application
- •Installation Structure Examples
- •POSIX Platforms
- •READ THIS FIRST
- •Setting Linux to Use the Old Threading Model
- •Installing on Linux
- •RPM Installer
- •Installing the Tarball
- •Testing your Linux installation
- •Step 1 - Accessing a database
- •Step 2 - Creating a database
- •Utility Scripts
- •Linux Server Tips
- •"Embedded" or direct access to database files
- •Uninstalling on Linux
- •Uninstalling an RPM package
- •Uninstalling a tarball installation
- •Solaris
- •MacOS X
- •FreeBSD
- •Debian
Known Compatibility Issues
Important
(V.2.1) A temporary “relaxation” of the restriction against mixing table identifiers and aliases was made possible in V.2.1, by the introduction of the configuration parameter RelaxedAliasChecking. It is not the default behaviour and its sole purpose is to allow a window for people to bring legacy code into line. It will be deprecated in future so there is no good reason for anyone to write non-compliant statements in new code!
Multiple Hits to Same Column Now Illegal
It is no longer allowed to make multiple “hits” on the same column in an INSERT or UPDATE statement. Thus, a statement like
INSERT INTO T(A, B, A) ...
or
UPDATE T SET A = x, B = y, A = z
will be rejected in Firebird 2.n, even though it was tolerated in InterBase and previous Firebird versions.
Query Plans
Stricter validation of user-specified plans
User-specified plans are validated more strictly than they were formerly. If you encounter an exception related to plans, e.g. Table T is not referenced in plan, it will be necessary to inspect your procedure and trigger sources and adjust the plans to make them semantically correct.
Important
Such errors could also show up during the restore process when you are migrating databases to the new version. It will be necessary to correct these conditions in original database before you attempt to perform a backup/restore cycle.
Plan must refer to all tables in query
Using a plan without a reference to all tables in query is now illegal and will cause an exception. Some previous versions would accept plans with missing references, but it was a bug.
PSQL
Restrictions on assignment to context variables in triggers
•Assignments to the OLD context variables are now prohibited for every kind of trigger.
•Assignments to NEW context variables in AFTER-triggers are also prohibited.
6