Creates a temporary table, the rows of which will be deleted (default)
or preserved after a COMMIT
Rows will always be deleted when the connection to the server is
closed
Common Table Expressions, Recursive Common Table Expressions
RETURNING clause
UPDATE OR INSERT statement
UPDATE OR INSERT INTO T1 (F1, F2) VALUES (:F1, :F2)
UPDATE OR INSERT INTO EMPLOYEE (ID, NAME) VALUES (:ID, :NAME)
RETURNING ID
UPDATE OR INSERT INTO T1 (F1, F2) VALUES (:F1, :F2) MATCHING (F1)
UPDATE OR INSERT INTO EMPLOYEE (ID, NAME) VALUES (:ID, :NAME)
RETURNING OLD.NAME;
MERGE statement
MERGE INTO <table> USING <table_or_join> ON
<search_condition>
[WHEN MATCHED THEN UPDATE SET col1=val1, ..., colN = valN]
[WHEN NOT MATCHED THEN INSERT [(col1, ..., colN] VALUES (val1, ...,
valN)]
Either the INSERT or the UPDATE specification must be defined
Improved functions: EXTRACT (WEEK FROM DATE), TRUNC(), IIF()
Domains in Procedures: You can now use domain names for the parameters and
local variables of stored procedures, and in CAST calls
Database monitoring via SQL
New Uni*x command line utitlity fbcvsmgr
Database Triggers
ON CONNECT
ON DISCONNECT
ON TRANSACTION START
ON TRANSACTION COMMIT
ON TRANSACTION ROLLBACK
CREATE TRIGGER now compliant with the SQL 2003 standard
New JOIN types
Monitoring Tables (MON$...)
MON$DATABASE: connected database
MON$ATTACHMENTS: connected attachments
MON$TRANSACTIONS: started transactions
MON$STATEMENTS: prepared statements
MON$CALL_STACK: call stack of active PSQL requests
MON$IO_STATS: I/O statistics
MON$RECORD_STATS: record-level statistics
Runaway and long-running queries can now be cancelled from a
separate connection
Trusted authentication on Windows: Ability to authenticate Firebird users through a Windows domain. An up-to-date client library is required in order to use this feature. CURRENT_USER represents a logged in Windows domain user in this case. firebird.conf will introduce an option allowing you to choose between native-only, trusted-only and mixed authentication modes.