************************** * v2.0.6 ************************** * Bugfix CORE-2507 Intermittent CreateFile() failure Contributor(s): Vlad Khorsun * Bugfix CORE-2449 Unexpected "lock conflict" error can be thrown instead of other (expected) exception Contributor(s): Dmitry Yemanov * Bugfix CORE-2444 The engine could hang when multiple attachments register their interest in events simultaneously and free space in the events table is exhausted Contributor(s): Vlad Khorsun * Bugfix CORE-2437 Buffer overflow on client when delivering events Contributor(s): Alex Peshkov * Bugfix CORE-2415 Firebird crashes when out of temporary space Contributor(s): Alex Peshkov * Bugfix CORE-2411 Optimizer chooses slower plan in v2.0.5/v2.1.2 as compared to v2.0.4/v2.1.1 Contributor(s): Dmitry Yemanov * Bugfix CORE-2395 Lost the supplementary characters(UTF-8 4-byte) at immediate API handling Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-2368 Access violation after the isc_cancel_events() call if event was not found Contributor(s): Vlad Khorsun * Bugfix CORE-2355 Incorrect handling of LOWER/UPPER when result string shrinks in terms of byte length Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-2354 "fb_lock_print -ia" output is not flushed to a file between iterations Contributor(s): Alex Peshkov * Bugfix CORE-2326 Access violation when committing a new view while trigger on rdb$relations is in place Contributor(s): Dmitry Yemanov * Bugfix CORE-2306 fbserver terminates abnormally when thread start failed Contributor(s): Alex Peshkov * Bugfix CORE-2282 *truncate UDFs are broken for numbers below -1 Contributor(s): Claudio Valderrama * Bugfix CORE-2281 *round UDFs are broken for negative numbers Contributor(s): Claudio Valderrama * Bugfix CORE-2272 Server starts returning garbage when killing events connection attempt Contributor(s): Alex Peshkov * Bugfix CORE-2271 GFIX reports the database ownership error way too late Contributor(s): Alex Peshkov * Bugfix CORE-2270 ISQL consumes all memory and crashes when running in zlogin console Contributor(s): Jaroslaw Swierczynski Alex Peshkov * Bugfix CORE-2247 Message and descriptor buffers are not aligned properly (RISC machines only) Contributor(s): Alex Peshkov * Bugfix CORE-2245 Error on restoring a database with long exception texts from backup Contributor(s): Claudio Valderrama * Bugfix CORE-2173 Server crashes after abnormal disconnect with open ExecuteStatement Contributor(s): Alex Peshkov * Bugfix CORE-2157 fbclient does not have the libpthread dependency Contributor(s): Alex Peshkov * Bugfix CORE-1961 Bugcheck 210 (page in use during flush) is thrown during database validation Contributor(s): Dmitry Yemanov Roman Simakov * Bugfix CORE-1923 "instsvc remove" returns 1 when succefully executed Contributor(s): Dmitry Yemanov * Improvement CORE-2316 Throttling NBackup on large databases Contributor(s): Alex Peshkov * Improvement CORE-2200 Extremely slow executing a cross join of 3 tables in Firebird 2.x Contributor(s): Dmitry Yemanov ************************** * v2.0.5 ************************** * Fixed unregistered bug Issue with @prefix@ in aliases.conf on MacOS Contributor(s): Paul Beach * Fixed bug CORE-2223 Multiple bugs in GBAK when working with ACLs Contributor(s): Alex Peshkov * Fixed bug CORE-2221 Attach to any database fails after modification of access rights of security2.fdb from 0660 to 0666 Contributor(s): Paul Beach Alex Peshkov * Fixed bug CORE-2108 "get_free_slot() failed" error Contributor(s): Vlad Horsun * Fixed bug CORE-2078 Suboptimal join plan if there are selective non-indexed predicates involved Contributor(s): Dmitry Yemanov * Fixed bug CORE-2077 Embedded/Classic: signal TERM handling Contributor(s): Alex Peshkov * Fixed bug CORE-2077 Signal TERM in CS 2.1 for Linux Contributor(s): Alex Peshkov * Fixed bug CORE-2073 Expression indexes bug: incorrect result for the inverted boolean Contributor(s): Dmitry Yemanov * Fixed bug CORE-2065 Client library is not in default dynamic loader search paths Contributor(s): Paul Beach * Fixed bug CORE-2055 Buffer overflow in fbclient Contributor(s): Alex Peshkov * Fixed bug CORE-2050 Performance regression - too many semop() system calls Contributor(s): Vlad Horsun * Fixed bug CORE-2049 Performance regression - too many sigprocmask() system calls Contributor(s): Alex Peshkov * Fixed bug CORE-2000 Lock manager may report false deadlocks under high load Contributor(s): Vlad Horsun * Fixed bug CORE-1984 Lock manager reports false deadlocks if one of deadlock participants waits with permitted timeout Contributor(s): Vlad Horsun * Fixed bug CORE-1983 Out of memory condition in OS causes the server crash Contributor(s): Alex Peshkov * Fixed bug CORE-1982 Simultaneous backups/restores could interfere each with other using the Services API Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1972 Non-SYSDBA user can change FW mode of database Contributor(s): Alex Peshkov * Fixed bug CORE-1970 Lock conversion denied (bugcheck 215) error may occurs Contributor(s): Vlad Horsun * Fixed bug CORE-1958 Bugcheck 179 (decompression overran buffer) when attempting to update the same record multiple times Contributor(s): Dmitry Yemanov * Fixed bug CORE-1957 Long ACLs truncated Contributor(s): Alex Peshkov * Fixed bug CORE-1930 Possible engine crash if procedure was altered to have no outputs and dependent procedures was not recompiled Contributor(s): Vlad Horsun * Fixed bug CORE-1919 Memory corruptions in EXECUTE STATEMENT may crash the server Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1909 Garbage in firebird.log on linux/amd64 Contributor(s): Alex Peshkov * Fixed bug CORE-1887 Newly created databases have wrong access rights Contributor(s): Alex Peshkov * Fixed bug CORE-1886 Server doesn't start as an application under restricted user accounts on Vista Contributor(s): Vlad Horsun * Fixed bug CORE-1884 Random server crashes using stored procedures with expressions as default values of input parameters Contributor(s): Vlad Horsun * Fixed bug CORE-1854 Value of CURRENT_USER may be not in upper case when using Unix OS authentication Contributor(s): Alex Peshkov * Fixed bug CORE-1844 Valgrind often reports "Conditional jump or move depends on uninitialised value(s)" in check_status_vector() Contributor(s): Alex Peshkov * Fixed bug CORE-1841 If some VIEW used derived tables and long table names\aliases, It is possible to overflow RDB$VIEW_RELATIONS.RDB$CONTEXT_NAME Contributor(s): Vlad Horsun * Fixed bug CORE-1840 Small memory leak per every DDL execution Contributor(s): Dmitry Yemanov * Fixed bug CORE-1830 Possible index corruption with multiply updates of the same record in the same transaction and using of savepoints Contributor(s): Vlad Horsun * Fixed bug CORE-1826 changeRunUser.sh and restoreRootRunUser.sh scripts does not change run user in init.d scripts Contributor(s): Alex Peshkov * Fixed bug CORE-1817 The RelaxedAliasChecking parameter has no effect concerning RDB$DB_KEY Contributor(s): Vlad Horsun * Fixed bug CORE-1810 Problem with usernames containing the '.' character Contributor(s): Alex Peshkov * Fixed bug CORE-1807 fbserver is assigned to a non-canonical port after abnormal termination Contributor(s): Alex Peshkov * Fixed bug CORE-1506 Server crash with isc_dsql_execute_immediate and zero length string Contributor(s): Alex Peshkov * Fixed bug CORE-1451 Using RDB$DB_KEY inside the WHERE clause while selecting from a procedure crashes the server Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1439 DB corruption when killing posix CS Contributor(s): Alex Peshkov * Fixed bug CORE-1357 DummyPacketInterval mechanism broken Contributor(s): Dmitry Yemanov * Fixed bug CORE-1313 RDB$DB_KEY not supported in derived tables and merge command Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1889 Security database has FW mode OFF, making it corrupted under some circumstances Contributor(s): Alex Peshkov ************************** * v2.0.4 ************************** * Fixed bug CORE-1820 Setup program doesn't detect a running server Contributor(s): Paul Reeves Dmitry Yemanov * Fixed bug CORE-1775 Bad performance of the security checking during prepare Contributor(s): Vlad Horsun * Fixed bug CORE-1774 Problem with collate ES_ES_CI_AI Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1746 Expression index can be created while doing inserts into table Contributor(s): Vlad Horsun * Fixed bug CORE-1731 Sometimes the engine may "hang" using 100% CPU load and no IO activity for a few minutes Contributor(s): Vlad Horsun * Fixed bug CORE-1726 Failure in isc_service_start() Contributor(s): Alex Peshkov * Fixed bug CORE-1702 Wrong record number calculation in garbage collector thread Contributor(s): Vlad Horsun * Fixed bug CORE-1681 Garbage data in the incoming remote packet may crash the server Contributor(s): Dmitry Yemanov * Fixed bug CORE-1680 "gsec display" only shows some first users when there are many users (>50) in security database Contributor(s): Alex Peshkov * Fixed bug CORE-1679 Garbage bytes in isc_service_query() output Contributor(s): Alex Peshkov * Fixed bug CORE-1674 Wrong access rights in doc subdirectory Contributor(s): Alex Peshkov * Fixed bug CORE-1657 AV with long inactive read-only read-commited transaction Contributor(s): Alex Peshkov * Fixed bug CORE-1644 Compilation error on GCC 4.1.1 Contributor(s): Alex Peshkov * Fixed bug CORE-1610 Full shutdown causes database corruption if it happens when SuperServer is running a query modifying data Contributor(s): Dmitry Yemanov * Fixed bug CORE-1603 Possible buffer overflow with long user name Contributor(s): Alex Peshkov * Fixed bug CORE-1579 Corrupt BLOB in UDF if followed by a char* that is a timestamp Contributor(s): Alex Peshkov * Fixed bug CORE-1572 Error "multiple rows in singleton select" not reported in a view Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1549 Subquery-based predicates are not evaluated early in the join order Contributor(s): Dmitry Yemanov * Fixed bug CORE-1533 JOIN on first record of ordered derived table returns wrong record Contributor(s): Dmitry Yemanov * Fixed bug CORE-1501 Wrong access to SLONG data in dsql_nod Contributor(s): Alex Peshkov * Fixed bug CORE-1500 Data in EXECUTE STATEMENT internal buffer is not aligned correctly Contributor(s): Alex Peshkov * Fixed bug CORE-1499 Wrong alignment of data, used in INTL converters Contributor(s): Alex Peshkov * Fixed bug CORE-1484 AV in fbintl Contributor(s): Alex Peshkov * Fixed bug CORE-1481 GFIX may report false errors when using in-memory metadata Contributor(s): Vlad Horsun * Fixed bug CORE-1476 Forced writes do not work on Linux Contributor(s): Alex Peshkov * Fixed bug CORE-1470 Server crashes with secondary file name > 127 characters Contributor(s): Claudio Valderrama * Fixed bug CORE-1462 Server crash caused by a buffer overrun in the optimizer when more than 255 relation references exist in the query Contributor(s): Dmitry Yemanov * Fixed bug CORE-1460 Server crashes when client registers its interest in events being connected via Named Pipes Contributor(s): Dmitry Yemanov * Fixed bug CORE-1457 Server crashes attempting to deliver events for the just disconnected session Contributor(s): Vlad Horsun * Fixed bug CORE-1456 Wrong events delivery in the case of concurrent XNET connections Contributor(s): Vlad Horsun * Fixed bug CORE-1455 Crash in fbclient after unsuccessful user management API call Contributor(s): Alex Peshkov * Fixed bug CORE-1452 Client library crashes when attempting to process an event received just prior to disconnection Contributor(s): Dmitry Yemanov * Fixed bug CORE-1447 Buffer overrun when querying for database info on very long path through isc_database_info() API call Contributor(s): Claudio Valderrama * Fixed bug CORE-1442 fbclient.dll / gds32.dll : readonly database files on isc_attach_database (error code 0 instead of 335544727) Contributor(s): Dmitry Yemanov * Fixed bug CORE-1421 SuperServer can't shutdown immediately after shutdown request after failed login attempt Contributor(s): Alex Peshkov * Fixed bug CORE-1419 Wrong current timestamp evaluation for selectable procedures Contributor(s): Dmitry Yemanov * Fixed bug CORE-1199 Firebird SS: internal gds software consistency check (CCH_precedence: block marked (212), file: cch.cpp line: 3640) Contributor(s): Vlad Horsun * Fixed bug CORE-1194 Fbclient access violation when handling fbserver shutdown Contributor(s): Dmitry Yemanov * Fixed bug CORE-881 Singleton isn't respected in COMPUTED BY expressions Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-100 Access Violation in fcblient.dll v1.5.3 on disconnecting Contributor(s): Dmitry Yemanov ************************** * v2.0.3 ************************** * Fixed bug CORE-1434 Incorrect result with EXECUTE STATEMENT and VARCHAR columns Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1418 Races when starting and quickly shutting down blocking AST thread Contributor(s): Alex Peshkov * Solaris port Contributor(s): Paul Beach Alex Peshkov ************************** * v2.0.2 ************************** * Fixed bug CORE-1405 Vulnerability in attach/create database when filename exceeds MAX_PATH_LEN Contributor(s): Alex Peshkov * Fixed bug CORE-1403 Server crashes if a few events are being registered simultaneously by the client connected via XNET Contributor(s): Dmitry Yemanov * Fixed bug CORE-1400 GSTAT doesn't support port number in connection string Contributor(s): Dmitry Yemanov * Fixed bug CORE-1399 GSTAT does not use RemoteServicePort option in firebird.conf Contributor(s): Dmitry Yemanov * Fixed bug CORE-1398 GSTAT: 'localhost' is case-sensitive in Windows Contributor(s): Dmitry Yemanov * Fixed bug CORE-1397 Possible vulnerability in the remote server Contributor(s): Vlad Horsun * Fixed bug CORE-1380 IO errors after changing FW on already attached database Contributor(s): Vlad Horsun * Fixed bug CORE-1371 Execute block fails within execute statement Contributor(s): Alex Peshkov * Fixed bug CORE-1349 Remote interface doesn't check (in REM_receive and REM_fetch calls) the client's supplied message length against the length of message's format Contributor(s): Vlad Horsun * Fixed bug CORE-1347 Unexpected "cannot transliterate" error Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1331 Charset transliterations don't work with EXECUTE STATEMENT Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1328 Unexpected end of input when running gfix in dialog Contributor(s): Alex Peshkov * Fixed bug CORE-1312 A remote attacker can check, if a file is present in the system, running firebird server Contributor(s): Alex Peshkov * Fixed bug CORE-1303 Infinite loop in SS remote listener Contributor(s): Alex Peshkov * Fixed bug CORE-1302 Races during service startup Contributor(s): Alex Peshkov * Fixed bug CORE-1300 Lower level index pages is missed from parent page Contributor(s): Vlad Horsun * Fixed bug CORE-1299 Wrong index entries order at non-leaf b-tree pages Contributor(s): Vlad Horsun * Fixed bug CORE-1298 BTR\garbage_collect code can make a deadlock in a page cache Contributor(s): Vlad Horsun * Fixed bug CORE-1292 Can't create table using long username and UTF8 as attachment charset Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1286 Bug with COMPUTED BY fields Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1279 Incorrect initialization of the engine with many simultaneous attachments at first time Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1276 Sometime INET error reported as 0 in firebird.log instead of real error code Contributor(s): Vlad Horsun * Fixed bug CORE-1265 Database detach deallocates the memory used by an active critical section Contributor(s): Dmitry Yemanov * Fixed bug CORE-1249 Full shutdown mode doesn't work on Classic if there are other connections to the database Contributor(s): Dmitry Yemanov * Fixed bug CORE-1248 Incorrect timestamp arithmetic when one of operands is negative number Contributor(s): Vlad Horsun * Fixed bug CORE-1247 Blobs garbage collector removes wrong blob if going blob descriptor contains 0:0 (NULL value) but field's NULL flag is not set Contributor(s): Vlad Horsun * Fixed bug CORE-1240 Any task, using libfbclient, hangs on exit (Darwin PPC) Contributor(s): Alex Peshkov * Fixed bug CORE-1223 Wrong message in firebird.log on Open SuSe Linux 10.2: "Open file limit increased from 1024 to 0" Contributor(s): Vlad Horsun * Fixed bug CORE-1207 FB Embedded requires extra OS privileges Contributor(s): Vlad Horsun * Fixed bug CORE-1205 v2.1 GBAK crashes the v2.0.x server when attempting to backup a database Contributor(s): Dmitry Yemanov Claudio Valderrama * Fixed bug CORE-1203 Performance issue with some queries on Linux 32 bits Contributor(s): Alex Peshkov * Fixed bug CORE-1183 View cannot be created if its WHERE clause contains IN with a procedure reference Contributor(s): Dmitry Yemanov * Fixed bug CORE-1156 Prepare fails when having a parameter in a DSQL statement before a sub query Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1153 Activating index change "STARTING" working as "LIKE" in join condition Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1149 DoS attack on server using Services API Contributor(s): Alex Peshkov * Fixed bug CORE-1145 Server locks up while attempting to commit a deletion of an expression index Contributor(s): Dmitry Yemanov * Fixed bug CORE-1142 Cannot alter generator's comment to the same value Contributor(s): Claudio Valderrama * Fixed bug CORE-984 fbclient.dll changes the security descriptor of the calling process Contributor(s): Dmitry Yemanov Vlad Horsun * Fixed bug CORE-968 Lost connection with Firebird server Contributor(s): Alex Peshkov * Fixed bug CORE-900 Deadlock when attaching simultaneously with services and standard APIs Contributor(s): Alex Peshkov * Improvement CORE-1148 Regular users are prevented from retrieving the server log using Services API. This is now allowed for SYSDBA only. Contributor(s): Alex Peshkov * MacOS Firebird Classic Intel Port Contributor(s): Paul Beach ************************** * v2.0.1 ************************** * Improvement CORE-1071 Background garbage collector doesn't need to read backversions of the active record Contributor(s): Vlad Horsun * Improvement CORE-1047 Add support for Gentoo/FreeBSD detection Contributor(s): Alex Peshkov * Improvement CORE-1012 IBO problems with FB >= 1.5.3 "Error with joins and auto-generated search query" Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1140 Server crashes when performing GC during index creation (related to existence of expression indices on the same table) Contributor(s): Dmitry Yemanov * Fixed bug CORE-1139 NBackup doesn't delete the delta file after successful backup on Win32 CS Contributor(s): Dmitry Yemanov * Fixed bug CORE-1136 NBackup cannot backup a recently created database Contributor(s): Dmitry Yemanov * Fixed bug CORE-1133 XNET (IPC) communication protocol does not work across sessions Contributor(s): Vlad Horsun * Fixed bug CORE-1130 Bad optimization: left join (or ) Contributor(s): Dmitry Yemanov * Fixed bug CORE-1127 Circular index references in corrupt database causes fbserver to loop infinitely Contributor(s): Diane Downie Vlad Horsun * Fixed bug CORE-1126 UNION vs UTF8 literals: arithmetic exception is thrown Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1124 NBackup doesn't work in the interactive mode on Windows Contributor(s): Dmitry Yemanov * Fixed bug CORE-1121 NBackup: Page-level deadlock (bugcheck 215) when attempting to lock/backup a database under load Contributor(s): Dmitry Yemanov George Sergeev * Fixed bug CORE-1110 isc_get_client_xxx_version not fully compatible with IB's gds32.dll Contributor(s): Vlad Horsun * Fixed bug CORE-1104 Linux install fails when x0rfbserver program is running Contributor(s): Alex Peshkov * Fixed bug CORE-1094 isc_dsql_sql_info() returns unordered SQLVAR descriptors Contributor(s): Dmitry Yemanov * Fixed bug CORE-1080 Bugcheck 167 (invalid SEND request) in SS when many parallel attachments begin to execute trigger not loaded into metadata cache Contributor(s): Vlad Horsun * Fixed bug CORE-1068 ISQL doesn't print not-nullable blobs Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1064 Wrong backup order for character sets and collations Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1063 Server hangs eating CPU and performs huge I/O copying different codepage fields Contributor(s): Vlad Horsun * Fixed bug CORE-1059 Remote Linux Classic crash Contributor(s): Alex Peshkov * Fixed bug CORE-1057 GSEC hiding error - CryptAcquireContext Contributor(s): Alex Peshkov Adriano dos Santos Fernandes * Fixed bug CORE-1055 Wrong parameter matching for self-referenced procedures Contributor(s): Dmitry Yemanov * Fixed bug CORE-1053 Invalid results in SELECT, when index is used to evaluate "greater" operator in WHERE clause Contributor(s): Alex Peshkov Arno Brinkman Vlad Horsun * Fixed bug CORE-1051 Possible stack corruption in DFW\check_dependencies Contributor(s): Vlad Horsun * Fixed bug CORE-1046 Core dump in CVT_move Contributor(s): Dmitry Yemanov * Fixed bug CORE-1040 Wrong single-segment ascending index on character field with NULL and empty string values Contributor(s): Vlad Horsun Arno Brinkman * Fixed bug CORE-1037 Command-line for Installation of SuperServer Component is not working Contributor(s): Paul Reeves * Fixed bug CORE-1033 LIKE clause doesn't work for computed values (at least in a view) Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-1029 Bad plan in outer joins with IS NULL clauses (dependent on order of predicates) Contributor(s): Dmitry Yemanov * Fixed bug CORE-1025 Server crashes at runtime when an explicit MERGE plan is specified over a few JOIN ones Contributor(s): Dmitry Yemanov * Fixed bug CORE-1020 Command-line switch /silent or /verysilent does not install the guardian Contributor(s): Paul Reeves * Fixed bug CORE-1017 Service attachments (over presumably Xnet) fail when Classic started with -x -i parameters Contributor(s): Dmitry Yemanov * Fixed bug CORE-1016 UdfAccess check is performed after loading the library and executing its startup code Contributor(s): Alex Peshkov * Fixed bug CORE-1011 Server crashes when being connected to via InterBase gds32.dll Contributor(s): Alex Peshkov Dmitry Yemanov * Fixed bug CORE-1010 Server crashes if DDL statement execution raises an error Contributor(s): Dmitry Yemanov * Fixed bug CORE-1006 AV at rollback and/or garbage collection if updated table has expression index with SELECT in it Contributor(s): Vlad Horsun * Fixed bug CORE-1005 DISTINCT vs NULLS LAST clause: wrong order of NULLs Contributor(s): Dmitry Yemanov * Fixed bug CORE-1004 Context already in use (BLR error) Contributor(s): Dmitry Yemanov * Fixed bug CORE-997 Database Update 1.5 to 2.0 fails Contributor(s): Adriano dos Santos Fernandes * Fixed bug CORE-988 FB SuperServer 32bit old threading, regularly restarts "fbserver terminated abnormally (-1)" Contributor(s): Alex Peshkov * Fixed bug CORE-984 fbclient.dll changes the security descriptor of the calling process Contributor(s): Dmitry Yemanov * Fixed bug CORE-982 Error reading data from the connection Contributor(s): Alex Peshkov * Fixed bug CORE-966 Bug in socket binding for database events Contributor(s): Paul Beach * Fixed bug CORE-959 GSTAT does not work using the localhost connection string Contributor(s): Dmitry Yemanov * Fixed bug CORE-952 AV when blob is used in expression index Contributor(s): Vlad Horsun * Fixed bug CORE-944 FB2 RC4 Linux Classic server crashes Contributor(s): Alex Peshkov * Fixed bug CORE-943 Incorrect shutdown, when database is in the phisical backup mode Contributor(s): Dmitry Yemanov * Fixed bug CORE-888 DDL - object in use Contributor(s): Dmitry Yemanov ************************** * v2.0 Final ************************** * Fixed RC5 bug (CORE-980) NO WAIT is implied instead of WAIT when the host application doesn't provide TPB Contributor(s): Dmitry Yemanov * Fixed RC5 bug Server crashes if being connected via gds32 from latest InterBase versions Contributor(s): Dmitry Yemanov Alex Peshkov ************************** * v2.0 Release Candidate 5 ************************** * Fixed unregistered bug Win32 installer was trying to upgrade an existing Fb 1.5 install. This was the underlying cause of CORE-934 Contributor(s): Paul Reeves * Fixed RC4 bug (CORE-897) Error "no current record to fetch" while execution a query Contributor(s): Arno Brinkman * Fixed RC4 bug (CORE-924) An attempt to select DB_KEY from a procedure crashes the server Contributor(s): Dmitry Yemanov * Fixed RC4 bug (CORE-923) Events (if many ones are registered) not working via the local protocol Contributor(s): Dmitry Yemanov * Fixed bug (CORE-921) Core dump in stored procedure using execute statement Contributor(s): Alex Peshkov * Fixed bug (CORE-911) AV in Classic server after long idle period when using long running read committed readonly transaction Contributor(s): Vlad Horsun * Fixed RC4 bug (CORE-906) Updating table with non-unique index causes unique data violation error Contributor(s): Vlad Horsun * Fixed RC4 bug (CORE-904) Too big use of memory in "prepare" Contributor(s): Vlad Horsun * Fixed bug (CORE-902) Server crashes intermittently when executing DDL/DML statements Contributor(s): Vlad Horsun * Fixed RC4 bug (CORE-898) Two uninitialized variables cause a server crash in alice.cpp / common_main Contributor(s): Vlad Horsun * Fixed RC4 bug (CORE-895) In some rare cases unique index violation is possible. The case is when existing index entry is the last entry on the page and inserted record with the same key have a number less than in existing entry Contributor(s): Vlad Horsun ************************** * v2.0 Release Candidate 4 ************************** * Fixed RC3 bug (CORE-839) Instclient failed to install gds32 over an existing version from V1.5.1 or later Contributor: Paul Reeves * Fixed unregistered bug Service didn't restart correctly on SUSE Linux Contributor(s): Alex Peshkov * Fixed RC3 bug (CORE-855) Aggregates in the WHERE clause vs derived tables Contributor(s): Arno Brinkman * Fixed RC3 bug (CORE-883) The built-in BLR printer (isc_print_blr) doesn't support all FB2 features Contributor(s): Vlad Horsun Dmitry Yemanov * Fixed RC3 bug (CORE-841) Access violation in services API (CORE-841) Contributor(s): Alex Peshkov * Fixed RC3 bug (CORE-879) Dependencies are not cleared when creation of expression index fails Contributor(s): Vlad Horsun * Fixed RC3 bug (CORE-860) Server crashes when attempting to restore a v1.5 backup Contributor(s): Dmitry Yemanov * Fixed RC3 bug (CORE-858) Server crash when using UDF in PSQL Contributor(s): Claudio Valderrama * Fixed RC3 bug (CORE-857) CONTAINING not working correctly Contributor(s): Adriano dos Santos Fernandes * Fixed RC3 bug (CORE-852) substring(current_user from 4) without "for" fails Contributor(s): Adriano dos Santos Fernandes ************************** * v2.0 Release Candidate 3 ************************** * Fixed RC2 bug GSTAT and NBAK should not require firebird.conf on Win32 Contributor(s): Dmitry Yemanov * Added new collation ES_ES_CI_AI (case- and accent-insensitive) for ISO8859_1 charset (Spanish language) Contributor(s): Adriano dos Santos Fernandes * Fixed unregistered bug Server crashes with complex joins or derived tables and grouping Contributor(s): George Sergeev * Fixed RC2 bug Server lockup when an exception occurs during expression index evaluation Contributor(s): Vlad Horsun * Fixed RC2 bug STARTS WITH not working properly on an indexed column with charset UTF8 Contributor(s): Adriano dos Santos Fernandes * Fixed unregistered bug TCP buffer size bigger than 32K cannot be processed correctly Contributor(s): Alex Peshkov * Fixed unregistered bug NoNagle option for TCP sockets doesn't work properly Contributor(s): Fred Polizo Alex Peshkov * Fixed RC2 bug Views WITH CHECK OPTION cannot be restored Contributor(s): Dmitry Yemanov * Fixed RC2 bug Server occasionally crashes when explicit plans present in procedures Contributor(s): Dmitry Yemanov * Fixed RC2 bug NBACKUP utility was missing in the Linux SS packages Contributor(s): Alex Peshkov * Fixed RC2 bug Suboptimal execution path is chosen if an explicit plan presents for a complex inner join Contributor(s): Dmitry Yemanov * Fixed RC2 bug Expression: '' CONTAINING '' wrongly returned FALSE Contributor(s): Adriano dos Santos Fernandes * Fixed RC2 bug Wrong results for ALL predicates in the ODS11 optimizer Contributor(s): Dmitry Yemanov * Fixed RC2 bug Wrong decoding of the SPB tags Contributor(s): Alex Peshkov ************************** * v2.0 Release Candidate 2 ************************** * Fixed RC1 bug SuperServer performs slower than v1.5 on SMP machines Contributor(s): Arno Brinkman * Fixed RC1 bug Domain level CHECK constraints don't allow NULL values Contributor(s): Dmitry Yemanov * Fixed RC1 bug Embedded server cannot connect via TCP, error "connection rejected by remote interface" Contributor(s): Vlad Horsun * Fixed RC1 bug Error "operating system directive ReleaseSemaphore failed" under heavy concurrent load Contributor(s): Christian Barheine Dmitry Yemanov * Fixed RC1 bug The INTL library (fbintl) cannot be loaded on some Windows distributions Contributor(s): Dmitry Yemanov * Configuration file change Option CreateInternalWindow is no longer required to run a few server instances and it has been removed Contributor(s): Dmitry Yemanov * Fixed RC1 bug MERGE plan is used for related streams, causing "no current record" error Contributor(s): Arno Brinkman * Fixed unregistered bug Index data corruption under heavy concurrent load Contributor(s): Vlad Horsun * Fixed unregistered bug AV when configured to use big (about 32K) TCP packets Contributor(s): Claudio Valderrama Alex Peshkov * Added new collation ISO_PLK for ISO8859_2 charset (Polish language) Contributor(s): Jaroslaw Glowacki Adriano dos Santos Fernandes * Fixed RC1 bug SHOW GENERATORS doesn't work in ISQL Contributor(s): Adriano dos Santos Fernandes * Fixed SF #1466193 Semaphore array`s permissions in fb_lock_mgr were 0666 - i.e. anyone could lock them and block all future queries Contributor(s): Alex Peshkov * Fixed unregistered bug 2.0 regression - install of SuperServer over existing Classic was broken Contributor(s): Alex Peshkov * Fixed SF #1456002 2.0 regression - gsec illegally reported error on attempt to use long (>8 characters) password Contributor(s): Alex Peshkov * Fixed SF #1011401 start/stop script broke halt/reboot on slackware Contributor(s): Alex Peshkov * Fixed unregistered bug 2.0 regression - SuperServer startup script stopped all 'fbserver' processes, being specially dangerous in case of running both 2.0 and 1.5 on the same box Contributor(s): Alex Peshkov * Fixed unregistered bug fbguard did not detach from controlling terminal Contributor(s): Alex Peshkov * Fixed unregistered bug 2.0 regression - SuperServer did not shutdown properly due to unhandled exception in semaphore destructor Contributor(s): Alex Peshkov * Fixed RC1 bug Set up the permissions for NBAK delta files properly to avoid server lockups Contributor(s): Alex Peshkov * Fixed unregistered bug Error "invalid transaction handle" when calling isc_array_lookup_bounds() from multiple threads Contributor(s): Dmitry Yemanov * Fixed unregistered bug Allow NO_NAGLE and KEEPALIVE socket options for CS builds Contributor(s): Dmitry Yemanov * Fixed RC1 bug Some integer operations delivered double precision result in Dialect 1 Contributor(s): Dmitry Yemanov * Fixed RC1 bug Big number of buffer pages causes the server fault Contributor(s): Dmitry Yemanov * Fixed RC1 bug Wrong results by PSQL cursors that use a GROUP BY clause Contributor(s): Dmitry Yemanov * Fixed RC1 bug Missing nullability indicator in XSQLDA for EXECUTE BLOCK parameters Contributor(s): Vlad Horsun * Fixed unregistered bug Improperly allowed assignments to columns deleted by a concurrent transaction Contributor(s): Dmitry Yemanov * Fixed RC1 bug Permission checks performed in the wrong order (column level before table level) Contributor(s): Dmitry Yemanov ************************** * v2.0 Release Candidate 1 ************************** * Enhancement Isql now shows the command line parameters and their explanations instead of a simple list of switches when unknown parameters are used. Contributor(s): Michal Kubecek * 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 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 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) 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 Contributor(s): Adriano dos Santos Fernandes * Fixed unregistered bug Indices used in explicit plans inside PSQL could be dropped, thus causing restore issues 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 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