New in Firebird 2.5

<< General notes | Firebird 2.5.3 Release Notes | Changes in the Firebird engine >>

New in Firebird 2.5

The primary goal for Firebird 2.5 was to establish the basics for a new threading architecture that is almost entirely common to the Superserver, Classic and Embedded models, taking in lower level synchronization and thread safety generally.

Firebird 2.5.3 Release (July 2014)

Please refer to the General notes for this sub-release.

Firebird 2.5.2 Security Update (March 2012)

Please refer to the General notes for this patch release.

Firebird 2.5.2 Release (October 2012)

Please refer to the General notes for this sub-release.

Firebird 2.5.1 Release (September 2011)

The months that have passed since the initial release have seen numerous Tracker issues tackled to address things that have been reported broken, bent or compromised in v.2.5. As well as a long list of bug fixes, a few minor improvements have been made. In summary:

  • The SQLSTATE code has been made available as a PSQL context variable, for use in WHEN .. exception blocks, in the same manner as GDSCODE and SQLCODE.
  • Now it is possible to write to global temporary tables in a read-only database.
  • Diagnostics for internal trace errors were improved.
  • The fbtracemgr utility will now do a periodic flush to output.
  • Performance of gbak restore at the data insertion stages has improved.
  • Conversions between BLOBs and other data types can now be effected in the API functions.
  • The Services API now supports the "metadata-only" restore.
  • A "silent install" switch has been implemented for make install on POSIX.
  • The unused bytes of VARCHAR values in the message buffer are now set to zero.
  • The actual record compression ratio is now estimated in the optimizer.
  • The MON$STATEMENT_ID value now stays constant among monitoring snapshots.
  • The SO_KEEPALIVE option on the client TCP socket will now be set, as a measure to guard against aggressive timing out of sockets by newer Windows systems.
  • Lock Manager can now cancel waits that become interminable.
  • A platform port of v.2.5.1 for HPPA has been done for both Linux and Alpha.


Firebird 2.5 Release (October 2010)

Although SQL enhancements are not a primary objective of this release, for the first time, user management becomes accessible through SQL CREATE/ALTER/DROP USER statements and syntaxes for ALTER VIEW and are implemented. PSQL improvements include the introduction of autonomous transactions and ability to query another database via EXECUTE STATEMENT.

Other new features

Other new features and improvements in this release include:

Administrative enhancements

  • System audit tracing and user trace sessions via the Services API, making it possible to monitor and analyse everything going on in a database in real time.
  • New system role RDB$ADMIN in the ODS 11.2 database allows SYSDBA to transfer its privileges to another user on a per-database basis.
  • More information in the monitoring tables.
  • Asynchronous cancellation of connections.
  • Capability for ordinary users to monitor any of their own attachments as well as CURRENT_CONNECTION.

Other SQL language additions and enhancements

  • Regular expression support using the SIMILAR TO predicate.
  • ALTER COLUMN for computed columns.
  • Autonomous transactions within a PSQL module (stored procedure, trigger or dynamically executable PSQL block).
  • Enhanced access to stored procedures in view definitions.
  • Optional GRANTED BY or GRANTED AS for GRANT and REVOKE statements, enabling the grantor to be a user other than the CURRENT_USER (the default).
  • REVOKE ALL syntax to dispose of all privileges for a user or role at once.
  • Support for WHERE SOME_COL = ? OR ? IS NULL predications.
  • Removal of "reserved" status for all but a handful of keywords that are not reserved in the SQL standard.

Data-handling enhancements

  • New built-in functions for converting UUID CHAR(16) OCTETS strings to RFC4122-compliant format and vice versa.
  • Ability to pass 32-bit and 64-bit integers as hexadecimal in numeric literal and X-prefixed binary string literal formats.

API additions

  • Statements now return an SQL-2003 standard 5-alphanumeric SQLSTATE completion code.
Tip: In the v.2.5.1 sub-release, SQLSTATE was added to PSQL as a context variable for use in WHEN .. exception blocks, in a manner similar to SQLCODE and GDSCODE.
  • New constant DSQL_unprepare available for use with isc_dsql_free_statement for efficient unpreparing of statements.

International Language Support

  • Default COLLATE clause for CREATE DATABASE.
  • Ability to change the default COLLATE for a used character set.
  • GBAK restore switches FIX_FSS_DATA and FIX_FSS_METADATA to restore legacy databases with UNICODE_FSS data and/or metadata correctly without resorting to scripts and manual techniques.
  • Accent-insensitive collation for Unicode.

See also:
Firebird 2.5 Quick Start Guide: Classic, Superclassic or Superserver?

back to top of page
<< General notes | Firebird 2.5.3 Release Notes | Changes in the Firebird engine >>