8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 00:03:02 +01:00
firebird-mirror/doc/WhatsNew
2003-09-10 17:29:49 +00:00

1727 lines
60 KiB
Plaintext

**************
* v1.5 RC 6
**************
* Fixed unregistered bug.
Fixed minor inconsistencies in charsets naming.
Contributor(s):
Peter Jacobi <pj at walter-graphtek.com>
* Fixed unregistered bug.
GSTAT crash in some switch combinations.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Fixed broken savepoint handling in BREAK/LEAVE/EXIT.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed optimizer.
1) Prefer single indices instead of composite ones.
2) Prefer full-match unique indices.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixes and enhancements to win32 instreg / instsvc install tools.
See their help output for details.
Contributor(s):
Oliver Mascia <om at tipgroup.com>
* Fixed unregistered bug.
Improved OCTETS output in ISQL.
Contributor(s):
Peter Jacobi <pj at walter-graphtek.com>
* Fixed RC5 bug.
Fixed BREAK/LEAVE incompatibility with FOR EXECUTE STATEMENT loops.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC5 bug.
Bug with expressions without fields inside aggregate-functions.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC5 bug.
EXECUTE STATEMENT returning BLOB datatype.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC5 bug.
Various issues with server-side database aliases. In particular, restore support for relative paths in local connection strings
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC5 bug.
Possibly incorrect stream mapping in DSQL parser
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC5 bug.
Make COALESCE/CASE output descriptor more SQL-standard.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC5 bug.
Engine crash during execution of DDL altering long recursive procedure->trigger chains
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC5 bug.
Thread-safety issues in the SS client library and Windows CS listener process
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC5 bug.
Fix more Windows CS lock-ups. It passes heavy stress-tests now, seems to be stable
Note:
Automatic lock table resizing has been disabled for this target. You may need to adjust LockMemSize parameter if you experience "lock manager out of room" errors or failures during database restore
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC5 bug.
Rollback unplanned change of isc_que_events API function parameter types
Contributor(s):
Dimitry Sibiryakov <sd at topol.udm.net>
* Fixed RC5 bug.
Engine crashes if IO error happens early during database startup in SS builds
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Maximum number of indices per table increased
Backported appropriate changes from 1.0.3 tree
Notes:
1) Old maximum number of indices was 64, new max value is (DB_PAGE_SIZE/16)-2
2) When actual number of indices for a particular table exceeds 256 engine behavior may be unstable
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed bug SF #721792
Long runnning connection causes mem leak in OS kernel device
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
**************
* v1.5 RC 5
**************
* Fixed RC4 bug.
Incorrect GDSCODE evaluation in the case of user-defined exceptions.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed bugs SF #774987, #775003.
1) ltrim('') and rtrim('') return NULL; rtrim forgets 1st char
2) log(x, y) in fact returns log(y, x)
Contributor(s):
Paul Vinkenoog <paul at vinkenoog.nl>
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC4 bug.
Incorrect nested aggregates tracking.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC4 bug.
Various lockups in win32 CS.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed unregistered bug.
Server crash caused by lost transaction context.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Explicit locking change.
Make FOR UPDATE and WITH LOCK independent subclauses.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed unregistered bug.
Server crash for any combination of sub-select & between.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed unregistered bug.
Occasional server crash on plan generation.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
**************
* v1.5 RC 4
**************
* Fixed RC3 bug.
Server crash on some metadata operations.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC3 bug.
Fixed restore of backup file without required UDF(s).
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC3 bug.
Metadata cache issues related to CREATE OR ALTER statement.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC3 bug.
Broken exception handling in SPs/triggers.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed bug SF #736318.
"<value> STARTING WITH <field>" fails when using indices.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC3 bug.
When one merge was done no other merge could be generated by the optimizer.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC3 bug.
Various tempfile-related issues.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC3 bug.
Wrong console input processing in ISQL.
Contributor(s):
Tomas Skoda <tomas.skoda at jdsoftware.sk>.
* Fixed unregistered bug.
Non-existent deadlock is raised after execution of pre-(update/delete) triggers.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Parser improvement.
Make INSERTING/UPDATING/DELETING keywords non-reserved.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Error reporting improvements.
Added new (more specific) error messages for some of v1.5 changes.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
Arno Brinkman <firebird at abvisie.nl>
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC3 bug.
Disabled explicit SELECT locking for non-trivial queries (aggregates, SPs, joins, unions).
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
Nickolay Samofatov <skidder at bssys.com>
* Installation improvement / security fix.
Added -login switch to instsvc allowing to install FB service as non-localsystem account.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC3 bug.
1) Made savepoints SQL99-compliant.
2) Fixed bug related to exception handling when savepoints are used.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC3 bug.
'no current record for fetch operation' error for queries where a MERGE was done and/or SP/view/aggregates/unions were used together.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Re-introduced trimming of VARCHAR fields in the remote protocols.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Random server crash in the case of big queries being prepared.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC3 bug regarding API compatibility.
Contributor(s):
Dimitry Sibiryakov <sd at topol.udm.net>
* Fixed RC3 memory leaks.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC3 problem.
Server crash on restore (caused by GCC 3.2 bug).
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
Dimitry Sibiryakov <sd at topol.udm.net>
**************
* v1.5 RC 3
**************
* Fixed RC2 bug.
Server crash on restore of some databases.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Configuration improvement.
Make path management in firebird.conf to follow the OS requirements.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed unregistered bug.
Wrong UDF arguments of types DATE/TIME (dialect 3).
Contributor(s):
Oleg LOA <loa at mail.ru>
* Fixed unregistered bug.
Possible reference integrity violation.
Contributor(s):
Vlad Horsun <horsun at kdb.dp.ua>
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC2 installation issues on Linux.
1) Permissions problem for firebird.conf (SF #745090).
2) Generate aliases.conf on install.
3) Use rpmbuild to create packages.
Contributor(s):
Erik S. LaBianca <labiance at users.sourceforge.net>
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC2 bug.
Incorrect handling of numeric NULLs as EXCEPTION or EXECUTE STATEMENT arguments.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC2 bugs.
1) UDF linkage problems on Linux.
2) Allow C programs use our shared libraries on POSIX platforms.
3) Make libfbembed.so compatible with third-party tools such as Kylix.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed unregistered bug.
Allow easy adjustment of LockSemCount on POSIX platforms. No need to use gds_drop or reboot machine to make new setting take effect
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Parser improvement.
Make FIRST/SKIP keywords non-reserved.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed RC2 bug.
Problems with fbclient.dll on Win9x.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC2 bug.
Optimizer crash when all indices of a table had the selectivity of 1.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC2 bug.
Various issues with the lock manager.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed unregistered bug.
Wrong attachment reference after exception in PSQL.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed unregistered bug.
BREAK/LEAVE and EXIT statements are now available for usage in triggers.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC2 bug.
Server crash when NULL is used as EXECUTE STATEMENT argument.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed RC2 bug.
Server crash when explicit pessimistic locks are used from PSQL.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
**************
* v1.5 RC 2
**************
* Fixed unregistered bug.
Possible index corruptions during garbage collection.
Contributor(s):
Vlad Horsun <horsun at kdb.dp.ua>
Dmitry Yemanov <yemanov at 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 at bssys.com>
* Fixed RC1 bug.
Various server crashes in the remote protocol code.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Event manager change.
Disabled usage of definite aux port in CS builds due to known issues.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at abvisie.nl>
* Fixed RC1 bug.
Aggregates from a different parent context were not allowed in the HAVING clause.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed unregistered bug.
Possible crashes on disconnect when event notification is used.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at yandex.ru>
* Fixed unregistered bug.
Wrong record statistics is reported when operation fails due to some reason.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC1 bug.
Problems with the service manager being attached from different clients simultaneously.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at 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 at hotmail.ru>
* Fixed RC1 bug.
Server crash in EXECUTE STATEMENT combined with exception handling block.
Contributor(s):
Alexander Peshkoff <peshkoff at 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 at bssys.com>
* INTL improvement.
Make UPPER function work for WIN1251 charset without explicit collations.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC1 bug.
Cannot connect to the service manager with non-default password.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC1 bug.
Fixed problem with CREATE OR ALTER TRIGGER.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed RC1 bug.
Server crashes in some cases of error handling.
Contributor(s):
Alexander Peshkoff <peshkoff at 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 at hotmail.ru>
* Fixed RC1 bug.
Incorrect values returned by ROW_COUNT.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Buffer overrun in isc_database_info() call.
Contributor(s):
Oleg LOA <loa at 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 at hotmail.ru>
* Fixed RC1 bug.
SP with input parameters and aggregate tracking/validating methods failed.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed RC1 bug.
Crash on disconnect in the embedded server.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at abvisie.nl>
* Fixed RC1 bug.
Problem with start/stop commands of instsvc.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Services API.
Enabled statistics Services API for POSIX CS builds.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
**************
* v1.5 RC 1
**************
* Fixed Beta 4 bug.
EXECUTE STATEMENT and SQLDA > 32KB.
Contributor(s):
Alexander Peshkoff <peshkoff at 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 at yandex.ru>
* Fixed Beta 4 bugs.
1) sub-selects inside COALESCE function
2) parameter ordering
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Services API.
Partially enabled Services API for win32 CS builds.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Wrong type of event delivery (unnecessary usage of OOB packets).
Contributor(s):
Jim Starkey <jas at netfrastructure.com>
Paul Reeves <preeves at ibphoenix.com>
* Fixed Beta 4 bug.
Optimizer couldn't ignore bad indices in some cases.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at bssys.com>
* Fixed Beta 4 bug.
Locking and performance issues in win32 CS.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed Beta 4 bug.
Error during backup with "ignore in-limbo transactions" option.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Server crashes in some Services API operations.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Beta 4 bug.
Problems with IP address in connection strings.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 4 bug.
Compatibility problems with new IBX versions.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 4 bug.
EXECUTE STATEMENT: numeric variables and dialect 3 databases.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Advanced security abilities.
Implemented configurable access for databases, external tables and UDF libraries.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed resource/memory leaks.
Contributor(s):
Mike Nordell <tamlin at algonet.se>
Alexander Peshkoff <peshkoff at hotmail.ru>
Nickolay Samofatov <skidder at bssys.com>
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Buffer overrun with multidimensional arrays.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 4 bug.
RECREATE VIEW with check option.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 4 bug.
Problems with loading INTL plugins.
Contributor(s):
Mike Nordell <tamlin at 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 at yandex.ru>
* Fixed some resource leaks.
Contributor(s):
Mike Nordell <tamlin at algonet.se>
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed Beta 3 bug.
Bug with an aggregate sub-query inside a IN clause.
Contributor(s):
Arno Brinkman <firebird at 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 at bssys.com>
* SQL enhancement.
Allowed NULLs in unique constraints and indices (SQL-99 spec).
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
Nickolay Samofatov <skidder at bssys.com>
* Fixed Beta 3 bug.
Problems with RECREATE VIEW.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at 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 at 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 at hotmail.ru>
* Fixed Beta 3 bug.
With a large amount of SQL the server crashed on generating BLR.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
**************
* v1.5 Beta 3
**************
* Fixed Beta 2 bug.
EXECUTE STATEMENT doesn't work in autocommit transactions.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 2 bug.
Server crashes due to problems in the optimizer.
Contributor(s):
Arno Brinkman <firebird at 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 at yandex.ru>
* Fixed Beta 2 bug.
"Wrong page type" error during some DDL operations.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Server hangs during disconnect after mass updates.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Improved optimizer.
Sub-selects in SET clause of UPDATE now can use indices.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed unregistered bug.
"Context already in use" error in the case of DISTINCT with sub-selects.
Contributor(s):
Arno Brinkman <firebird at 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 at bssys.com>
* Fixed Beta 2 bug.
ISQL cannot work with scripts containing character code 0xFF.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 2 bug.
Ineffective PLANs made by the optimizer for SPs and views.
Contributor(s):
Arno Brinkman <firebird at 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 at algonet.se>
* Fixed Beta 2 bug.
Stack overflow during statement preparation.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
Mike Nordell <tamlin at algonet.se>
* Performance improvement.
Speed-up for index operations (IA32 CPU architecture only)
Contributor(s):
Mike Nordell <tamlin at algonet.se>
* Fixed Beta 2 bug.
Wrong record operation statistics.
Contributor(s):
Evgeny Kilin <john at citycard.izhnet.ru>
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 2 bug.
Wrong line-number statistics in DSQL.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed Beta 2 bug.
Server crashes during some operations.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Change in universal triggers.
Allowed access to both (OLD and NEW) contexts in universal triggers.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at abvisie.nl>
* Fixed unregistered bug.
Long delays during connecting/disconnecting on WinXP.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Beta 2 bug.
Server crash during service manager operations.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Generic cleanup.
Removed a lot of unused code.
Contributor(s):
Blas Rodriguez Somoza <blas at puertareal.com>
Erik Kunze <erik.kunze at 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 at 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 at puertareal.com>
* Renamed ISC4.GDB.
The security database has been renamed to security.fdb.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* New configuration file.
firebird.conf is finally published.
Note:
Directory handling options are not available yet.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* New user-defined functions.
Functions LPAD and RPAD are added to IB_UDF library.
Contributor(s):
Juan Guerrero <guerrero747 at yahoo.es>
* Fixed Beta 1 bug.
ISQL wasn't able to extract universal triggers.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Sometimes GFIX didn't allow to specify "-user" and "-password" switches ("incompatible swiches" error).
Contributor(s):
Dmitry Yemanov <yemanov at 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 at 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 at 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 at abvisie.nl>
* Fixed Beta 1 bug.
Server crashes during retrieval of the database statistics.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 1 bug.
Wrong context was used with FieldX IN (sub-select) predicate.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Beta 1 bug.
Yet another "deadlock" error during metadata updates.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at abvisie.nl>
* Fixed Beta 1 bug.
The client library cannot be loaded in some cases.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Beta 1 bug.
The guardian service cannot stop the server.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at puertareal.com>
**************
* v1.5 Beta 1
**************
* CREATE VIEW changes.
Disallowed PLAN subclause.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at abvisie.nl>
* Improved optimizer.
Better optimizations of "complex" JOIN queries (LEFT JOIN, views, SPs, etc).
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Alpha 5 bug.
Major memory leaks are fixed.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at yandex.ru>
* Sort/merge improvement.
Merging (SORT MERGE plans) is now done via in-memory sorting module.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 5 bug.
"Invalid transaction handle (expecting explicit transaction start)" error.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* New memory manager.
Internal implementation of the memory manager has been changed to give us better performance.
Contributor(s):
Nickolay Samofatov <skidder at 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 at yandex.ru>
* Fixed unregistered bug.
Trashed RDB$FIELD_LENGTH for views that contain concatenation of long CHAR/VARCHAR fields.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at yandex.ru>
* Fixed unregistered bug.
Cursors (WHERE CURRENT OF clause) cannot be used in triggers.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 5 bug.
SAVEPOINT-related statements were allowed in PSQL via EXECUTE STATEMENT.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed bug SF #221921.
ORDER BY has no effect.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed bug SF #213859.
Subquery connected with 'IN' clause.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Alpha 5 bug.
Wrong plan is used in the case of compound indices.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>,
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 5 bug.
Backward compatibility with explicit plans is broken.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* ORDER BY improvement.
Allowed arbitrary expressions in the ORDER BY clause.
Contributor(s):
Nickolay Samofatov <skidder at 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 at 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 at bssys.com>
* Fixed Alpha 5 bug.
PLAN wasn't correctly returned.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Alpha 5 bug.
Server crash or "deadlock" error during execution of ALTER PROCEDURE statement.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Generic code cleanup.
Structures within Y-valve.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
Nickolay Samofatov <skidder at bssys.com>
* Comments improvement.
Single-line comments (--) are now allowed in any position of the SQL statement.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
"Request sycnhronization error" with BREAK statement.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed bug SF #625899.
Bugcheck 291.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* PSQL change.
EXECUTE VARCHAR is renamed to EXECUTE STATEMENT.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed Alpha 5 bug and SF #219525.
No current record for fetch operation.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed unregistered bug.
QLI doesn't understand BIGINT (aka INT64) datatype.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Length of text variables inside procs/triggers wasn't copied to descriptor structure.
Contributor(s):
Arno Brinkman <firebird at 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 at yandex.ru>
* Fixed unregistered bug.
Buffer overflow (MAXPATHLEN) and rewritten local function dirname.
Contributor(s):
Erik Kunze <erik.kunze at 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 at bssys.com>
* Fixed Alpha 4 bug.
Crash when grouping by invariant subquery.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Improved optimizer.
Let sub-selects also use indices when their parent is a stored procedure.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed unregistered bug.
Removed request size limitation.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Nulls first/last and collation handling in "order by" clause of unions.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed Alpha 4 bug.
Optimizer, LEFT OUTER JOIN and error "no current record for fetch operation".
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Alpha 4 bug.
Wrong privileges checks.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 4 bug.
UDF node didn't contain any character set, was always NONE.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Generic code cleanup.
Renamings, new safe macros, support for mingw.
Contributor(s):
Erik Kunze <erik.kunze at philosys.de>,
Ignacio J. Ortega <nacho at siapi.es>,
Dimitry Sibiryakov <sd at topol.udm.net>
* Explicit record locking.
Finalized explicit locking implementation. Should be stable and consistent now.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Improved optimizer.
Better handling of AND nodes inside an OR node.
Contributor(s):
Arno Brinkman <firebird at 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 at bssys.com>
* Fixed Alpha 4 bug.
Bad performance of the memory manager and some memory leaks.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 4 bug.
Wrong ordinals of GDS32 exports.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
**************
* v1.5 Alpha 4
**************
* Fixed Alpha 3 bug.
Database cannot be restored properly in some situations.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Fixed Alpha 3 bug.
Dynamic exception messages don't work properly.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Exceptions inside for/while loop in triggers are not handled correctly.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed bug SF #623992.
Double forward slash in connection string.
Contributor(s):
Paul Reeves <preeves at ibphoenix.com>,
Mark O'Donohue <mark.odonohue at cytopia.com.au>
* Fixed unregistered bug.
Deadlock during some database operations.
Contributor(s):
Alexander Peshkoff <peshkoff at 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 at 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 at bssys.com>
* Fixed unregistered bug.
Quoted identifiers problem in plan expressions.
Contributor(s):
Nickolay Samofatov <skidder at 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 at yandex.ru>
* Fixed Alpha 3 bug.
API routines are not accessible if gds32.dll is explicitly loaded.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Stored procedures are no longer recompiled before deletion.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* New collation for WIN1251 charset.
WIN1251_UA for both Ukrainian and Russian languages.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Client library change.
API routines are no longer exported by ordinals.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at 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 at abvisie.nl>
* Fixed Alpha 3 bug.
Database appears corrupted (damaged BLOB pages).
Contributor(s):
Dmitry Yemanov <yemanov at 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 at bssys.com>
* Protocol cleanup.
IPX/SPX network protocol is no longer supported.
Contributor(s):
Sean Leyne <sleyne at atkin.com>
* Fixed Alpha 3 bug.
Memory corruption when working with long record verion chains.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at atkin.com>
* Improved optimizer.
Added support for detecting use of index with sub-selects in aggregate select.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Improved thread scheduler for Win32 SS.
Now the server should be more responsible under heavy load.
Contributor(s):
Alexander Peshkoff <peshkoff at 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 at 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 at siapi.es>
* Fixed unregistered bug.
Distributed (2PC) transaction cannot be properly rolled back due to network errors.
Contributor(s):
Vlad Horsun <horsun at kdb.dp.ua>,
Erik Kunze <erik.kunze at philosys.de>
* Fixed Alpha 2 bug.
Possible buffer overrun if dynamic exception messages are used.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 2 bug.
Problem with sub-select and GROUP BY clause.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Alpha 2 bug.
The server hangs with a bugcheck #284 (cannot restore singleton select data).
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Generic cleanup.
ISC_STATUS_LENGTH and MAXPATHLEN macros.
Contributor(s):
Erik Kunze <erik.kunze at philosys.de>
* Fixed Alpha 2 bug.
Version information is missing in libraries and tools.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed Alpha 2 bug.
Backported a few bits of FB1 code which have been lost.
Contributor(s):
Claudio Varderrama <cvalde at usa.net>,
Dmitry Yemanov <yemanov at 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 at bssys.com>
* Fixed Alpha 2 bug.
Changes in aliases.conf are not applied until the server is restarted.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at yandex.ru>
* Fixed installation bug.
instreg.exe doesn't create "GuardianOptions" registry value.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
Resource leaks in DDL recursive procedure handling which caused some DDL to fail.
Contributor(s):
Nickolay Samofatov <skidder at 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 at bssys.com>
* Fixed Alpha 1 bug.
GROUP BY ordinal doesn't work with column aliases.
Contributor(s):
Arno Brinkman <firebird at abvisie.nl>
* Fixed Alpha 1 bug.
Views are not being created correctly (missing records in RDB$VIEW_RELATIONS).
Contributor(s):
Dmitry Yemanov <yemanov at 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 at 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 at 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 at 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 at 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 at hotbox.ru>
* Fixed unregistered bug.
The server crashes during the garbage collection under heavy load.
Contributor(s):
Nickolay Samofatov <skidder at bssys.com>
* Deferred metadata compilation.
Solve a lot of reasons of the well-known "object in use" error.
Contributor(s):
Nickolay Samofatov <skidder at 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 at bssys.com>
* Fixed unregistered bug.
gstat shows wrong value for maxdup element.
Contributor(s):
Dmitry Kuzmenko <kdv at 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 at 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 at yandex.ru>
* Fixed unregistered bug.
Trigger which name starts with 'RDB$' cannot be altered or dropped at all.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at yandex.ru>,
Nickolay Samofatov <skidder at 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 at yandex.ru>
* Fixed unregistered bug.
Broken dependencies (like DB$34) appear in the database after metadata changes.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at usa.net>
* Disabled BREAK statement for triggers (like EXIT) due to known internal limitations.
Contributor(s):
Dmitry Yemanov <yemanov at 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 at 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 at 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 at 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 at abvisie.nl>
* Fixed bug SF #545725.
Automatic/background sweep hangs.
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>
* Fixed unregistered bug.
The server crashes when XSQLDA structures are prepared for not all statement parameters.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Enabled support for empty BEGIN...END blocks.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Partially fixed bug SF #567931.
Metadata security hole.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Fixed unregistered bug.
INT64 arrays don't work.
Contributor(s):
Artem Petkevych <artem at 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 at yandex.ru>
* Fixed bug SF #562417.
Aggregate concatenated empty char.
Contributor(s):
Dmitry Yemanov <yemanov at yandex.ru>
* Readline (cmd history) support added to ISQL.
Contributor(s):
Mark O'Donohue <mark.odonohue at 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 at 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 at 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 at 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 at yandex.ru>
* New plugin manager and INTL interface.
Contributor(s):
John Bellardo <bellardo at 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 at yandex.ru>
* Fixed bug SF #538201.
Crash with extract from null as date.
Contributor(s):
Claudio Varderrama <cvalde at 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 at hotmail.ru>
* Major code cleanup.
Contributor(s):
Sean Leyne <sleyne at atkin.com>,
Erik Kunze <erik.kunze at philosys.de>
* New memory manager.
Contributor(s):
John Bellardo <bellardo at cs.ucsd.edu>
* New exception handling logic.
Contributor(s):
Mike Nordell <tamlin at algonet.se>,
John Bellardo <bellardo at cs.ucsd.edu>
* New autoconf-based build configuration.
Contributor(s):
John Bellardo <bellardo at cs.ucsd.edu>,
Mark O'Donohue <mark.odonohue at cytopia.com.au>,
Erik Kunze <erik.kunze at philosys.de>
* The code port from C to C++.
Contributor(s):
Mike Nordell <tamlin at algonet.se>,
John Bellardo <bellardo at cs.ucsd.edu>,
Mark O'Donohue <mark.odonohue at cytopia.com.au>