mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:43:02 +01:00
1380 lines
47 KiB
Plaintext
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>
|