diff --git a/doc/WhatsNew b/doc/WhatsNew index 2dbaa4d59e..1ed82f244a 100644 --- a/doc/WhatsNew +++ b/doc/WhatsNew @@ -1,2405 +1,271 @@ - ************************** - * v2.0 Release Candidate 1 - ************************** + ************** + * v2.1 Alpha 1 + ************** - * Enhancement - Isql now shows the command line parameters and their explanations instead - of a simple list of switches when unknown parameters are used. + * Bugfix CORE-967 + SQL with incorrect characters (outside the ASCII range) may be processed wrongly + Contributor(s): + Claudio Valderrama + + * Bugfix CORE-965 + Many aggregate functions within a single select list may cause a server crash + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-925 + ALL predicate works incorrectly for some subqueries + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-833 + Connection issues with very long hostname + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-850 + DYN layer allows to set defaults for computed fields when altering a field + Contributor(s): + Claudio Valderrama + + * Bugfix CORE-104 + Dropping and recreating a table in the same transaction disables the primary key + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-88 + Join on different datatypes produces undesired results + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-202 + ORDER BY works wrong with collate PT_PT + Contributor(s): + Adriano dos Santos Fernandes + + * Bugfix CORE-866 + Removing a NOT NULL constraint is not visible until reconnect + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-954 + Server crashes while grouping by PSQL variable + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-881 + Singleton is not respected in COMPUTED BY expressions + Contributor(s): + Adriano dos Santos Fernandes + + * Bugfix CORE-859 + Sorting is allowed for blobs + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-842 + Specific query crashing the server + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-152 + Sqlsubtype incorrect on timestamp math, constant arithmetic + Contributor(s): + Claudio Valderrama + + * Bugfix CORE-99 + Strange/Inconsistent query results + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-87 + Bug in libfbclient under Linux with SA_SIGINFO + Contributor(s): + Alex Peshkov + + * Bugfix CORE-847 + Computed field cannot be changed to non-computed using ALTER TABLE ALTER COLUMN TYPE + Contributor(s): + Claudio Valderrama + + * Bugfix CORE-347 + Input of invalid dates through DSQL parameters + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-84 + NBACKUP and security + Contributor(s): + Alex Peshkov + + * Bugfix CORE-878 + Problem when dropping column that is a primary key + Contributor(s): + Dmitry Yemanov + + * Bugfix CORE-945 + Bad error message when tring to create a foreign key to a non-existent table + Contributor(s): + Adriano dos Santos Fernandes + + * Bugfix CORE-929 + Bug in a DSQL parameter being casted and used in arithmetics + Contributor(s): + Adriano dos Santos Fernandes + + * Bugfix CORE-851 + Field can be used multiple times in multi-segment index definition + Contributor(s): + Claudio Valderrama + + * Bugfix CORE-908 + Garbage in plan output of complex statement + Contributor(s): + Vlad Horsun + + * Bugfix CORE-871 + Incorrect handling of NULL within views - returns 0 + Contributor(s): + Claudio Valderrama + + * Bugfix CORE-880 + Malformed characters are accepted in character set GB2312 + Contributor(s): + Adriano dos Santos Fernandes + + * Bugfix CORE-899 + Problems with explicit PSQL cursors in unwanted states + Contributor(s): + Adriano dos Santos Fernandes + + * Bugfix CORE-896 + SUBSTRING with NULL offset or length don't return NULL + Contributor(s): + Adriano dos Santos Fernandes + + * Improvement CORE-970 + Show line/column numbers in PSQL error stack trace + Contributor(s): + Vlad Horsun + + * Improvement CORE-972 + Case-insensitive collation for UTF-8 + Contributor(s): + Adriano dos Santos Fernandes + + * Improvement CORE-969 + Deprecate page sizes of 1K and 2K as being inefficient + Note(s): + This applies to new databases only. Old ones can be attached + regardless of their page size. + Contributor(s): + Dmitry Yemanov + + * Improvement CORE-779 + Introduced a type flag for stored procedures + Note(s): + Column RDB$PROCEDURE_TYPE has been added to the table RDB#PROCEDURES. + Possible values are: + - 0 or NULL - legacy procedure (no validation checks are performed) + - 1 - selectable procedure (the one that contains a SUSPEND statement) + - 2 - executable procedure (no SUSPEND statement, cannot be selected from) + Contributor(s): + Dmitry Yemanov + + * Improvement CORE-831 + Column aliases are processed as column names in the view definition + Example(s): + CREATE VIEW V_TEST AS + SELECT ID, COL1 AS CODE, COL2 AS NAME FROM TAB; + Contributor(s): + Dmitry Yemanov + + * Improvement CORE-673 + instsvc.exe now supports multi-instance installations + Contributor(s): + Dmitry Yemanov + + * Improvement CORE-971 + Improve network protocol performance + Contributor(s): + Dmitry Yemanov + Vlad Horsun + + * GBAK improvement (unregistered) + Now it's possible to use v2.1's GBAK to restore on any FB version + Contributor(s): + Claudio Valderrama + + * Feature CORE-655 + BLOB SUB_TYPE TEXT datatype fully compatible with VAR[CHAR] + Contributor(s): + Adriano dos Santos Fernandes + + * Feature CORE-684 + Collations allowed in PSQL parameters and variables + Contributor(s): + Adriano dos Santos Fernandes + + * Feature CORE-704 + Ctrl-C to be used to cancel interactive ISQL output Contributor(s): Michal Kubecek + Adriano dos Santos Fernandes - * Fixed SF #1446987 - BLOB not found - Contributor(s): - Vlad Horsun - - * Fixed Beta 2 bug - Server crashes when dropping a constraint based on inactive index - Contributor(s): - Vlad Horsun - - * New port - Introduced AMD64 port for FreeBSD - Contributor(s): - Sergey Skvortsov - Alex Peshkov - - * Security change - LegacyHash config option now defaults to 1 (TRUE) - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug (SF #1449377) - Wrong sum result of derived table with no cast union select - Contributor(s): - Arno Brinkman - - * Fixed SF #1434147 - Bugs with COUNT (DISTINCT XXX) when XXXX is a high integer - Contributor(s): - Vlad Horsun - - * Fixed SF #1422471 - Memory leak in EXECUTE STATEMENT - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug - Incorrect malformed string error + * Feature CORE-815 + REPLACE and MERGE statements Contributor(s): Adriano dos Santos Fernandes - * Fixed Beta 2 bug - Wrong behaviour on OS error in critical mutexes - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug - Unexpected exception (like out of memory condition) lost in gbak - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Possible buffer overflow in WNET - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug - Legacy users' management API failed due to not initialized memory - Contributor(s): - Alex Peshkov - - * Diagnostic enhancement - Syslog messages also go to user's tty if process attached to it - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug - "invalid handle" exception during events shutdown (local protocol only) - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 2 bug - PSQL cursors return incorrect results in case of sorting/aggregation - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 2 bug - RETURNING INTO returns incorrect results - Contributor(s): - Dmitry Yemanov - - * Fixed SF #1435997 - Close database error -901 for embedded server - Contributor(s): - Dmitry Yemanov - - * Fixed SF #1260310 - Nessus scan causes server to drop connections - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug (SF #1439268) - Sequence of commands crash FB server + * Feature CORE-660 + Domains allowed to be used in PSQL parameters and variables Contributor(s): Adriano dos Santos Fernandes - * Fixed SF #1385092 - Firebird 1.5 SS freezes on terminated connection on blob - Contributor(s): - Alex Peshkov - - * Fixed Beta 2 bug - Server crashes due to bug in the Knuth-Morris-Pratt algorithm (LIKE implementation) + * Feature CORE-795 + Unicode collations Contributor(s): Adriano dos Santos Fernandes - * Fixed SF #1436066 - Adding index during DB activity causes GFIX errors - Contributor(s): - Vlad Horsun - - * Fixed Beta2 bug - Wrong processing (missing records) of GREATER-THAN operator for compound indices - in some cases - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - A few types of subqueries are wrongly treated as being variant, - causing performance issues - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 2 bug (SF #$1433583) - Unexpected error "key size exceeds implementation restriction" for UTF-8 charset + * Feature CORE-864 + Chinese character set GBK Contributor(s): Adriano dos Santos Fernandes - * Fixed unregistered bug - Indices used in explicit plans inside PSQL could be dropped, thus causing restore issues + * Feature CORE-964 + Aggregate function LIST (string concatenation) + Contributor(s): + Dmitry Yemanov + + * Feature CORE-963 + Common table expressions and recursive queries + Contributor(s): + Vlad Horsun + + * Feature CORE-962 + Global temporary tables + Contributor(s): + Vlad Horsun + + * INTL improvements (unregistered) + 1) Ability to use: ICU charsets through fbintl + 2) UNICODE collation (charset_UNICODE) is available for all fbintl charsets + 3) Collation attributes + 4) CREATE/DROP COLLATION statements Contributor(s): Adriano dos Santos Fernandes - * Fixed unregistered bug - fb_lock_print fails with message: - "the requested operation cannot be performed on a file with a user-mapped section open". - Contributor(s): - Vlad Horsun - - * Information API enhancements - 1) isc_info_active_transactions_count returns number of active transactions (SF #1315814) - 2) isc_transaction_info returns transaction isolation level and options (SF #1089646) - 3) isc_info_creation_date returns creation date of the database - See also: - /doc/sql.extensions/README.isc_info_xxx - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Transaction ID cannot silently (and dangerously) overflow anymore (the limit is still 2^31) - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Read committed transactions block garbage collection - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - ALL predicate may return wrong results - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Thread safety issues in datetime functions of the FBUDF library - Contributor(s): - Claudio Valderrama - - * Build improvement - FBUDF library no longer depends on FBCLIENT - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Permissions are not checked for view columns - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Server crashes if positioned UPDATE/DELETE is executed via DSQL - and it references a cursor which is already released. - Contributor(s): - Vlad Horsun - - * Fixed SF bug #1404157 - DFW is not ready for RECREATE TABLE/VIEW - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Restored the code which replaces ROLLBACK with COMMIT if a transaction - has not modified any data - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - ROW_COUNT is cleared after SUSPEND execution - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1408079 - Parser does not validate string literal markers - Contributor(s): - Claudio Valderrama - - * Fixed Beta 2 bug - Incorrect ambiguity error raised for quantified predicates (ANY/ALL/IN) - Contributor(s): - Arno Brinkman - - * Fixed unregistered bugs - 1) Wrong statistics if relation\index data is longer than 2^32 bytes length - 2) Wrong statistics: average index key length rounded to integer value - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Attachments with isc_dpb_no_garbage_collect option force the sweep - Contributor(s): - Vlad Horsun - - * Fixed Beta 2 bug - Wrong string length calculated for UNICODE_FSS system domains - in users views and tables - Contributor(s): - Adriano dos Santos Fernandes - Dmitry Yemanov - - * Fixed Beta 2 bug - Incorrectly stored source for CURRENT_TIME\CURRENT_TIMESTAMP - in procedure parameters default values - Contributor(s): - Vlad Horsun - - ************** - * v2.0 Beta 2 - ************** - - * Forward port from 1.5.3 - Added OldColumnNaming support - Contributor: - Paul Reeves - - * Fixed Beta 1 bug - Problem causing collation to be lost in sqlsubtype when using dynamic charset - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed Beta 1 bug - Expression indices work incorrectly with the COLLATE clause - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Wrong results when a few candidate predicates have different matching rules - to lower/upper bounds of the index - Contributor(s): - Arno Brinkman - - * Added new collations - WIN_CZ for WIN1250 charset (Czech language, case-insensitive) - WIN_CZ_CI_AI for WIN1250 charset (Czech language, case-insensitive, accent-insensitive) - Contributor(s): - Ivan Prenosil - Adriano dos Santos Fernandes - - * Fixed unregistered bug - The client library doesn't react on setting envvars via SetEnvironmentVariable() - Contributor(s): - Claudio Valderrama - - * Fixed SF bug #1404215 - Column dependencies are not stored for views - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Remote connections to the Services API performed with a wrong host are in fact served - by the local protocol instead of throwing an error - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Bugcheck #205 (index bucket overfilled) during restore - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Expression indices cannot be used for navigation in outer joins - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Wrong (incomplete) errors are reported by system triggers - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #229237 - Blank passwords poorly supported - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Made the server version information human readable in ISQL when using the -z flag - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bugs - A few buffer overruns in ISQL - Contributor(s): - Alex Peshkov - Dmitry Yemanov - - * Fixed Beta 1 bug - An infinite fetch from explicit PSQL cursors based on a navigationally sorted stream - Contributor(s): - Dmitry Yemanov - - * Security enhancements - 1) Active protection from brute-force attack in services API - 2) Redirection of remote requests is controlled by firebird.conf - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Incorrect encryption of password in embedded services manager - Contributor(s): - Alex Peshkov - - * Fixed Beta 1 bug - Unexpected warnings about missing UDF libraries during restore on Win32 - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Linux SS performance degradation related to the threads management - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Incorrect Win32 error output by GSTAT - Contributor(s): - Claudio Valderrama - - * Fixed Beta 1 bug - Incorrect report by GFIX validation about corruption of primary/unique indices - Contributor(s): - Arno Brinkman - - * Fixed Beta 1 bugs - 1) Long restore for complex interdependent metadata - 2) Indices not used for small tables - 3) Bad join order for non-indexed relationships - Contributor(s): - Arno Brinkman - Dmitry Yemanov - - * Enhanced CAST function (SF #1371274) - Now it's possible to use CAST to advise the engine about parameter types, - hence avoiding the famous "Datatype unknown" error - Example(s): - SELECT CAST(? AS INT) FROM RDB$DATABASE - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1191206 - A few constraint issues - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1292106 - ORDER BY with FOR UPDATE WITH LOCK crashes index - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #609538 - Alter Index FK - bad error message - Contributor(s): - Dmitry Yemanov - - * Added new charset - Charset WIN1258 for Vietnamese language - Contributor(s): - Nguyen The Phuong - Adriano dos Santos Fernandes - - * Fixed unregistered bug - GPRE is unable to generate more than 32K identifiers - Contributor(s): - Ann Harrison - - * Fixed Beta 1 bug - Datatype changes of index-constrained columns are allowed - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Wrong result for STARTING WITH and subquery containing CASE function - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed Beta 1 bug - Backup of the security database is not allowed using Services API - Contributor(s): - Alex Peshkov - - * Cleaned up ibase.h - Public headers don't contain private declarations anymore - Contributor(s): - Dmitry Yemanov - Alex Peshkov - - * Fixed unregistered bug - Wrong error can be reported when you access not active contexts - in multi-action triggers - Contributor(s): - Dmitry Yemanov - - * Fixed SF #1368741 - Wrong result for UPPER() - Contributor(s): - Adriano dos Santos Fernandes - - * Enhanced API call - isc_blob_lookup_desc() now also describes blobs - that are outputs of stored procedures - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed Beta 1 bug - Server crashes when TRIM function is used in aggregation - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Server crashes when manipulating input DPB due to memory corruption - in Parameter Blocks management - Contributor(s): - Claudio Valderrama - - * Fixed Beta 1 bug - Column names are lost in case of UNION containing derived fields - Contributor(s): - Arno Brinkman - - * Fixed Beta 1 bug - Server crashes when a few expression indices are used simultaneously - Contributor(s): - Vlad Horsun - - * Fixed SF bug #1175157 - Error in thread scheduler causes server to lockup - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Wrong ISQL metadata extraction for triggers, check constraints - and views with check option - Contributor(s): - Claudio Valderrama - Dmitry Yemanov - - * Fixed Beta 1 bug - Server crash when attempting to load metadata for expression index - that belong to a not scanned table - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Internal error is reported when attempting to pass/return blobs - to/from string functions inside PSQL - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Corrupted IDs of system generators after restore - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Explicit plan could be rejected/ignored in ODS11 databases - Contributor(s): - Arno Brinkman - - * Root directory lookup change - Registry is no longer used by the server processes - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bugs - 1) Improper thread data operations during the protocol port cleanup - 2) No transaction rollback / attachment cleanup for broken TCP connections - Contributor(s): - Vlad Horsun - Dmitry Yemanov - - * Fixed unregistered bug - Wrong error message is decoded when firebird.msg is missing or outdated - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Memory corruption and server crash caused by buffer overflows - inside the BLR->ASCII blob filter - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Bad optimization of joins order - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Incorrect source SQL is stored in the metadata for DEFAULT CURRENT_TIME[STAMP] - Contributor(s): - Vlad Horsun - Dmitry Yemanov - - * Fixed Beta 1 bug - Column defaults remain cached after DROP DEFAULT statement - Contributor(s): - Vlad Horsun - - * Enhanced SET TRANSACTION statement - All TPB options are now supported: - - NO AUTO UNDO - - IGNORE LIMBO - - LOCK TIMEOUT - Example(s): - SET TRANSACTION WAIT SNAPSHOT NO AUTO UNDO LOCK TIMEOUT 10 - See also: - doc/sql.extensions/README.set_transaction.txt - Contributor(s): - Claudio Valderrama - - * Fixed Beta 1 bug - Server crash caused by invalid reference to RDB$ROLES.RDB$SYSTEM_FLAG - in ODS10 databases - Contributor(s): - Claudio Valderrama - - * Fixed Beta 1 bug - Corrupted incremental backups are created after changes in large blobs - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Server crash when attempting to restore a database backup with corrupted VARCHAR data - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - A successful status vector could be reported to the user - after a failed DDL operation - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Threading issues in the DSQL metadata cache causing unexpected - "invalid transaction handle" errors under load - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Incorrect checking of subqueries/derived tables in the HAVING clause - Contributor(s): - Arno Brinkman - - * Fixed unregistered bug - Wrong result by the division operation after DDL changes - Example(s): - create table test(fld numeric(18, 2)); - insert into test (fld) values (1); - commit; - alter table test alter fld type numeric(18,3); - select fld/3 from test; -- returns 0.033 instead of expected 0.333 - Contributor(s): - Dmitry Yemanov - - * Fixed Beta 1 bug - Memory corruption causing server to crash when using CURRENT_TIME[STAMP] - in some complex cases (nested procedure calls or views) - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1184099 - Incorrectly padding when using charset OCTETS - Contributor(s): - Claudio Valderrama - Adriano dos Santos Fernandes - - * Fixed unregistered bug - Unexpected errors caused by improperly handled dead record versions - created by the system transaction during DDL operations - Contributor(s): - Ann Harrison - - * Further optimizer improvements - Better cost-based calculation - Contributor(s): - Arno Brinkman - - * Fixed Beta 1 bug - ALTER TABLE SET DEFAULT incorrectly modifies RDB$FIELDS instead of RDB$RELATION_FIELDS - Contributor(s): - Claudio Valderrama - - * Fixed Beta 1 bug - Index is not rebuilt after a datatype change - Contributor(s): - Vlad Horsun - - * Fixed Beta 1 bug (SF #1192225) - Automatic NOT NULL in PK columns incomplete - Contributor(s): - Claudio Valderrama - - * Fixed unregister bug - GBAK adds garbage bytes to SPB when called in the -SE mode - Contributor(s): - Adriano dos Santos Fernandes - Claudio Valderrama - Vlad Horsun - - * Added new DDL statement - RECREATE TRIGGER statement is now available in DDL - Note(s): - Semantics is the same as for other RECREATE statements - Contributor(s): - Dmitry Yemanov - - * Fixed unregister bug - SuperServer deadlock in the DSQL metadata cache - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Server crashes during some DDL actions - Example(s): - alter table rdb$relations add rdb$garbage varchar(30); - Contributor(s): - Jim Starkey - - * Fixed SF bug #223060 - Slow processing of GREATER-THAN operator - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Check constraints are not SQL compliant in regard to the NULL handling - Example(s): - CHECK (DEPTNO IN (10, 20, 30)) should allow NULL values - in the DEPTNO column but it does not - Contributor(s): - Paul Ruizendaal - Dmitry Yemanov - - * Fixed unregistered bug - Primary key could be created on a column having NULL values - Example(s): - create table bug (f1 int not null, f2 int not null); - insert into bug (f1, f2) values (1, 1); - commit; - alter table bug add pk int not null primary key; - Contributor(s): - Vlad Horsun - - * Fixed Beta 1 bug - Wrong access permissions to the QLI help database - Contributor(s): - Alex Peshkov - - * Fixed Beta 1 bug - OLD/NEW context references are improperly recognized as matching another table - Contributor(s): - Arno Brinkman - - * Fixed SF bug #1334034 - REVOKE damages ACL - Contributor(s): - Dmitry Yemanov - - ************** - * v2.0 Beta 1 - ************** - - * Fixed Alpha 3 bug - Client crashes while calling isc_interpret() for isc_except error code - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - ALTER TABLE doesn't see uncommitted relations - Contributor(s): - Dmitry Yemanov - Vlad Horsun - - * Fixed Alpha 3 bug - Server crashes while performing the sweep - Contributor(s): - Vlad Horsun - - * Fixed Alpha 3 bug - Improperly reused error codes causing wrong lookup in older firebird.msg - Contributor(s): - Claudio Valderrama - - * Changed security2.fdb - 1) Table USERS_BG is renamed to RDB$USERS - 2) User name is now UNICODE_FSS instead of ASCII - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - "Cannot find record fragment" bugcheck happens during GC in system tables - Contributor(s): - Vlad Horsun - - * Fixed Alpha 3 bug - Server crashes when attempting to release a BLOB - Contributor(s): - Vlad Horsun - - * Fixed Alpha 3 bug - Incorrect ODS layout in AMD64 builds - Contributor(s): - Alex Peshkov - - * Fixed Alpha 3 bug - Removed collation alias PT_BR for WIN1252, - rolled back to globally unique collation names - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF bug #1211328 - Maximum BLOB size (error reporting) - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - System triggers of wrong ODS are executed - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #217042 - IB doesn't validate weird constructions - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 3 bug - Deletes perform slower than in v1.5 - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1292007 - INSERT and UPDATE allow duplicate field name - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 3 bug (SF #1305110) - FB 2.0 clash between UDF and internal LOWER function - Note(s): - UDF lower is now declared as "LOWER" in ib_udf2.sql - Contributor(s): - Claudio Valderrama - - * Fixed SF bug #223128 - SYSDBA can grant non existent roles - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - Broken GSEC compatibility (-database switch) - Contributor(s): - Alex Peshkov - - * Fixed Alpha 3 bug - Bugcheck or wrong result caused by the FETCH statement - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Server crashes when too big key is specified for an index retrieval - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - ISQL doesn't extract default values for stored procedure parameters - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - SQL string is stored truncated within the RDB$*_SOURCE columns in some cases - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - Index is rebuilt while being described via the COMMENT ON INDEX statement - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 3 bug - SEGV when legacy isc_interprete() is called - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 3 bug - Server crashes on some DDL operations performed on not yet committed tables - Contributor(s): - Dmitry Yemanov - - * Installation enhancement - Added optional switch -i[interactive] to instsvc.exe to allow interactive mode - for LocalSystem services - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Broken implementation of the MATCHES predicate in GDML - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - Issue of SQLVAR.sqllen from non-system MBCS fields - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bug - GBAK cannot restore a database containing broken foreign keys - Contributor(s): - Alex Peshkov - - * SQL enhancement - Allowed value expressions to be returned via the RETURNING clause - See also: - /doc/sql.extentions/README.returning.txt - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - Implict NOT NULL (in PRIMARY KEY constraint) is generated with the same - constraint name of the PK - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bugs - 1) Unpredictable behaviour of gds__log() on POSIX in signal handlers - 2) Signal safety issues in SuperServer shutdown - 3) Buffer overrruns in physical I/O functions - Contributor(s): - Alex Peshkov - - * SQL enhancement - CURRENT_TIME and CURRENT_TIMESTAMP now optionally allow seconds precision - See also: - /doc/sql.extentions/README.current_time.txt - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - Not enough process permissions caused rejecting of XNET connections - Contributor(s): - Dmitry Yemanov - - * Security enhancement - 1) Always require login/password for remote clients - 2) Temporary disable logins for clients, making too many wrong attempts to login - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Comparisons between strings in NONE and other charset caused an error - Contributor(s): - Dmitry Yemanov - Adriano dos Santos Fernandes - - * Fixed unregistered bug - Incorrect UDF access checking - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug (SF #1249187) - String literals dest. for large CHAR fields truncated - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed Alpha 3 bug (SF #1256675) - Create foreign constraint without PK sometimes fails - Contributor(s): - Vlad Horsun - - * Fixed Alpha 3 bug - WHEN EXCEPTION handler doesn't work - Contributor(s): - Claudio Valderrama - Dmitry Yemanov - - * DDL enhancement - SET/DROP DEFAULT clauses are now available for ALTER DOMAIN and ALTER TABLE statements - See also: - /doc/sql.extentions/README.ddl.txt - Contributor(s): - Claudio Valderrama - - * Improved Services API - Services are now executed as threads rather than processes on some threadable CS builds - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bugs - 1) '1.5' / '0.5' doesn't work in Dialect 1 - 2) avg ('1.5') doesn't work in Dialect 1 - 3) 5 * '1.5' produces INT result instead of DOUBLE PRECISION in Dialect 1 - 4) sum ('1.5') produces NUMERIC(15, 2) result instead of DOUBLE PRECISION in Dialect 1 - 5) - '1.5' doesn't work in Dialect 1 - 6) '1.5' * '0.5' and '1.5' / '0.5' are not forbidden in Dialect 3 - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1250150 - Can't drop procedure - Contributor(s): - Vlad Horsun - - * Fixed Alpha 3 bug - Expression index dependencies aren't tracked correctly - Contributor(s): - Vlad Horsun - - * Fixed bug SF #1238104 - Incorrect sweep internal report - Contributor(s): - Claudio Valderrama - - * Added UDF function - IB_UDF_srand is now available in the IB_UDF library - Contributor(s): - Adriano dos Santos Fernandes - - * Added new collation - BS_BA for WIN1250 charset (Bosnian language) - Contributor(s): - Fikret Hasovic - - * Fixed Alpha 3 bugs - 1) "WITH CHECK OPTION" bug - 2) Issue with unreleased contexts in derived tables - 3) Outer references to higher scope-levels are rejected in derived tables - Contributor(s): - Arno Brinkman - - * Fixed Alpha 3 bugs - 1) NEXT VALUE FOR bug for dialect 3 (32bit impementation was used) - 2) Issue with GEN_ID(, NULL) - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bug - Foreign-key checks failed due to the new INTL changes - Contributor(s): - Arno Brinkman - - * Fixed Alpha 3 bug (SF #1289925) - isc_array_lookup_bounds bug - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 3 bugs - 1) Issues with NEW/OLD contexts and derived tables - 2) Issues with the IN predicate - 3) Invalid parsing of PLANs inside views - Contributor(s): - Arno Brinkman - - * Fixed bug SF #1244126 - Update text BLOBs when connected with NONE charset - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed bug SF #1242106 - 1) Incorrect commit instead of rollback during shutdown - 2) Crash or bugcheck during SuperServer shutdown with active attachments - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #1242982 - Bug in compound index key mangling - Contributor(s): - Arno Brinkman - - * Fixed unregistered bug - Crash occured in service gfix code when it tried to reattach to currently - unavailable database. Since service can't interact with end user an endless - loop leads to overflow service buffer and crash as result. - Contributor(s): - Vlad Horsun - - * Fixed Alpha 3 bug (SF #1242106) - In-Limbo transaction Services API broken - Contributor(s): - Vlad Horsun - - * Fixed bug SF #1242379 - Collation changes VARCHAR's length - Contributor(s): - Adriano dos Santos Fernandes - - * Added ROLLBACK RETAIN syntax support - ROLLBACK RETAIN statement is now supported in DSQL - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bugs - 1) Do not overwrite destination during NBACKUP restore - 2) Fixed cases of corrupted backups created by NBACKUP - 3) Fixed some memory/handle leaks - Contributor(s): - Nickolay Samofatov - - * Fixed Alpha 3 bug - Threading issues in DSQL causing errors at prepare - Contributor(s): - Dmitry Yemanov - - ************** - * v2.0 Alpha 3 - ************** - - * DDL improvement - Allow to create foreign key constraints without need to get exclusive lock - on whole database - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Fix 'partner index not found' error when one classic process - dropped FK and another process trying to delete master record - Contributor(s): - Vlad Horsun - - * ISQL improvement - Make SQLDA_DISPLAY display input SQLDA parameters of INSERTs, UPDATEs and DELETEs - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bug - Server crashed when PLAN for VIEW is specified but no table alias was given - Contributor(s): - Vlad Horsun - - * Fixed Alpha 2 bug (SF #1184591) - Invalid ROW_COUNT variable value after DELETE - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bugs - 1) redundant attempts to get an exclusive database lock during shutdown - 2) inaccurate timeout counting - 3) database lock is not released after bringing database online in the exclusive mode - 4) removed a 5 sec timeout when bringing database online in the shared mode - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #1016040 - Missing external libraries causes engine exception - Contributor(s): - Adriano dos Santos Fernandes - - * DML enhancement - Implemented RETURNING clause for the INSERT statement - See also: - /doc/sql.extentions/README.returning - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #1186607 - Foreign key relation VARCHAR <-> INT - Contributor(s): - Vlad Horsun - - * Fixed bug SF #1211325 - BLOBs in external tables - Contributor(s): - Vlad Horsun - - * New charsets/collations - 1) KOI8-R (Russian language) and KOI8-U (Ukrainian language) charsets and dictionary collations - 2) WIN1257_LV (Latvian), WIN1257_LT (Lithuanian), WIN1257_EE (Estonian) collations - Contributor(s): - Oleg Loa - Aleksey Karyakin - - * Parser improvement - Try report the line/column of an incomplete statement. - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bugs - 1) Charset/collation issues for expression-based view columns - 2) Lost charset/collation for local PSQL variables - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 2 bug (SF #1171256) - Local Protocol (XNET) isn't using aliases - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Database alises didn't work in WNET - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #1211354 - Redundant evaluations in COALESCE - Contributor(s): - Arno Brinkman - - * Fixed unregistered bug - Client crashed while disconnecting with active event listener - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #1208932 - SHOW GRANT does not distinguish object types - Contributor(s): - Claudio Valderrama - - * Optimizer improvement - Use more realistic cost value for unique retrieval - Contributor(s): - Arno Brinkman - - * Fixed SF bug #494981 - Bad exception report - Contributor(s): - Claudio Valderrama - - * DDL enhancement - Implemented ALTER EXTERNAL FUNCTION to change the entry_point or the module_name - when the UDF cannot be dropped due to existing dependecies - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 2 bugs - 1) bug with selectivity of non-equality comparisons - 2) changed the invertions selection code to help in both MERGE and JOIN paths - 3) implemented metadata extract for expression indices - 4) the threading issues in fbembed - Contributor(s): - Dmitry Yemanov - - * DDL enhancement - Implemented the COMMENT statement to set the metadata descriptions - See also: - /doc/sql.extentions/README.ddl.txt - Contributor(s): - Claudio Valderrama - - * Fixed bug SF #908319 - 1.5 wrong err msg using gbak with service_mgr - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - A few internal buffer overflows are fixed - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - After an attempt to "create view v(c1) as select 1 from v" all clones of system request - remained active forever - Contributor(s): - Alex Peshkov - - * Fixed Alpha 2 bug - Server crashed in incorrect written EXECUTE BLOCK statement - Example(s): - EXECUTE BLOCK AS BEGIN - INSERT INTO DUMMY (ID) VALUES(?); - END - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - ISQL_disconnect_database overwriting the Quiet flag permanently - Contributor(s): - Miroslav Penchev - Claudio Valderrama - - * Fixed unregistered bug - Server crashed during the table metadata scan in some cases - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Error "index key too big" when creating a descending index - Contributor(s): - Vlad Horsun - - * Fixed SF bug #1191006 - Using where params in SUM return incorrect results - Contributor(s): - Arno Brinkman - - * Fixed Alpha 2 bug - Problem with distributing sort to deeper RSE - Example(s): - SELECT RDB$RELATION_NAME FROM (SELECT FIRST 10 * FROM RDB$RELATIONS ORDER BY RDB$RELATION_NAME DESC) ORDER BY RDB$RELATION_NAME - Contributor(s): - Arno Brinkman - - * Fixed SF bug #1122344 - gbak -kill option drops existing shadow - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #750662 - Multiple declaration of blob filters - Contributor(s): - Dmitry Yemanov - - * Parser improvement - UNIONs are allowed in ANY/ALL/IN subqueries - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #743679 - FIRST / SKIP not well implemented - Contributor(s): - Dmitry Yemanov - - * Optimizer improvement - NOT conditions are simplified and optimized via index when possible - Example(s): - (NOT NOT A = 0) -> (A = 0) - (NOT A > 0) -> (A <= 0) - Contributor(s): - Dmitry Yemanov - - * Fixed SF bug #450404 - ISQL uppercases role in the command line - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - 100% CPU load when an I/O error causes a rollover to non-existing shadow - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 2 bug (SF #1173988) - Minor glitches in GBAK output - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Fix for the -b (Bail On Error) option when SQL commands are issued and no db connection exists yet. - Apply Miroslav Penchev's patch for bug with -Q always returning 1 - to the operating system, discovered by Ivan Prenosil. - Contributor(s): - Claudio Valderrama - - * New INTL interface - A new interface allowing the following enhancements and features - Contributor(s): - Nickolay Samofatov - - * INTL enhancements - 1) Well-formedness checks of string constants and parameters - 2) Uppercase and lowercase all possible (and not only ASCII) characters in default collation orders - 3) Check length of characters (and not bytes) for new MBCS (including UTF8) - 4) Inform original character set in sqlsubtype of XSQLVAR when connecting with NONE - Contributor(s): - Adriano dos Santos Fernandes - - * BLOB enhancements - 1) Allow usage of collations - 2) Perform comparison using entire content - 3) Convert between character sets when assigning from string or BLOB - Contributor(s): - Adriano dos Santos Fernandes - - * Unicode 4.0 support - UTF8 character set with collations UCS_BASIC and UNICODE - Contributor(s): - Adriano dos Santos Fernandes - - * Brazilian collations - 1) Collation PT_BR for ISO8859_1 and WIN1252 character sets - 2) Collation WIN_PTBR for WIN1252 character set - Contributor(s): - Adriano dos Santos Fernandes - Paulo Henrique Albanez - - * New string functions - LOWER, BIT_LENGTH, CHAR_LENGTH/CHARACTER_LENGTH, OCTET_LENGTH, TRIM. - See also: - /doc/sql.extentions/README.length - /doc/sql.extentions/README.trim - Contributor(s): - Adriano dos Santos Fernandes - - * INTL plugins - Character sets and collations are installed using a manifest file. - Server write to the log when conflicts exist. - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #1073212 - Order by big columns (collate) terminates server - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #939844 - Queries > 263 chars with UNICODE DB throws GDS Exception - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #977785 - Wrong character lengths MBCS (UTF-8, East-Asian charsets) - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #536243 - UNICODE_FSS charset and UPPER function - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #942726 - UPPER does not convert aacute to Aacute for ISO8859_1 - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #544630 - Problems when connecting using UNICODE - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed SF #540547 - Concatenation, numeric fields & charset - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bug - Query produce different result depending on index presence - when the last character of the string is the first character of a compression pair - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bug - SUBSTRING and multi-byte BLOB don't work correctly - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bug - Pattern matching with multi-byte BLOB is performed in binary mode - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed unregistered bug - It's not safe to connect with MBCS if database has columns - using different character set - Contributor(s): - Adriano dos Santos Fernandes - - ************** - * v2.0 Alpha 2 - ************** - - * Fixed bug (SF #1016969) - Unknown datatype for parameters in result of - searched CASE expression - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug (SF #1188734) - WHERE CURRENT OF doesn't work - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug (SF #1168898) - Domain with check containing select - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug - Bug with VALUE keyword in check constraint and bug - with VALUE keyword where VALUE represents a column - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug - Bug with ORDER BY and DISTINCT on OUTER JOIN - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug - Select-list alias hides an expression datatype - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug - Server crashed when SUBSTRING is used in the expression index - Contributor(s): - Adriano dos Santos Fernandes - Dmitry Yemanov - - * Optimizer improvements - Better choice of streams order in joins and better index usage in general - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bugs - 1) Bad optimization for tables with zero selectivities - 2) Wrong choice of index in the case of the same selectivity and number of indices - 3) Wrong total selectivity calculated for compound non-equality comparisons - Contributor(s): - Dmitry Yemanov - Arno Brinkman - - * Fixed unregistered bug - Database corruption when row is deleted in a BEFORE UPDATE trigger - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug - Server crashed during validation of broken ODS11 indices - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Computed column of blob/array type zeroes the first column of the table being restored - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #1155520 - Any user can replace databases created by others - Contributor(s): - Adriano dos Santos Fernandes - - * Shutdown ability - Posix SS builds now handle SIGTERM and SIGINT to shutdown all connections gracefully - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - GBAK stalled when it's used via the service manager and invalid command line is passed - Contributor(s): - Vlad Horsun - - * Added new GBAK switch -RECREATE_DATABASE [OVERWRITE] - Simple RECREATE_DATABASE is equal to CREATE_DATABASE - RECREATE_DATABASE OVERWRITE is equal to REPLACE_DATABASE - Contributor(s): - Vlad Horsun - - * Changed default value for TcpNoNagle config option - TCP_NODELAY socket option is now set by default - Contributor(s): - Konstantin Kuznetsov - - * Fixed Alpha 1 bug (SF #1173948) - Prompt is shown when using -i switch - Contributor(s): - Claudio Valderrama - - * Fixed v1.5.0 bug - Server locked up after unsuccessful attach to security.fdb - Contributor(s): - Dmitry Yemanov - Claudio Valderrama - - * Fixed unregistered bug - Privileges granted to procedures/triggers/views are preserved after dropping the object - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - EXECUTE PROCEDURE doesn't check SQL permissions at the prepare stage - Contributor(s): - Dmitry Yemanov - - * NEW context changes - Reject any assignment to the NEW trigger context (make it read-only) in AFTER triggers - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug - Expression index cannot be used for navigation - Contributor(s): - Dmitry Yemanov - - * Implemented RECREATE EXCEPTION and CREATE OR ALTER EXCEPTION statements (SF #1167973) - Allow either creating, recreating or altering an exception, depending in its existance - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Bug in AddMonth() UDF when facing January - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - System transaction is reported as dead - Contributor(s): - Adriano dos Santos Fernandes - Vlad Horsun - - * Fixed Alpha 1 bug (SF #1169884) - Navigation vs IS NULL vs compound index - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug (SF #1169730) - Database corruption caused by the new GC code - Contributor(s): - Vlad Horsun - - * Fixed Alpha 1 bug (SF #1169728) - FIRST 1 vs ORDER DESC vs explicit plan (ODS11) - Contributor(s): - Arno Brinkman - - * Fixed Alpha 1 bug (SF #1169723) - Database that will not restore using FB 2.0 Alpha1 - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug (SF #1169708) - Select from selectable SP takes MUCH more time than before - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug (SF #1169707) - Database corruption - page 0 expected type 5, found 1 - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - A number of buffer overflows - Contributor(s): - Alex Peshkov - - * Fixed Alpha 1 bug (SF #1168910) - ISQL stops when meet any chars in comment - Contributor(s): - Dimitry Sibiryakov - - * Fixed unregistered bug - Server crashed due to plan buffer overflows - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug - Lost sort node that caused unordered data to be returned - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - SQL role wasn't properly parsed by the engine - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 1 bug - Broken loopback connections via XNET. - Contributor(s): - Dmitry Yemanov - - * Fixed Alpha 1 bug - Server crashed during SQL optimization - Contributor(s): - Arno Brinkman - - * A number of ISQL changes - 1) Stop possible crash with long terminators - 2) Make SET SQLDA_DISPLAY work in release versions - 3) Avoid several SQL> prompts when using the INPUT command interactively - 4) Stop some memory leaks - Contributor(s): - Claudio Valderrama - - * Fixed Alpha 1 bug - "gbak -se" (backup/restore via the service manager) didn't work - Contributor(s): - Dmitry Yemanov - - ************** - * v2.0 Alpha 1 - ************** - - * Fixed bug SF #1124720 - Problem with "FOR EXECUTE STATEMENT ... DO SUSPEND;" - Contributor(s): - Alex Peshkov - - * Compatibility related change - New security.fdb is renamed to security2.fdb - Contributor(s): - Alex Peshkov - - * Optimizer improvements - 1) Usage of segment-level selectivities - 2) Better support for IS NULL - 3) Better support for STARTING WITH - 4) Matching both OR and AND nodes to indices - 5) Better cost estimations and hence better join orders - 6) Allowed indexed order (navigational walk) for outer joins - Note(s): - Available in ODS 11.0 only - Contributor(s): - Arno Brinkman - - * Improved GROUP BY and ORDER BY clauses - Allowed column aliases in both these clauses - Example(s): - SELECT RDB$RELATION_ID AS ID - FROM RDB$RELATIONS - ORDER BY ID - - SELECT RDB$RELATION_NAME AS ID, COUNT(*) - FROM RDB$RELATION_FIELDS - GROUP BY ID - Contributor(s): - Arno Brinkman - - * Improved ORDER BY clause - Allowed ordinals to work on a select list which contain an asterisk - Example(s): - SELECT * - FROM RDB$RELATIONS - ORDER BY 9 - Contributor(s): - Arno Brinkman - - * Fixed bug SF #1076858 - Possible corruption in classic server - Contributor(s): - Vlad Horsun - - * Changed view updates logic - Apply NOT NULL constraints to base tables only, ignoring the ones inherited - by view columns from domain definitions - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #1116809 - Incorrect data type conversion - Contributor(s): - Adriano dos Santos Fernandes - - * Fixed bug SF #1111570 - Drop table having check that references more than one column - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Possible server lockup/crash when 'RELEASE SAVEPOINT xxx ONLY' syntax - is used or when existing savepoint name is reused in transaction context - Contributor(s): - Nickolay Samofatov - - * Improved configuration - Allow the first path of ExternalFilesAccess to be used as default - when external file is to be created - Contributor(s): - Alex Peshkov - - * Fixed bug SF #1108909 - View can be created w/o rights on table name like "a b" - Contributor(s): - Claudio Valderrama - - * Partially fixed bug SF #217042 - IB doesn't validate weird constructions - Contributor(s): - Claudio Valderrama - - * Extended isc_dsql_sql_info() API call - Allows to retrieve relation aliases, if required - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Usage of an invalid index in an explicit plan causes garbage to be shown - in the error message instead of the rejected index name - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Rare client crashes caused by improperly cleaned XDR packets - Contributor(s): - Dmitry Yemanov - - * Fixed bugs SF #504978, #527677, #1103666, #1103670, #1103683, #1103740 - 1) GPRE variable names being truncated - 2) "ANSI85 compatible COBOL" switch broken - 3) GPRE uses inconsistent lengths - 4) GPRE invalidates a quoted cursor name after it's opened - 5) GPRE doesn't check the length of the db alias - 6) GPRE doesn't detect duplicate quoted cursors names - Contributor(s): - Claudio Valderrama - - * Fixed bug SF #512975 - Embed spaces and CR+LF before DEFAULT - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Server crash during SuperServer shutdown - Contributor(s): - Alex Peshkov - - * Cleanup - Command line switch L for SuperServer is no longer recognized - as the old local protocol was deleted - Contributor(s): - Dmitry Yemanov - - * Security improvement - Another layout of security.fdb - Also, security.fdb has been renamed to security2.fdb - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - Column-level privileges are preserved after this column is dropped - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Memory leak when selectable stored procedures are called from PSQL or in subqueries - Contributor(s): - Nickolay Samofatov - - * Index improvements - Don't check uniqueness for null keys - Contributor(s): - Vlad Horsun - - * SQL improvements - 1) Introduced SEQUENCE as a synonym for GENERATOR (as per SQL-99) - 2) Added SQL-99 compliant NEXT VALUE FOR expression - 3) Implemented REVOKE ADMIN OPTION FROM statement - See also: - /doc/sql.extentions/README.sequence_generators - /doc/sql.extentions/README.ddl.txt - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Backup issues with stream BLOBs - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Diagnostics about missing/unusable UDF module - Contributor(s): - Alex Peshkov - - * Optimizer improvements - 1) Distribute HAVING clause conjunctions to the WHERE clause when possible - 2) Distribute UNION conjunctions to the inner streams when possible - 3) Improved cross join and merge/sort handling - 4) Better optimization of mixed AND/OR predicates - Contributor(s): - Arno Brinkman - Dmitry Yemanov - - * SQL improvement - Supported UDFs to be called as procedures (i.e. ignoring their output) in PSQL - Contributor(s): - Nickolay Samofatov - - * ISQL improvement: - Command line switch -b to bail out on error when used in non-interactive mode. - Also, return an error code to the operating system. - See also: - /doc/README.isql_enhancements.txt - Contributor(s): - Damyan Ivanov - Claudio Valderrama - - * Context variables - Added support for context variables via RDB$GET_CONTEXT - and RDB$SET_CONTEXT system functions - See also: - /doc/sql.extentions/README.context_variables2 - Contributor(s): - Nickolay Samofatov - - * Fixed bug SF #1065511 - XP SP2 slow to connect to Linux server - Contributor(s): - Nickolay Samofatov - - * Fixed bugs SF #459059 and #543106 - 1) index breaks = ANY result - 2) bug with ALL keyword - Contributor(s): - Dmitry Yemanov - - * ODS change - Enlarged exception messages from 78 to 1021 bytes - Contributor(s): - Vlad Horsun - - * Fixed bug SF #1057538 - UDF output parameter not being the last crashes the server - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - System users "AUTHENTICATOR" and "SWEEPER" were lost, - causing "SQL SERVER" to be reported instead - Contributor(s): - Alex Peshkov - - * Configuration change - Added new parameter LegacyHash to firebird.conf - Contributor(s): - Alex Peshkov - - * Security improvements - 1) New (more secure) password hash calculation algorithm - 2) Ability for users to modify their own passwords - 3) Rejected any remote (non-embedded) access to security.fdb - 4) Use Services API in GSEC - 5) Protect from attempts to brute-force accounts/passwords - Contributor(s): - Alex Peshkov - - * Configuration change - Added new parameter GCPolicy to firebird.conf - Contributor(s): - Vlad Horsun - - * Garbage collection improvements - New GC thread implementation and combined cooperative + background activity - Contributor(s): - Vlad Horsun - - * Fixed unregistered bug - Some cases where ambiguous queries were still possible - Contributor(s): - Arno Brinkman - - * ODS change - Added RDB$DESCRIPTION to RDB$GENERATORS - Contributor(s): - Claudio Valderrama - - * CURRENT_TIMESTAMP and 'NOW' improvements - Return milliseconds when a current timestamp is asked for - Contributor(s): - Dmitry Yemanov - - * SQL improvement - Allowed PLAN, ROWS and ORDER BY clauses in UPDATE/DELETE statements - See also: - /doc/sql.extentions/README.select_expressions - Contributor(s): - Oleg Loa - - * 64-bit builds - A number of changes (including ODS support) to support Firebird on 64-bit platforms - Contributor(s): - Nickolay Samofatov - - * SQL improvement - Added an equivalence predicate which behaves exactly as equality/inequality, - but treats NULL = NULL as TRUE - Syntax: - A IS [NOT] DISTINCT FROM B - See also: - /doc/sql.extentions/README.distinct - Contributor(s): - Oleg Loa - Dmitry Yemanov - - * SQL improvements - 1) Allowed FIRST/SKIP/ROWS/PLAN and ORDER BY clauses in views - 2) Added CROSS JOIN (A CROSS JOIN B means something like A INNER JOIN B ON 1 = 1 or just FROM A, B) - 3) Allowed UNION in subqueries and INSERT statement - See also: - /doc/sql.extentions/README.select_expressions - Contributor(s): - Dmitry Yemanov - - * New transaction option - Added lock timeouts for WAIT transactions (see new TPB value isc_tpb_lock_timeout) - Contributor(s): - Aleksey Karyakin - Dmitry Yemanov - - * WNET protocol changes - WNET (aka NetBEUI) protocol no longer performs client impersonation - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Introduced 40-bit (64-bit internally) record numbers to avoid ~30GB table size limit - Contributor(s): - Nickolay Samofatov - - * Buffer cache improvements - 1) Much faster algorithms to process the dirty pages tree - 2) Increased maximum page cache size to 128K pages (2GB for 16K page size) - Contributor(s): - Oleg Loa - Dmitry Yemanov - - * Security improvements - Fixed a number of known vulnerabilities in API + * Various BOF fixes Contributor(s): Claudio Valderrama Alex Peshkov - - * Fixed unregistered bug - Don't rollback prepared 2PC sub-transaction - Contributor(s): - Vlad Horsun - - * Server log improvement - Add filename and line number to BUGCHECK log messages - Contributor(s): - Arno Brinkman - - * GSEC improvement - Now GSEC returns the error code when used as a non-interactive utility - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Server crash with DECLARE FILTER - Contributor(s): - Alex Peshkov - - * SQL extention - Allowed UNION DISTINCT as a synonym for simple UNION (as per SQL-99 spec) - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #571026 - INET/INET_connect: gethostbyname - Contributor(s): - Dmitry Yemanov - - * Fixed bug SF #223058 - Multi-hop server ability broken - Contributor(s): - Dmitry Yemanov - - * Optimizer improvement - Let's choose a reasonable join order for intermixed inner and outer joins - Contributor(s): - Dmitry Yemanov - - * Configuration change - Added new parameter UsePriorityScheduler to firebird.conf - Contributor(s): - Alex Peshkov - - * ISQL improvement - ODS version is now shown as a part of SHOW DATABASE command - Contributor(s): - Claudio Valderrama - - * Minor BLOB improvement - Introduced BLOB SUB_TYPE BINARY as a synonym for SUB_TYPE 0 - Contributor(s): - Claudio Valderrama - - * ODS change - Introduced a concept of ODS type to be able to distinguish between - InterBase databases, Firebird databases, databases created by - debug builds of Firebird and private forks - Contributor(s): - Nickolay Samofatov - - * UDF improvement - Ability to signal SQL NULL via a NULL pointer - See also: - /doc/sql.extentions/README.ddl.txt - Contributor(s): - Claudio Valderrama - - * Expression indices - Implemented indices based on arbitrary expressions - Syntax: - CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]] INDEX ON ( ) - See also: - /doc/sql.extentions/README.expression_indices - Contributor(s): - Oleg Loa - Aleksey Karyakin - Dmitry Yemanov - - * IIF builtin function - Added IIF (, , ) - as a shortcut for CASE WHEN THEN ELSE END - See also: - /doc/sql.extentions/README.iif - Contributor(s): - Oleg Loa - - * Fixed unregistered bug - A number of possible server crashes, as reported by Valgrind - Contributor(s): - Nickolay Samofatov - - * IN/OR improvements - Constant IN predicate or multiple OR booleans are now evaluated faster - Contributor(s): - Oleg Loa - - * NULL becomes a syntactical value - You may now specify A = NULL, B > NULL, etc (all of them evaluate to FALSE) - See also: - /doc/sql.extentions/README.null_value - Contributor(s): - Dmitry Yemanov - - * Concatenation overflow - A compile-time check has been dropped in favour of the runtime one - Contributor(s): - Oleg Loa - Dmitry Yemanov - - * Fixed unregistered bug - Issues with dates below Julian date stored in indices - Contributor(s): - Arno Brinkman - - * PSQL stack trace - Added ability to report a PSQL stack trace when exception occurs - Contributor(s): - Vlad Horsun - - * OLD context changes - Reject any assignment to the OLD trigger context (e.g. make it read-only) - Contributor(s): - Dmitry Yemanov - - * Index scan imporvement - NULLs are ignored during the index scan (when it makes sense) - Contributor(s): - Arno Brinkman - - * Fixed bug SF #735720 - SELECT ... STARTING WITH :v is wrong when :v = '' - Contributor(s): - Arno Brinkman - - * Fixed unregistered bug - Crash when changing data type for field and specify wrong type or domain name - Contributor(s): - Nickolay Samofatov - - * ODS change - Added RDB$DESCRIPTION and RDB$SYSTEM_FLAG to RDB$ROLES - Contributor(s): - Claudio Valderrama - - * Fixed some BLOB issues - 1) Outrageous memory consumption when blobs are converted from strings during request processing - 2) Materialization doesn't cause invalidation of BLOB IDs too early - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Problems with UDF argument mapping to parameters - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Server crash due to incorrect accounting of attachment pointers used inside the lock structure - Contributor(s): - Nickolay Samofatov - - * Improved ISQL - 1) Fixed bug SF #223126 - Misplaced collation when extracting metadadata with ISQL - 2) Fixed bug SF #223513 - Ambiguity between tables and views - 3) Fixed bug SF #518349 - ISQL show mangles relationship - Contributor(s): - Blas Rodriguez Somoza - - * Fixed bug SF #910423 - ALTER TABLE altering to VARCHAR - Contributor(s): - Claudio Valderrama - - * Improved ISQL - 1) Fixed bug SF #910430 - ISQL and database dialect - 2) Add SET HEADING ON/OFF option - 3) Add -M2 command-line option to send output of statistics - and plans to the same file than the rest of the output - See also: - /doc/README.isql_enhancements.txt - Contributor(s): - Claudio Valderrama - - * Fixed unregistered bug - Rounding problems in date/time arithmetics - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Wrong counting of line numbers in DSQL parser - when multi-line literals and identifiers are used - Contributor(s): - Nickolay Samofatov - - * Fixed v1.5 bug - Random crash on restore - Contributor(s): - Jim Starkey - - * Fixed unregistered bug - Crash/lock-up with multiple calls of isc_dsql_prepare for a single statement (like IBO does) - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Server crash when too big/small system year is set up - Contributor(s): - Dmitry Yemanov - - * User-defined plans improvements - 1) Propagate plan fragments to nested levels of joins, - thus allowing to manually optimize complex outer joins - 2) Check the user-supplied plan for correctness in outer joins - 3) Added short-circuit optimization for user-supplied plans - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug - Server crash when the stream number exceeds the limit - Contributor(s): - Dmitry Yemanov - - * Fixed unregistered bug. - Memory leak in EXECUTE STATEMENT - Contributor(s): - Alex Peshkov - - * Fixed unregistered bug - UDF arguments are being prepared/optimized twice - Contributor(s): - Dmitry Yemanov - - * Index structure improvements - More effective compressing - Contributor(s): - Arno Brinkman - - * New database shutdown modes are introduced - Single-user and full shutdown modes are implemented - See also: - /doc/README.shutdown_modes.txt - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Memory leak during conversion from string to blob - Contributor(s): - Nickolay Samofatov - - * C/C++ client interface version added - FB_API_VER defined to 20 for Firebird 2.0 in ibase.h - Contributor(s): - Nickolay Samofatov - - * Implemented EXECUTE BLOCK statement - It is now possible to use dynamic PSQL with this statement - See also: - /doc/sql.extentions/README.execute_block - Contributor(s): - Vlad Horsun - - * Implemented support for default parameters for stored procedures - See also: - /doc/sql.extentions/README.default_parameters - Contributor(s): - Vlad Horsun - - * DSQL parser changed - It now always detects table aliases ambiguity and abandoned support - for implicit double table aliases - Contributor(s): - Arno Brinkman - - * Fixed unregistered bug - Problems with interdependent views during restore process - Contributor(s): - Arno Brinkman - - * Fixed SF #750664 - Issues with read-only databases and transactions - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Fixed memory leak from connection pool in isc_database_info - Contributor(s): - Nickolay Samofatov - - * Per-segment index selectivity maintenance - Per-segment selectivity information is now available to the optimizer - opening possibilities for more clever access path decisions - Contributor(s): - Dmitry Yemanov - Arno Brinkman - - * Fixed/re-worked invariant tracking in PSQL and request cloning logic - This fixes numerous issues with recursive procedures, for example SF #627057 - Contributor(s): - Nickolay Samofatov - - * Re-worked logic of updatable views - This solves problems with views that are implicitly updatable, - but still have update triggers - See also: - /doc/sql.extentions/README.view_updates - Contributor(s): - Dmitry Yemanov - - * Added SQL200X ROWS clause - New syntax to limit amount of records you want to get - See also: - /doc/sql.extentions/README.rows - Contributor(s): - Dmitry Yemanov - - * Fixed SF #781610 - Problems with -- comments in ISQL - Contributor(s): - John Bellardo - Blas Rodriguez Somoza - - * Support for explicit cursor syntax in PSQL - It is now possible to declare and use multiple cursors in PSQL - See also: - /doc/sql.extentions/README.cursors - Contributor(s): - Dmitry Yemanov - - * LIKE/CONTAINING/STARTING WITH functions re-worked - 1) functions now work with BLOBs correctly - 2) use single-pass Knuth-Morris-Pratt algorithm for pattern matching - 3) fix crash when NULL is used as ESCAPE character for LIKE - Contributor(s): - Nickolay Samofatov - - * Fixed unregistered bug - Fixed server crash with explicit plans used in subqueries, - when outer aggregation is performed. - Contributor(s): - Dmitry Yemanov - - * Nulls ordering is changed to be SQL200X-compliant (SF #225218) - Implemented nulls placement behavior is MSSQL-like, works on ODS11 databases only - since it requires new indices for operation. - Contributor(s): - Nickolay Samofatov - - * Enable support for databases on raw devices - You can now use raw devices to store database. Especially usable with database aliases - Contributor(s): - Erik Kunze - Nickolay Samofatov - - * New indices code - Very fast, nicely tolerates large amount of duplicates, - limit of 256 bytes key length removed - Contributor(s): - Arno Brinkman - - * Internal logging enhanced - 1) Implemented thread- and signal- safe debug logging facilities - 2) Updated routines that print out various internal structures (DSQL node tree, BLR, DYN, etc) - Contributor(s): - Nickolay Samofatov - - * Improved PLAN clause - Allowed to specify more possible paths for the engine - Example: - PLAN (A ORDER IDX1 INDEX (IDX2, IDX3)) - See also: - /doc/sql.extentions/README.plan - Contributor(s): - Dmitry Yemanov - - * Further optimizer improvements - 1) MERGE PLAN may now be generated for joins using equality comparsion on expressions - 2) Better logic regarding unique indices handling - 3) Improved logic for OR expressions - Contributor(s): - Arno Brinkman - - * New local protocol - XNET is now used as local protocol for Windows and is supported in CS builds - See also: - /doc/README.xnet - Contributor(s): - Dmitry Yemanov - - * Services API are fully ported to Classic architecture - All Services API are supported on Linux and Windows CS - Contributor(s): - Nickolay Samofatov - - * SUBSTRING enhanced - SUBSTRING built-in function now supports arbitrary expressions in parameters - Contributor(s): - Oleg Loa - Dmitry Yemanov - - * Added LEAVE