News Firebird 2.5

General

  • New Threading architecture, introducing the new SuperClassic server, for better SMP support
  • SQL CREATE/ALTER/DROP USER
  • ALTER VIEW and CREATE OR ALTER VIEW
  • Autonomous transactions within a PSQL module (stored procedure, trigger or dynamically executable PSQL block)
  • PSQL new ability to query another database via EXECUTE STATEMENT
  • Thread-safe client library
  • ODS version 11.2
  • Optimizer Improvements

Administrative

  • 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 allows SYSDBA to transfer its privileges to another user on a per-database basis (ODS 11.2)
  • More information in the monitoring tables
    • MON$MEMORY_USAGE: current memory usage
    • MON$CONTEXT_VARIABLES: known context variables
  • Asynchronous cancellation of connections
    • Disconnect connection ID 32: DELETE FROM MON$STATEMENTS WHERE MON$ATTACHMENT_ID = 32
    • Disconnect all clients except my own connection:
      DELETE FROM MON$ATTACHMENTS WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION
  • Capability for ordinary users to monitor any of their own attachments as well as CURRENT_CONNECTION

Other

  • Regular expression support using the SIMILAR TO predicate
  • ALTER COLUMN for computed columns
  • 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
  • Hex Literal Support: SELECT x'00F0A53BC7' FROM RDB$DATABASE;
  • Borrow Database Column Type for a PSQL Variable:
    CREATE PROCEDURE SP_INS_PERSON (ID TYPE OF COLUMN PERSON.ID)
  • Well-formedness checks are now performed on UNICODE_FSS strings and text blobs

Data-handling Enhancements

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

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

Command Line Utilities

  • New tool fbtracemgr
  • Retrieve password from a file or prompt: for all tools that expect a password parameter: -fet[ch_password] instead of -pa[ssword]
  • GBAK: New repair switches for malformed strings

Source:
http://www.destructor.de