8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 20:43:02 +01:00
firebird-mirror/doc/WhatsNew
2003-05-10 15:13:53 +00:00

1380 lines
47 KiB
Plaintext

**************
* v1.5 RC 2
**************
* Fixed unregistered bug.
Possible index corruptions during garbage collection.
Contributor(s):
Vlad Horsun <horsun@kdb.dp.ua>
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Solved problems with temporary files management:
1) Security hole on all POSIX platforms except FREEBSD/OPENBSD related to mktemp usage (possible DoS attacks or privileges elevation)
2) Only 27 unique filenames generated on win32 (which could cause unpredictable behavior in SS builds)
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed RC1 bug.
Various server crashes in the remote protocol code.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Event manager change.
Disabled usage of definite aux port in CS builds due to known issues.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Enabled aggregate functions from different parent context to be used inside another aggregate function.
Example:
SELECT MAX((SELECT COUNT(*) FROM RDB$RELATIONS)) FROM RDB$RELATIONS
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed RC1 bug.
Aggregates from a different parent context were not allowed in the HAVING clause.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed unregistered bug.
Possible crashes on disconnect when event notification is used.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Service manager changes.
Features of GSTAT/GSEC are not available via Services API in win32 CS (until v1.6 release).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Wrong record statistics is reported when operation fails due to some reason.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed RC1 bug.
Problems with the service manager being attached from different clients simultaneously.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed RC1 bug.
Various server crashes when any remote protocol is used.
Note:
IMPORTANT!!! - Don't forget to update the client library, because this bug existed in both server and client.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
stdin/stdout cannot be used to redirect console I/O in win32 build of GBAK.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed RC1 bug.
Server crash in EXECUTE STATEMENT combined with exception handling block.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed unregistered bug.
Broken lock table resizing in CS. No more "lock manager out of room" (Win32 CS 1.5 RC1) or crashes (possible in all other CS builds of Interbase/Firebird).
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* INTL improvement.
Make UPPER function work for WIN1251 charset without explicit collations.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed RC1 bug.
Cannot connect to the service manager with non-default password.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed RC1 bug.
Fixed problem with CREATE OR ALTER TRIGGER.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed RC1 bug.
Server crashes in some cases of error handling.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed unregistered bug.
Possible database corruption when you modify/delete the same record in pre-trigger for which this trigger was called.
This issue also was known as BUGCHECK(291) before.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed RC1 bug.
Incorrect values returned by ROW_COUNT.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Buffer overrun in isc_database_info() call.
Contributor(s):
Oleg LOA <loa@mail.ru>
* IMPORTANT!!! - Configuration manager change.
Now the server exits on missing / wrong firebird.conf with error report in system log.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed RC1 bug.
SP with input parameters and aggregate tracking/validating methods failed.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed RC1 bug.
Crash on disconnect in the embedded server.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed RC1 bug.
Parameters from SPs in a sub-select were not remaped to the proper context in a aggregate query.
Example:
SELECT (SELECT SP.X FROM SP_TEST(T1.ID) SP) FROM TABLE1 T1 GROUP BY T1.ID
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed RC1 bug.
Problem with start/stop commands of instsvc.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Services API.
Enabled statistics Services API for POSIX CS builds.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
**************
* v1.5 RC 1
**************
* Fixed Beta 4 bug.
EXECUTE STATEMENT and SQLDA > 32KB.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Changed parser.
1) ROWS_AFFECTED is renamed to ROW_COUNT
2) CONNECTION_ID/TRANSACTION_ID are renamed to CURRENT_CONNECTION/CURRENT_TRANSACTION
3) Some of newly introduced tokens are made non-reserved
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 4 bugs.
1) sub-selects inside COALESCE function
2) parameter ordering
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Services API.
Partially enabled Services API for win32 CS builds.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Wrong type of event delivery (unnecessary usage of OOB packets).
Contributor(s):
Jim Starkey <jas@netfrastructure.com>
Paul Reeves <preeves@ibphoenix.com>
* Fixed Beta 4 bug.
Optimizer couldn't ignore bad indices in some cases.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Improved lock manager
Deadlocks are now detected and reported as soon all blocking processes received notifications, i.e. instantly in all normal cases
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Beta 4 bug.
Locking and performance issues in win32 CS.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Beta 4 bug.
Error during backup with "ignore in-limbo transactions" option.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Server crashes in some Services API operations.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Beta 4 bug.
Problems with IP address in connection strings.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 4 bug.
Compatibility problems with new IBX versions.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 4 bug.
EXECUTE STATEMENT: numeric variables and dialect 3 databases.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Advanced security abilities.
Implemented configurable access for databases, external tables and UDF libraries.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed resource/memory leaks.
Contributor(s):
Mike Nordell <tamlin@algonet.se>
Alexander Peshkoff <peshkoff@hotmail.ru>
Nickolay Samofatov <skidder@bssys.com>
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Buffer overrun with multidimensional arrays.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 4 bug.
RECREATE VIEW with check option.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 4 bug.
Problems with loading INTL plugins.
Contributor(s):
Mike Nordell <tamlin@algonet.se>
**************
* v1.5 Beta 4
**************
* Fixed bugs SF #213460, #678718.
Various issues with events used on multihomed hosts.
Note:
Now it's also possible to setup a definite port for event processing.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed some resource leaks.
Contributor(s):
Mike Nordell <tamlin@algonet.se>
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed Beta 3 bug.
Bug with an aggregate sub-query inside a IN clause.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Services API.
Enabled Services API for posix CS builds.
Notes:
1. Appropriate changes in Win32 CS are not ready yet
2. Backup/restore service was fixed, tested and should work
3. Database validation was partially fixed and may work
4. Other services are probably non-functional in CS builds yet
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* SQL enhancement.
Allowed NULLs in unique constraints and indices (SQL-99 spec).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
Nickolay Samofatov <skidder@bssys.com>
* Fixed Beta 3 bug.
Problems with RECREATE VIEW.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Performance improvement.
VIO undo log now uses B+ tree to store savepoint record data. It improves performance when doing multiple updates of
record in a single transaction just a little (usually 2-3 orders of magnitude for 100000 records).
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed unregistered bug.
Database corruption when backing out the savepoint after large number of DML operations
(so transaction-level savepoint is dropped) and record was updated _not_ under the savepoint and deleted under savepoint.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Improved EXECUTE STATEMENT.
Now it's possible to return values from the dynamic SQL.
Syntax:
EXECUTE STATEMENT <value> INTO <var_list>; (singleton form)
or
FOR EXECUTE STATEMENT <value> INTO <var_list> DO <stmt_list>;
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed Beta 3 bug.
With a large amount of SQL the server crashed on generating BLR.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
**************
* v1.5 Beta 3
**************
* Fixed Beta 2 bug.
EXECUTE STATEMENT doesn't work in autocommit transactions.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 2 bug.
Server crashes due to problems in the optimizer.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Beta 2 bug.
Minor ODS upgrade is no longer critical. Now you can attach any ODS 10.0 database without errors (no need to backup/restore).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 2 bug.
"Wrong page type" error during some DDL operations.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Server hangs during disconnect after mass updates.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Improved optimizer.
Sub-selects in SET clause of UPDATE now can use indices.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed unregistered bug.
"Context already in use" error in the case of DISTINCT with sub-selects.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Enhanced isc_database_info abilities.
List of currently active transactions is now available via isc_database_info call.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Beta 2 bug.
ISQL cannot work with scripts containing character code 0xFF.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 2 bug.
Ineffective PLANs made by the optimizer for SPs and views.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Performance improvement.
Shortcut boolean evaluation.
Note:
The behaviour is controlled by "CompleteBooleanEvaluation" option of firebird.conf. Default is 0 (shortcut evaluation).
Contributor(s):
Mike Nordell <tamlin@algonet.se>
* Fixed Beta 2 bug.
Stack overflow during statement preparation.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
Mike Nordell <tamlin@algonet.se>
* Performance improvement.
Speed-up for index operations (IA32 CPU architecture only)
Contributor(s):
Mike Nordell <tamlin@algonet.se>
* Fixed Beta 2 bug.
Wrong record operation statistics.
Contributor(s):
Evgeny Kilin <john@citycard.izhnet.ru>
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 2 bug.
Wrong line-number statistics in DSQL.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Beta 2 bug.
Server crashes during some operations.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Change in universal triggers.
Allowed access to both (OLD and NEW) contexts in universal triggers.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Improved optimizer.
When an equal-node and other nodes (geq, leq, between...) are available for an index retrieval, then use the equal node always instead of the others.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed unregistered bug.
Long delays during connecting/disconnecting on WinXP.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Beta 2 bug.
Server crash during service manager operations.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Generic cleanup.
Removed a lot of unused code.
Contributor(s):
Blas Rodriguez Somoza <blas@puertareal.com>
Erik Kunze <erik.kunze@philosys.de>
**************
* v1.5 Beta 2
**************
* Fixed bug SF #523589.
View is affecting the result of a query.
Comment:
Problem was that RSE's (inside a view) where not flagged as variant.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Changed behaviour of the forced writes mode.
Now, if FW=off (disabled), you can control how often dirty pages are flushed on disk.
Note:
It allows to use disabled FW mode with more reliablity than before (mostly it affects win32 platforms).
Contributor(s):
Blas Rodriguez Somoza <blas@puertareal.com>
* Renamed ISC4.GDB.
The security database has been renamed to security.fdb.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New configuration file.
firebird.conf is finally published.
Note:
Directory handling options are not available yet.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New user-defined functions.
Functions LPAD and RPAD are added to IB_UDF library.
Contributor(s):
Juan Guerrero <guerrero747@yahoo.es>
* Fixed Beta 1 bug.
ISQL wasn't able to extract universal triggers.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Sometimes GFIX didn't allow to specify "-user" and "-password" switches ("incompatible swiches" error).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Security connection cache.
Connection to the security database is now cached, thus allowing to decrease time of subsequent database attachments.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Some improvements.
1. Reduce memory usage by the server.
2. Direct external I/O when the memory is not available for the sorting.
3. Increased number of streams and predicates supported by the optimizer.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed bug SF #508594.
LEFT JOIN with VIEWs.
Comment:
Simple LEFT JOIN on a VIEW with only an ON clause didn't use an index even if it was possible.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Beta 1 bug.
Server crashes during retrieval of the database statistics.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 1 bug.
Wrong context was used with FieldX IN (sub-select) predicate.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Beta 1 bug.
Yet another "deadlock" error during metadata updates.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 1 bug.
It wasn't possible to use non-aggregate related-fields from an aggregate query inside a sub-query.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Beta 1 bug.
The client library cannot be loaded in some cases.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Beta 1 bug.
The guardian service cannot stop the server.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New character sets.
DOS737, DOS775, DOS858, DOS862, DOS864, DOS866, DOS869,
WIN1255, WIN1256, WIN1257,
ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_13
Note:
Collations for the above charsets are not available yet.
Contributor(s):
Blas Rodriguez Somoza <blas@puertareal.com>
**************
* v1.5 Beta 1
**************
* CREATE VIEW changes.
Disallowed PLAN subclause.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Changed aggregate tracking behavior
Introduce backwards compatibilty within aggregates. Deepest field inside aggregate determine where an aggregate-context should belong to.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Improved optimizer.
Better optimizations of "complex" JOIN queries (LEFT JOIN, views, SPs, etc).
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 5 bug.
Major memory leaks are fixed.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New API functions.
IB7-compliant functions to return version of the client library.
isc_get_client_version(), isc_get_client_major_version(), isc_get_client_minor_version()
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Sort/merge improvement.
Merging (SORT MERGE plans) is now done via in-memory sorting module.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 5 bug.
"Invalid transaction handle (expecting explicit transaction start)" error.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New memory manager.
Internal implementation of the memory manager has been changed to give us better performance.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Win32 build changes.
1. Changed names of USER32 objects to allow the server run simultaneously with IB/FB1.
2. Map name for local (IPC) protocol is changed, so v1.5 client library is no longer compatible with the previous versions via IPC.
3. All transport protocol names (INET port and service, WNET pipe, IPC map) are now configurable via firebird.conf.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Trashed RDB$FIELD_LENGTH for views that contain concatenation of long CHAR/VARCHAR fields.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Triggers improvement.
Added runtime action checks (INSERTING/UPDATING/DELETING predicates).
Example:
if (INSERTING) then
new.OPER_TYPE = 'I';
else
new.OPER_TYPE = 'U';
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Cursors (WHERE CURRENT OF clause) cannot be used in triggers.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 5 bug.
SAVEPOINT-related statements were allowed in PSQL via EXECUTE STATEMENT.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed bug SF #221921.
ORDER BY has no effect.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed bug SF #213859.
Subquery connected with 'IN' clause.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 5 bug.
Wrong plan is used in the case of compound indices.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>,
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 5 bug.
Backward compatibility with explicit plans is broken.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* ORDER BY improvement.
Allowed arbitrary expressions in the ORDER BY clause.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed unregistered bug.
When UNIONS where used in a VIEW and that VIEW was used in the WHERE clause inside an sub-select then the engine crashed.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 5 bug.
Fixed FB XDR double representation for Linux server and client.
This fixes numerous bugs with double precision columns and UDF's when using Linux server and Jaybird or Windows client.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 5 bug.
PLAN wasn't correctly returned.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 5 bug.
Server crash or "deadlock" error during execution of ALTER PROCEDURE statement.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Generic code cleanup.
Structures within Y-valve.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
Nickolay Samofatov <skidder@bssys.com>
* Comments improvement.
Single-line comments (--) are now allowed in any position of the SQL statement.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
"Request sycnhronization error" with BREAK statement.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed bug SF #625899.
Bugcheck 291.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* PSQL change.
EXECUTE VARCHAR is renamed to EXECUTE STATEMENT.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed Alpha 5 bug and SF #219525.
No current record for fetch operation.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed unregistered bug.
QLI doesn't understand BIGINT (aka INT64) datatype.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Length of text variables inside procs/triggers wasn't copied to descriptor structure.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
**************
* v1.5 Alpha 5
**************
* FIRST/SKIP and ORDER BY changes.
1. Implemented ORDER BY clause in subqueries.
2. Disallowed FIRST/SKIP for views.
3. Allowed zero as valid argument for FIRST.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Buffer overflow (MAXPATHLEN) and rewritten local function dirname.
Contributor(s):
Erik Kunze <erik.kunze@philosys.de>
* Fixed unregistered bug.
Make SQLDA parameter mapping consistent with order and number of parameters in source SQL string.
Notes:
You can enable older mapping behavior (for backward compatibility) using "OldParameterOrdering" configuration manager parameter.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 4 bug.
Crash when grouping by invariant subquery.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Improved optimizer.
Let sub-selects also use indices when their parent is a stored procedure.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed unregistered bug.
Removed request size limitation.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Nulls first/last and collation handling in "order by" clause of unions.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 4 bug.
Optimizer, LEFT OUTER JOIN and error "no current record for fetch operation".
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 4 bug.
Wrong privileges checks.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 4 bug.
UDF node didn't contain any character set, was always NONE.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Generic code cleanup.
Renamings, new safe macros, support for mingw.
Contributor(s):
Erik Kunze <erik.kunze@philosys.de>,
Ignacio J. Ortega <nacho@siapi.es>,
Dimitry Sibiryakov <sd@topol.udm.net>
* Explicit record locking.
Finalized explicit locking implementation. Should be stable and consistent now.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Improved optimizer.
Better handling of AND nodes inside an OR node.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 4 bug.
Restore problem for databases having views that use procedures AND are used by procedures.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 4 bug.
Bad performance of the memory manager and some memory leaks.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 4 bug.
Wrong ordinals of GDS32 exports.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
**************
* v1.5 Alpha 4
**************
* Fixed Alpha 3 bug.
Database cannot be restored properly in some situations.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 3 bug.
Dynamic exception messages don't work properly.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Exceptions inside for/while loop in triggers are not handled correctly.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed bug SF #623992.
Double forward slash in connection string.
Contributor(s):
Paul Reeves <preeves@ibphoenix.com>,
Mark O'Donohue <mark.odonohue@cytopia.com.au>
* Fixed unregistered bug.
Deadlock during some database operations.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Improved optimizer.
If a few indices with much different selectivity could be used for index retrieval, only better of them are used while others are ignored.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 3 bug.
Memory corruption that prevented restore of databases with procedures using plan expressions with long index names.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed unregistered bug.
Quoted identifiers problem in plan expressions.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Win32 Classic Server.
CS architecture is now supported on Win32 as well, but it still cannot be considered stable, so any feedback is welcome.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 3 bug.
API routines are not accessible if gds32.dll is explicitly loaded.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Stored procedures are no longer recompiled before deletion.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* New collation for WIN1251 charset.
WIN1251_UA for both Ukrainian and Russian languages.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Client library change.
API routines are no longer exported by ordinals.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New configuration manager.
Enable the same plain file based configuration for all supported platforms. Default configuration file will be released in the first beta build.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Improved optimizer.
Added better support for using indices with "OR". Pick the best available compound index from all "AND" nodes.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 3 bug.
Database appears corrupted (damaged BLOB pages).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Savepoints.
Added support for explicit savepoint management.
Syntax:
SAVEPOINT savepoint_name; (create savepoint)
ROLLBACK [WORK] TO [SAVEPOINT] savepoint_name; (rollback to previously created savepoint)
Notes:
Not available in PSQL.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Protocol cleanup.
IPX/SPX network protocol is no longer supported.
Contributor(s):
Sean Leyne <sleyne@atkin.com>
* Fixed Alpha 3 bug.
Memory corruption when working with long record verion chains.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Obsolete platforms cleanup.
Some platform are no longer supported by the current source code.
DELTA, IMP, DG_X86, M88K, UNIXWARE, Ultrix, NeXT, ALPHA_NT, DGUX, MPE/XL, DecOSF, SGI, HP700, Netware, MSDOS, SUN3_3
Contributor(s):
Sean Leyne <sleyne@atkin.com>
* Improved optimizer.
Added support for detecting use of index with sub-selects in aggregate select.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Improved thread scheduler for Win32 SS.
Now the server should be more responsible under heavy load.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Explicit record locking.
Added support for explicit locking. Wait behavior in isc_tpb_wait transaction modes is not stable yet.
Syntax:
SELECT <...> [FOR UPDATE [OF col [, col ...]] [WITH LOCK]]
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
**************
* v1.5 Alpha 3
**************
* Fixed bug SF #558364.
Triggers fail to compile if PLAN used.
Note:
Now you can use plans in triggers.
Contributor(s):
Ignacio J. Ortega <nacho@siapi.es>
* Fixed unregistered bug.
Distributed (2PC) transaction cannot be properly rolled back due to network errors.
Contributor(s):
Vlad Horsun <horsun@kdb.dp.ua>,
Erik Kunze <erik.kunze@philosys.de>
* Fixed Alpha 2 bug.
Possible buffer overrun if dynamic exception messages are used.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 2 bug.
Problem with sub-select and GROUP BY clause.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 2 bug.
The server hangs with a bugcheck #284 (cannot restore singleton select data).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Generic cleanup.
ISC_STATUS_LENGTH and MAXPATHLEN macros.
Contributor(s):
Erik Kunze <erik.kunze@philosys.de>
* Fixed Alpha 2 bug.
Version information is missing in libraries and tools.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed Alpha 2 bug.
Backported a few bits of FB1 code which have been lost.
Contributor(s):
Claudio Varderrama <cvalde@usa.net>,
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed bug SF #496784.
When optimizer find indexes for LEFT JOIN, work like INNER JOIN.
Note:
Fixed problem which caused complex outer joins to produce wrong results.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 2 bug.
Changes in aliases.conf are not applied until the server is restarted.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
**************
* v1.5 Alpha 2
**************
* Fixed unregistered bug.
BLOB subtype is ignored in system domains generated for expression fields in views.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed installation bug.
instreg.exe doesn't create "GuardianOptions" registry value.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Resource leaks in DDL recursive procedure handling which caused some DDL to fail.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed unregistered bug.
Check constraint which uses only one table field is now dropped automatically when this field is dropped.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed Alpha 1 bug.
GROUP BY ordinal doesn't work with column aliases.
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed Alpha 1 bug.
Views are not being created correctly (missing records in RDB$VIEW_RELATIONS).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
**************
* v1.5 Alpha 1
**************
* Fixed unregistered bug.
A well-known "decompression overran buffer" error appears during the schema creation.
Contributor(s):
Evgeny Kilin <john@citycard.izhnet.ru>
* 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.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Dynamic exception messages (SF #446240).
Allow to throw an exception with another message than this exception has been created with.
Syntax:
EXCEPTION name [value];
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* 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).
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* 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.
Contributor(s):
Digitman <digitman@hotbox.ru>
* Fixed unregistered bug.
The server crashes during the garbage collection under heavy load.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Deferred metadata compilation.
Solve a lot of reasons of the well-known "object in use" error.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* New NULL order handling.
Allow user-defined ordering of NULLs.
Syntax:
[ORDER BY <order_list>]
<order_list> = {col | int} [COLLATE collation]
[ASC[ENDING] | DESC[ENDING]] [NULLS {FIRST | LAST}]
[, <order_list> ...]
Note:
Default behaviour is NULLS LAST.
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed unregistered bug.
gstat shows wrong value for maxdup element.
Contributor(s):
Dmitry Kuzmenko <kdv@ibase.ru>
* New registry key is used on win32.
Currently it's SOFTWARE\FirebirdSQL\Firebird.
Contributor(s):
-
* User-defined constraint index names (SF #451925).
Allow an index name to be either constraint name or user-defined name.
Syntax:
<col_constraint> = [CONSTRAINT constraint]
{UNIQUE [<constraint_index>]
| PRIMARY KEY [<constraint_index>]
| 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}]
[<constraint_index>]
| CHECK ( <search_condition>)}
<tconstraint> = [CONSTRAINT constraint]
{{PRIMARY KEY | UNIQUE} ( col [, col ...]) [<constraint_index>]
| 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}]
[<constraint_index>]
| CHECK ( <search_condition>)}
<constraint_index> = USING [ASC[ENDING] | DESC[ENDING]] INDEX name
Note:
Index is named the same way as a constraint by default.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New RECREATE VIEW statement.
A shorthand for DROP VIEW / CREATE VIEW couple of statements.
Syntax:
RECREATE VIEW name <view_definition>;
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Trigger which name starts with 'RDB$' cannot be altered or dropped at all.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* 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.
Contributor(s):
-
* Minor ODS upgrade.
Added new system indices (RDB$INDEX_41, RDB$INDEX_42, RDB$INDEX_43), now ODS version is 10.1.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>,
Nickolay Samofatov <skidder@bssys.com>
* New CREATE OR ALTER statement (SF #451935).
Allow either creating or altering a database object depending on its existance.
Syntax:
CREATE OR ALTER name <object_definition>;
Notes:
1. Applicable to SPs/triggers only.
2. The statement has the same meaning as CREATE OR REPLACE one in Oracle.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
Broken dependencies (like DB$34) appear in the database after metadata changes.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Enhanced declaration of local variables.
Simplify syntax and allow declaring and defining variable at the same time.
Syntax:
DECLARE [VARIABLE] name <variable_type> [{'=' | DEFAULT} value];
Example:
DECLARE my_var INTEGER = 123;
Contributor(s):
Claudio Valderrama <cvalde@usa.net>
* Disabled BREAK statement for triggers (like EXIT) due to known internal limitations.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Enhanced grouping (SF #555839, #546274).
Allow to GROUP BY internal functions and subqueries. Also allow to GROUP BY ordinal (i.e. column position).
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* New COALESCE internal function (SF #451917).
Allow a column value to be calculated by a number of expressions, the first expression returning a non NULL value is returned as the column value.
Syntax:
COALESCE (value {, value} ... )
Notes:
1. COALESCE (V1, V2) is equivalent to the following case specification:
CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END
2. COALESCE (V1, V2, ..., Vn), for n >= 3, is equivalent to the following case specification:
CASE WHEN V1 IS NOT NULL THEN V1 ELSE COALESCE (V2, ..., Vn) END
3. The function has the same meaning as NVL one in Oracle.
Example:
SELECT
PROJ_NAME AS Projectname,
COALESCE(e.FULL_NAME, '[> not assigned <]') AS Employeename
FROM
PROJECT p LEFT JOIN EMPLOYEE e ON (e.EMP_NO = p.TEAM_LEADER)
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* New NULLIF internal function (SF #451917).
Return a NULL value for a sub-expression if it has a specific value, otherwise return the value of the sub-expression.
Syntax:
NULLIF (value, value)
Note:
NULLIF (V1, V2) is equivalent to the following case specification:
CASE WHEN V1 = V2 THEN NULL ELSE V1 END
Example:
UPDATE PRODUCTS
SET STOCK = NULLIF(STOCK, 0)
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* New CASE internal function (SF #451917).
Allow the result of a column to be determined by a the results of a case expression.
Syntax:
<case_specification> = <simple_case> | <searched_case>
<simple_case> = CASE value <simple_when_clause> ... [ELSE value] END
<simple_when_clause> = WHEN value THEN value
<searched_case> = CASE <searched_when_clause> ... [ELSE value] END
<searched_when_clause> = WHEN <search_condition> THEN value
Note:
The function has the same meaning as DECODE one in Oracle.
Examples:
1. Simple case:
SELECT
o.ID,
o.Description,
CASE o.Status
WHEN 1 THEN 'confirmed'
WHEN 2 THEN 'in production'
WHEN 3 THEN 'ready'
WHEN 4 THEN 'shipped'
ELSE 'unknown status ''' || o.Status || ''''
END
FROM
Orders o
2. Searched case:
SELECT
o.ID,
o.Description,
CASE
WHEN (o.Status IS NULL) THEN 'new'
WHEN (o.Status = 1) THEN 'confirmed'
WHEN (o.Status = 3) THEN 'in production'
WHEN (o.Status = 4) THEN 'ready'
WHEN (o.Status = 5) THEN 'shipped'
ELSE 'unknown status ''' || o.Status || ''''
END
FROM
Orders o
Contributor(s):
Arno Brinkman <firebird@abvisie.nl>
* Fixed bug SF #545725.
Automatic/background sweep hangs.
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Fixed unregistered bug.
The server crashes when XSQLDA structures are prepared for not all statement parameters.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Enabled support for empty BEGIN...END blocks.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Partially fixed bug SF #567931.
Metadata security hole.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed unregistered bug.
INT64 arrays don't work.
Contributor(s):
Artem Petkevych <artem@protec.kiev.ua>
* Fixed bug SF #437859.
Execute procedure and string concat.
Note:
This change allows any expression to be used as a SP parameter.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed bug SF #562417.
Aggregate concatenated empty char.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Readline (cmd history) support added to ISQL.
Contributor(s):
Mark O'Donohue <mark.odonohue@cytopia.com.au>
* New BIGINT datatype (SF #446206).
Allow native SQL usage of 64-bit exact numerics.
Note:
Available in dialect 3 only.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Universal triggers (SF #451922).
Allow one trigger to be fired for a number of action types.
Syntax:
CREATE TRIGGER name FOR table
[ACTIVE | INACTIVE]
<trigger_action_prefix>
<trigger_action_suffix> [OR <trigger_action_suffix>] [OR <trigger_action_suffix>]
[POSITION number]
AS <trigger_body>
<trigger_action_prefix> = {BEFORE | AFTER}
<trigger_action_suffix> = {DELETE | INSERT | UPDATE}
Example:
CREATE TRIGGER my_trigger FOR my_table BEFORE INSERT OR UPDATE
AS BEGIN
IF (NEW.DOC_ID IS NULL) THEN
EXCEPTION my_exception;
END
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New CONNECTION_ID and TRANSACTION_ID system variables (SF #446238, #446243).
Return appropriate internal identifier stored on the database header page.
Notes:
1. Available in SQL/PSQL.
2. The values are reset after a database is restored.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Server-side database aliases (SF #446180).
Any database can be attached to using an "alias" name instead of its physical pathname.
The list of known database aliases is stored in aliases.conf file under the server installation root.
Example:
alias entry in the configuration file: my_database = d:\dbs\my\database.gdb
connection string: localhost:my_database
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* New plugin manager and INTL interface.
Contributor(s):
John Bellardo <bellardo@cs.ucsd.edu>
* In-memory sorting.
If SORT plan is used for a SQL statement, the sorting is done in memory.
If there's not enough memory for this operation, old temporary file based method is used.
Contributor(s):
Dmitry Yemanov <yemanov@yandex.ru>
* Fixed bug SF #538201.
Crash with extract from null as date.
Contributor(s):
Claudio Varderrama <cvalde@usa.net>
* New EXECUTE VARCHAR statement (SF #446256).
Allow execution of dynamic SQL statements in SPs/triggers.
Syntax:
EXECUTE VARCHAR value;
Notes:
1. Available in PSQL only.
2. Currently cannot return values, so SELECT statements are not allowed.
3. Recursion level is limited to 50 (hardcoded).
Example:
EXECUTE VARCHAR my_var;
Contributor(s):
Alexander Peshkoff <peshkoff@hotmail.ru>
* Major code cleanup.
Contributor(s):
Sean Leyne <sleyne@atkin.com>,
Erik Kunze <erik.kunze@philosys.de>
* New memory manager.
Contributor(s):
John Bellardo <bellardo@cs.ucsd.edu>
* New exception handling logic.
Contributor(s):
Mike Nordell <tamlin@algonet.se>,
John Bellardo <bellardo@cs.ucsd.edu>
* New autoconf-based build configuration.
Contributor(s):
John Bellardo <bellardo@cs.ucsd.edu>,
Mark O'Donohue <mark.odonohue@cytopia.com.au>,
Erik Kunze <erik.kunze@philosys.de>
* The code port from C to C++.
Contributor(s):
Mike Nordell <tamlin@algonet.se>,
John Bellardo <bellardo@cs.ucsd.edu>,
Mark O'Donohue <mark.odonohue@cytopia.com.au>