News Firebird 2.1

New in V.2.1:

o Database Triggers User-defined PSQL modules that can be designed to fire in various connection-level and transaction-level events.

o Global Temporary Tables SQL standards-compliant global temporary tables have been implemented. These pre-defined tables are instantiated on request for connection-specific or transaction-specific use with non-persistent data, which the Firebird engine stores in temporary files.

o Common Table Expressions (CTEs) Standards-compliant common table expressions, which make dynamic recursive queries possible.

o RETURNING Clause Optional RETURNING clause for all singleton operations, update, insert and delete operations.

o UPDATE OR INSERT Statement New UPDATE OR INSERT for MERGE functionality: now you can write a statement that is capable of performing either an update to an existing record or an insert, depending on whether the targeted record exists.

o LIST() function A new aggregate function LIST() retrieves all of the SOMETHINGs in a group and aggregates them into a comma-separated list. 

o New Built-in Functions Dozens of built-in functions replacing many of the UDFs from the Firebird-distributed UDF libraries.

o Text BLOBs Can Masquerade as Long VARCHARs At various levels of evaluation, the engine now treats text BLOBs that are within the 32,765-byte size limit as though they were varchars. String functions like cast, lower, upper, trim and substring will work with these BLOBs, as well as concatenation and assignment to string types.

o Define PSQL Variables and Arguments using Domains PSQL local variables and input and output arguments for stored procedures can now be declared using domains in lieu of canonical data types.

o COLLATE in PSQL Collations can now be applied to PSQL variables and arguments. 

Windows Security to Authenticate Users Windows "Trusted User" security can be applied for authenticating Firebird users on a Windows server platform host.

o CREATE COLLATION Command The DDL command CREATE COLLATION has been introduced for implementing a collation, obviating the need to use the script for it.

o Unicode Collations Anywhere Two new Unicode collations can be applied to any character set using a new mechanism.

o New Platform Ports Ports to Windows 2003 64-bit (AMD64 and Intel EM64T) Classic, Superserver and Embedded models; PowerPC, 32-bit and 64-bit Intel Classic and SS ports for MacOSX.

o Database Monitoring via SQL Run-time database snapshot monitoring (transactions, tables, etc.) via SQL over some new virtualized system tables. Included in the set of tables is one named MON$DATABASE that provides a lot of the database header information that could not be obtained previously via SQL: such details as the on-disk structure (ODS) version, SQL dialect, sweep interval, OIT and OAT and so on. It is possible to use the information from the monitoring tables to cancel a rogue query.

o Remote Interface The remote protocol has been slightly improved to perform better in slow networks once drivers are updated to utilise the changes. Testing showed that API round trips were reduced by about 50 percent, resulting in about 40 per cent fewer TCP round trips.