diff --git a/doc/WhatsNew b/doc/WhatsNew new file mode 100644 index 0000000000..4d61b720f1 --- /dev/null +++ b/doc/WhatsNew @@ -0,0 +1,264 @@ + + ************** + * v1.5 Alpha 1 + ************** + + * Fixed unregistered bug. + A well-known "decompression overran buffer" error appears during the schema creation. + + * New ROWS_AFFECTED system variable (SF #451927). + Return number of rows affected by the last INSERT/UPDATE/DELETE statement. + Notes: + 1. Available in PSQL only. + 2. For any other statement than INSERT/UPDATE/DELETE, result is always zero. + + * Dynamic exception messages (SF #446240). + Allow to throw an exception with another message than this exception has been created with. + Syntax: + EXCEPTION name [value]; + + * New SQLCODE and GDSCODE system variables (SF #547383). + Provide an access to a code of the catched error within the WHEN-block. + Notes: + 1. Available in PSQL only. + 2. Makes sense in WHEN-block only, in other places returns 0 (success). + + * Exception re-initiate semantics. + Allow an already catched exception to be re-thrown from the WHEN-block. + Syntax: + EXCEPTION; + Note: + Makes sense in WHEN-block only, in other places evaluates to no-op. + + * Fixed unregistered bug. + The server crashes during the garbage collection under heavy load. + + * Deferred metadata compilation. + Solve a lot of reasons of the well-known "object in use" error. + + * New NULL order handling. + Allow user-defined ordering of NULLs. + Syntax: + [ORDER BY ] + = {col | int} [COLLATE collation] + [ASC[ENDING] | DESC[ENDING]] [NULLS {FIRST | LAST}] + [, ...] + Note: + Default behaviour is NULLS LAST. + + * Fixed unregistered bug. + gstat shows wrong value for maxdup element. + + * New registry key is used on win32. + Currently it's SOFTWARE\FirebirdSQL\Firebird. + + * User-defined constraint index names (SF #451925). + Allow an index name to be either constraint name or user-defined name. + Syntax: + = [CONSTRAINT constraint] + {UNIQUE [] + | PRIMARY KEY [] + | REFERENCES other_table [( other_col [, other_col ...])] + [ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}] + [ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}] + [] + | CHECK ( )} + = [CONSTRAINT constraint] + {{PRIMARY KEY | UNIQUE} ( col [, col ...]) [] + | FOREIGN KEY ( col [, col ...]) REFERENCES other_table + [ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}] + [ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}] + [] + | CHECK ( )} + = USING [ASC[ENDING] | DESC[ENDING]] INDEX name + Note: + Index is named the same way as a constraint by default. + + * New RECREATE VIEW statement. + A shorthand for DROP VIEW / CREATE VIEW couple of statements. + Syntax: + RECREATE VIEW name ; + + * Fixed unregistered bug. + Trigger which name starts with 'RDB$' cannot be altered or dropped at all. + + * Changed file names. + Renamed distribution files to make sure we're Firebird. Now they're fbserver, fbclient, firebird.msg etc. + Note: + The client library is fbclient now and it should be used in all new FB-based projects. gds32 contains nothing but redirected exports and is provided for compatibility only. + + * Minor ODS upgrade. + Added new system indices (RDB$INDEX_41, RDB$INDEX_42, RDB$INDEX_43), now ODS version is 10.1. + + * New CREATE OR ALTER statement (SF #451935). + Allow either creating or altering a database object depending on its existance. + Syntax: + CREATE OR ALTER name ; + Notes: + 1. Applicable to SPs/triggers/views only. + 2. The statement has the same meaning as CREATE OR REPLACE one in Oracle. + + * Fixed unregistered bug. + Broken dependencies (like DB$34) appear in the database after metadata changes. + + * New ALTER VIEW statement (SF #490261). + Allow altering an existing view. + Syntax: + ALTER VIEW name [( [, ... ])] AS