*************************** * v2.1 Release Candidate 1 *************************** * Performance optimizations A number of internal optimizations were done in order to minimize the performance degradation introduced along with the new features Contributor(s): Alex Peshkov * Bugfix CORE-1657 AV with long inactive read-only read-commited transaction Contributor(s): Alex Peshkov * Bugfix CORE-1651 False isc_req_sync error may be reported by fbclient to the client application Contributor(s): Vlad Horsun * Bugfix CORE-1649 AV when recursive query used MERGE JOIN in execution plan Contributor(s): Vlad Horsun * Bugfix CORE-1648 RDB$TYPES doesn't list types for database triggers Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1644 Compilation error on GCC 4.1.1 Contributor(s): Alex Peshkov * Bugfix CORE-1642 Non-privileged monitoring reports wrong attachment data Contributor(s): Dmitry Yemanov * Bugfix CORE-1641 CREATE TRIGGER causes two trigger object copies to exist in the metadata cache Contributor(s): Dmitry Yemanov * Bugfix CORE-1637 Problem in GSEC Contributor(s): Alex Peshkov * Bugfix CORE-1624 MERGE works incorrectly with parameters in MATCHING clause Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1610 Full shutdown causes database corruption if it happens when SuperServer is running a query modifying data Contributor(s): Dmitry Yemanov * Bugfix CORE-1603 Possible buffer overflow with long user name Contributor(s): Alex Peshkov * Bugfix CORE-1602 Domain admins are not mapped to SYSDBA by the trusted authentication Contributor(s): Dmitry Yemanov * Bugfix CORE-1601 Server crashes inside the page validation routine Contributor(s): Dmitry Yemanov * Bugfix CORE-1597 GLOBAL TEMPORARY TABLEs allowed to be created in ODS less than 11.1 Contributor(s): Vlad Horsun * Bugfix CORE-1594 Bug in CsConvert::convert() Contributor(s): Adriano dos Santos Fernandes Dmitry Kovalenko * Bugfix CORE-1593 Full domain user name can be longer than 31 char(for trusted authentication) Contributor(s): Alex Peshkov * Bugfix CORE-1589 Start-stop script for SuperServer on Linux does not always stop service Contributor(s): Alex Peshkov Emil Totev * Bugfix CORE-1584 Server crashes or bugchecks when inserting into monitoring tables Contributor(s): Vlad Horsun * Bugfix CORE-1582 ABS() rounds NUMERIC values Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1579 Corrupt BLOB in UDF if followed by a char* that is a timestamp Contributor(s): Alex Peshkov * Bugfix CORE-1574 Multi-file database problems Contributor(s): Vlad Horsun * Bugfix CORE-1567 Selecting from MON$STATEMENTS yields an error and an exit() call with Firebird Embedded 2.1 Beta 2 Contributor(s): Dmitry Yemanov * Bugfix CORE-1562 Shutdown does not kill high load query connections Contributor(s): Dmitry Yemanov * Bugfix CORE-1561 select from mon$statements lockup Contributor(s): Dmitry Yemanov * Bugfix CORE-1560 NULLIF crashes when first parameter is constant empty string Contributor(s): Alex Peshkov * Bugfix CORE-1551 AV when all statements are cancelled Contributor(s): Alex Peshkov * Bugfix CORE-1549 Subquery-based predicates are not evaluated early in the join order Contributor(s): Dmitry Yemanov * Bugfix CORE-1548 Incorrect error code in GFIX Contributor(s): Alex Peshkov * Bugfix CORE-1543 Security bug in trusted authentication Contributor(s): Alex Peshkov * Bugfix CORE-1540 Fatal lock manager error restoring backup Contributor(s): Dmitry Yemanov * Bugfix CORE-1539 select * from rdb$triggers where rdb$trigger_source like 'CHECK%' Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1537 NBackup creates difference file in bad place Contributor(s): Alex Peshkov * Bugfix CORE-1533 JOIN on first record of ordered derived table returns wrong record Contributor(s): Dmitry Yemanov * Bugfix CORE-1530 UNION DISTINCT accept BLOB fields Contributor(s): Dmitry Yemanov * Bugfix CORE-1528 Functions DATEDIFF, ABS(integer const) don't work in dialect 1 Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1522 Inconsistent DATEDIFF() behaviour Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1519 AV in isc_dsql_fetch() Contributor(s): Vlad Horsun * Bugfix CORE-1514 Many new 2.1 built-in functions have incorrect NULL semantics Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1510 Bad XSQLVAR [NULL flags] for (2*COALESCE(NULL,NULL)) Contributor(s): Adriano dos Santos Fernandes Dmitry Kovalenko * Bugfix CORE-1509 Conversion from double to varchar inserts trailing spaces Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1501 Wrong access to SLONG data in dsql_nod Contributor(s): Alex Peshkov * Bugfix CORE-1500 Data in EXECUTE STATEMENT internal buffer is not aligned correctly Contributor(s): Alex Peshkov * Bugfix CORE-1493 ISQL doesn't mangle blob filter and udf information with embedded quotes when extracting a script Contributor(s): Claudio Valderrama * Bugfix CORE-1492 BLOB isn't compatible with [VAR]CHAR in COALESCE Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1489 DATEADD works with NULL arguments wrongly Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1481 GFIX may report false errors when using in-memory metadata Contributor(s): Vlad Horsun * Bugfix CORE-1375 Wrong mapping for 0x212C in cs_gb2312.h Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1199 Internal GDS software consistency check (CCH_precedence: block marked (212)) Contributor(s): Vlad Horsun * Bugfix CORE-374 Restore with SPs in 'COMPUTED BY' fields fails Contributor(s): Nickolay Samofatov * Improvement CORE-1623 Improve memory consumption of HASH(blob) Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1581 Support physical backups when database is located on raw device Contributor(s): Alex Peshkov * Improvement CORE-1569 Make the second parameter of the ROUND function optional Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1558 Help people get core files in case of abort() on BUGCHECK Contributor(s): Alex Peshkov * Improvement CORE-1546 Improve random number quality of builtin RAND Contributor(s): Adriano dos Santos Fernandes Nickolay Samofatov * Improvements CORE-1490, CORE-1497 Change keywords used in DATEADD/DATEDIFF functions (expanded syntax) Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-548 Help on Firebird setup command line switches Contributor(s): Paul Reeves * New feature CORE-1625 Implement new setting to relax strict SQL standard's alias checking rules Contributor(s): Vlad Horsun * New feature CORE-1511 POSITION(, [, ]) Contributor(s): Adriano dos Santos Fernandes ************** * v2.1 Beta 2 ************** * Bugfix CORE-1485 AV when loading messages in msg.fdb Contributor(s): Alex Peshkov * Bugfix CORE-1484 AV in fbintl Contributor(s): Alex Peshkov * Bugfix CORE-1476 Forced writes do not work on Linux Contributor(s): Alex Peshkov * Bugfix CORE-1470 Server crashes with secondary file name > 127 characters Contributor(s): Claudio Valderrama * Bugfix CORE-1468 Database corruption possible when database file extension and read\write activity are performed simultaneously Contributor(s): Vlad Horsun * Bugfix CORE-1467 Error 'database shutdown' after canceling statement via MON$STATEMENTS Contributor(s): Dmitry Yemanov * Bugfix CORE-1466 Substring of multi-byte BLOBs can fail Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1465 ISQL ignores explicit constraint name when it's confused with an internal, automatic name Contributor(s): Claudio Valderrama * Bugfix CORE-1457 Server crashes attempting to deliver events for the just disconnected session Contributor(s): Vlad Horsun Dmitry Yemanov * Bugfix CORE-1456 Wrong events delivery in the case of concurrent XNET connections Contributor(s): Vlad Horsun Dmitry Yemanov * Bugfix CORE-1455 Crash in fbclient after unsuccessful user management API call Contributor(s): Alex Peshkov * Bugfix CORE-1452 Client library crashes when attempting to process an event received just prior to disconnection Contributor(s): Dmitry Yemanov Vlad Horsun * Bugfix CORE-1451 Using RDB$DB_KEY in SQL's WHERE section while selecting from a procedure crashes the server Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1447 Buffer overrun when querying for database info on very long path through isc_database_info() API call Contributor(s): Claudio Valderrama * Bugfix CORE-1446 Problem with UNICODE collations from fbintl when using system ICU Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1443 Embedded engine may hang application on exit if no database access was performed Contributor(s): Vlad Horsun * Bugfix CORE-1441 Query cancellation feature cannot interrupt a long fetch Contributor(s): Dmitry Yemanov * Bugfix CORE-1440 Dangerous lack of validation for transaction options Contributor(s): Claudio Valderrama * Bugfix CORE-1436 Outer joins don't work properly with the MON$ tables Contributor(s): Dmitry Yemanov * Bugfix CORE-1434 Incorrect result with EXECUTE STATEMENT and VARCHAR columns Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1431 Greek characters in cp1251 vs uppercasing Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1430 Access Violation in fbclient.dll if statement prepared and executed right after events was registered Contributor(s): Vlad Horsun * Bugfix CORE-1428 Incorrect timestamp substraction in 3 dialect when result is negative number Contributor(s): Vlad Horsun * Bugfix CORE-1419 Wrong current timestamp evaluation for selectable procedures Contributor(s): Dmitry Yemanov * Bugfix CORE-1418 Races when starting and quickly shutting down blocking AST thread Contributor(s): Alex Peshkov * Bugfix CORE-1417 Error "Invalid BLOB ID" in IBX insert operation Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1416 Incorrect transaction params order in TPB is accepted without returning an error Contributor(s): Claudio Valderrama * Bugfix CORE-1408 UDF names using reserved words are extracted without double quotes Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1403 Server crashes if a few events are being registered simultaneously by the client connected via XNET Contributor(s): Dmitry Yemanov * Bugfix CORE-1401 Global temporary table instance may pick up not all indices Contributor(s): Vlad Horsun * Bugfix CORE-1400 GSTAT doesn't support port number in connection string Contributor(s): Dmitry Yemanov * Bugfix CORE-1399 GSTAT does not use RemoteServicePort option in firebird.conf Contributor(s): Dmitry Yemanov * Bugfix CORE-1398 GSTAT: 'localhost' is case-sensitive in Windows Contributor(s): Dmitry Yemanov * Bugfix CORE-1397 Possible vulnerability in the remote server Contributor(s): Vlad Horsun * Bugfix CORE-1395 Few problems with domains's check constraints Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1388 Cannot attach to remote service manager if remote engine version is less than 2.0 Contributor(s): Vlad Horsun * Bugfix CORE-1384 LIKE doesn't work correctly with collations using SPECIALS-FIRST=1 Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1380 I/O errors after changing FW for the already attached database Contributor(s): Vlad Horsun * Bugfix CORE-1379 Invalid parameter type when using it in CHAR_LENGTH function Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1378 Domain names and charset issues Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1373 Incorrect result of recursive CTE query when recursive member's SELECT list contains expression using self-referenced fields Contributor(s): Vlad Horsun * Bugfix CORE-1372 isc_dsql_fetch() called after isc_commit_transaction() doesn't raise an error Contributor(s): Vlad Horsun * Bugfix CORE-1371 Execute block fails within execute statement Contributor(s): Alex Peshkov * Bugfix CORE-1370 Memory leak when using CTE within procedure Contributor(s): Vlad Horsun * Bugfix CORE-1369 Downgrade from ODS11.1 misses default values of procedure parameters Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1361 Index operations for global temporary tables are not visible for the active connection Contributor(s): Vlad Horsun * Bugfix CORE-1359 Server crashes at the first operation with the monitoring tables if the file system lacks the necessary permissions for the shared-memory file Contributor(s): Dmitry Yemanov * Bugfix CORE-1358 Operations with MON$STATEMENTS throw "cannot transliterate" error Contributor(s): Dmitry Yemanov * Bugfix CORE-1349 Remote interface doesn't validate the client supplied message length against the message format length Contributor(s): Vlad Horsun * Bugfix CORE-1347 Unexpected "cannot transliterate" error Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1344 Error "request depth exceeded" when restoring complex metadata Contributor(s): Dmitry Yemanov * Bugfix CORE-1339 Metadata charset upgrade script generates garbage in descriptions Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1338 Error 335544721 when selecting view with round Contributor(s): Dmitry Yemanov * Bugfix CORE-1334 Joins with NULL RDB$DB_KEY crash the server Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1332 Put the connection charset in sqlscale of blobs when appropriate Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1331 Charset transliterations don't work with EXECUTE STATEMENT Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1330 Double semaphore locking when query the monitoring tables during long fetches Contributor(s): Dmitry Yemanov * Bugfix CORE-1312 A remote attacker can check, if a file is present in the system, running firebird server Contributor(s): Alex Peshkov * Bugfix CORE-1261 ISQL ignore index and ordering in UNIQUE CONSTRAINT for generate metadate script Contributor(s): Claudio Valderrama * Improvement CORE-1389 Indexed MIN/MAX aggregates produce three index reads instead of the expected one indexed read Contributor(s): Dmitry Yemanov * Improvement CORE-1387 Add MILLISECONDS handling to EXTRACT, DATEADD and DATEDIFF functions Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1386 Generated columns Contributor(s): Dmitry Yemanov * Improvement CORE-1340 Add a scale parameter to the TRUNC function Contributor(s): Adriano dos Santos Fernandes * New feature CORE-1381, CORE-1480 Allow Firebird to bypass filesystem cache for database files Contributor(s): Vlad Horsun * New feature CORE-1366 French insensitive collation FR_FR_CI_AI Contributor(s): Adriano dos Santos Fernandes * New feature CORE-1324 Japanese character set CP943C Contributor(s): Adriano dos Santos Fernandes * New feature CORE-663 EXTRACT(WEEK FROM DATE) Contributor(s): Adriano dos Santos Fernandes ************** * v2.1 Beta 1 ************** * Bugfix CORE-1318 Error "Identifier ... is too long using multiple (nested) derived tables Contributor(s): Alex Peshkov Adriano dos Santos Fernandes * Bugfix CORE-1315 Data type unknown Contributor(s): Adriano dos Santos Fernandes Vlad Horsun * Bugfix CORE-1306 Indices not used for views Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1303 Infinite loop in SS remote listener Contributor(s): Vlad Horsun * Bugfix CORE-1300 Lower level index pages is missed from parent page Contributor(s): Vlad Horsun * Bugfix CORE-1299 Wrong index entries order at non-leaf b-tree pages Contributor(s): Vlad Horsun * Bugfix CORE-1298 BTR\garbage_collect code can make a deadlock in a page cache Contributor(s): Vlad Horsun * Bugfix CORE-1292 Can't create table using long username and UTF8 as attachment charset Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1291 Can't transliterate character set when look at procedure text in database just created from script (and thus in ODS 11.1) Contributor(s): Vlad Horsun * Bugfix CORE-1286 Bug with COMPUTED BY fields Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1276 Sometime INET error reported as 0 in firebird.log instead of real error code Contributor(s): Vlad Horsun * Bugfix CORE-1271 Creation of invalid procedures/triggers allowed Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1267 Small bug with default value for domains in PSQL Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1256 Table columns hide destination variables of RETURNING INTO Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1253 LIST(DISTINCT) concatenate VARCHAR values as CHAR Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1249 Full shutdown mode doesn't work on Classic if there are other connections to the database Contributor(s): Dmitry Yemanov * Bugfix CORE-1248 Incorrect timestamp arithmetics when one of the operands is negative number Contributor(s): Vlad Horsun * Bugfix CORE-1244 Server crash on "select * from " Contributor(s): Adriano dos Santos Fernandes Vlad Horsun * Bugfix CORE-1240 Any task, using libfbclient, hangs on exit (Darwin PPC) Contributor(s): Alex Peshkov * Bugfix CORE-1237 GBAK does not create backup in service_mgr mode if there is no space on disk, no error reported Contributor(s): Alex Peshkov * Bugfix CORE-1228 Database often became corrupted after an out of disk space condition Contributor(s): Vlad Horsun * Bugfix CORE-1227 LIST() function seems not work if used twice or more in a query Contributor(s): Adriano dos Santos Fernandes * Bugfix 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 * Bugfix CORE-1218 isc_dsql_info(isc_info_sql_stmt_type) doesn't set isc_info_end at the end of the passed user's buffer Contributor(s): Vlad Horsun * Bugfix CORE-1215 Wrong SELECT query results using index to evaluate >= condition Contributor(s): Vlad Horsun * Bugfix CORE-1207 FB embedded requires extra OS privileges Contributor(s): Vlad Horsun * Bugfix CORE-1205 v2.1 GBAK crashes the v2.0.x server when attempting to backup a database Contributor(s): Dmitry Yemanov Claudio Valderrama * Bugfix CORE-1196 Long SQL statements break TCP/IP connection Contributor(s): Vlad Horsun Alex Peshkov Dmitry Yemanov * Bugfix CORE-1183 View cannot be created if its WHERE clause contains IN with a procedure reference Contributor(s): Dmitry Yemanov * Bugfix CORE-1175 Error "Data type unknown" when any UDF argument is a built-in function containing a DSQL parameter reference Contributor(s): Dmitry Yemanov * Bugfix CORE-1174 GBAK restores NULL rdb$description in rdb$functions as blob (0, 0) Contributor(s): Claudio Valderrama * Bugfix CORE-1167 CHARACTER SET GBK is not installed Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1165 WHEN tracks only the dependency on the first exception in PSQL Contributor(s): Claudio Valderrama * Bugfix CORE-1162 Problem altering numeric field type Contributor(s): Claudio Valderrama * Bugfix CORE-1153 Activating index change "STARTING" working as "LIKE" in join condition Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1151 Error "database file not available" when running NBackup Contributor(s): Nickolay Samofatov * Bugfix CORE-981 x86_64 RPM package missing "provides" Contributor(s): Alex Peshkov * Bugfix CORE-949 Restore with UDF in 'COMPUTED BY' fields fails Contributor(s): Dimitry Sibiryakov * Bugfix CORE-885 It is impossible to take away rights on update of a column Contributor(s): Alex Peshkov * Bugfix CORE-856 Unable to set FName, MName, LName fields in the security database to blank Contributor(s): Alex Peshkov * Bugfix CORE-703 Using DEL-Key in isql under Linux gives "~" Contributor(s): Alex Peshkov * Bugfix CORE-132 Restore fails on external table Contributor(s): Vlad Horsun * Bugfix CORE-107 Instance of fb_lock_mgr runs after build Contributor(s): Alex Peshkov * Improvement CORE-1280 Verify well-formedness of text blobs Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1277 Automatic transliteration of text blobs Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1232 Wrong behaviour of services manager during backup/restore operations Contributor(s): Alex Peshkov * Improvement CORE-1229 Allocate disk space by more than one page at a time Contributor(s): Vlad Horsun * Improvement CORE-1226 Allow RETURNING in INSERT...SELECT, UPDATE and DELETE See also: /doc/README.returning Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1213 CURRENT OF is now allowed for views Contributor(s): Dmitry Yemanov * Improvement CORE-1179 "CH" and "LL" are not separate spanish alphabet letters since 1994 Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1178 Standarize ES_ES_CI_AI collation Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1170 Conversion of DDL source from client charset to metadata charset Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-1169 Conversion of temporary blobs to the destination blob type when materializing Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-961 Free external tables as soon as they're no longer in use by user requests Contributor(s): Vlad Horsun * Improvement CORE-867 GBAK should change param0 to not show username/password in ps axf Contributor(s): Alex Peshkov * Improvement CORE-787 Optionally disable non-SYSDBA use of Services API Contributor(s): Alex Peshkov * Feature CORE-1235 NATURAL JOIN and JOIN...USING See also: /doc/README.joins.txt Contributor(s): Adriano dos Santos Fernandes * Added a wide set of new built-in functions ABS, ACOS, ASCII_CHAR, ASCII_VAL, ASIN, ATAN, ATAN2, BIN_AND, BIN_OR, BIN_SHL, BIN_SHR, BIN_XOR, CEIL, COS, COSH, COT, DATEADD, DATEDIFF, DECODE, EXP, FLOOR, GEN_UUID, HASH, LEFT, LN, LOG, LOG10, LPAD, MAXVALUE, MINVALUE, MOD, OVERLAY, PI, POSITION, POWER, RAND, REPLACE, REVERSE, RIGHT, ROUND, RPAD, SIGN, SIN, SINH, SQRT, TAN, TANH, TRUNC See also: /doc/README.builtin_functions.txt Contributor(s): Adriano dos Santos Fernandes Oleg Loa Alexey Karyakin ************** * v2.1 Alpha 1 ************** * Bugfix CORE-1149 DoS attack on server using services API Contributor(s): Alex Peshkov * Bugfix CORE-1145 Server locks up while attempting to commit a deletion of an expression index Contributor(s): Dmitry Yemanov * Bugfix CORE-1142 Cannot alter generator's comment to the same value Contributor(s): Claudio Valderrama * Bugfix CORE-1120 Conversion from string to number is not standard compliant Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1112 Crash when dealing with a string literal longer than 32K Contributor(s): Dmitry Yemanov * Bugfix CORE-1098 Races in cch.cpp, leading to AV during cache_writer startup Contributor(s): Alex Peshkov * Bugfix CORE-1073 SINGULAR buggy when NULLs present Contributor(s): Dmitry Yemanov * Bugfix CORE-1058 ALTER DOMAIN and ALTER TABLE don't allow to change character set Contributor(s): Dmitry Yemanov * Bugfix CORE-1056 A query could produce different results, depending on the presence of an index Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-1039 Memory statistics does not include the buffer cache size Contributor(s): Dmitry Yemanov * Bugfix CORE-1031 fb_lock_print.exe fails on Windows 2003 R2 / XP SP2 Contributor(s): Vlad Horsun * Bugfix CORE-1009 Restoring RDB$BASE_FIELD for expression Contributor(s): Claudio Valderrama * Bugfix CORE-995 SELECT with FIRST and LEFT JOIN needs excess SORT in plan Contributor(s): Dmitry Yemanov * Bugfix CORE-986 Non-ASCII quoted identifiers are not converted to metadata (UNICODE_FSS) charset Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-968 Lost connection with Firebird Server Contributor(s): Alex Peshkov * 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-954 Server crashes while grouping by PSQL variable 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 Claudio Valderrama * Bugfix CORE-929 Bug in a DSQL parameter being casted and used in arithmetics Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-925 ALL predicate works incorrectly for some subqueries Contributor(s): Dmitry Yemanov * Bugfix CORE-908 Garbage in plan output of complex statement Contributor(s): Vlad Horsun * Bugfix CORE-900 Deadlock when attaching simultaneously with services and standard APIs Contributor(s): Alex Peshkov * 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 doesn't return NULL Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-881 Singleton is not respected in COMPUTED BY expressions Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-880 Malformed characters are accepted in character set GB2312 Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-878 Problem when dropping column that is a primary key Contributor(s): Dmitry Yemanov * Bugfix CORE-871 Incorrect handling of NULL within views - returns 0 Contributor(s): Claudio Valderrama * Bugfix CORE-870 Engine crashes while trying to backup a logically corrupt database Contributor(s): Claudio Valderrama * Bugfix CORE-866 Removing a NOT NULL constraint is not visible until reconnect Contributor(s): Dmitry Yemanov * Bugfix CORE-859 Sorting is allowed for blobs Contributor(s): Dmitry Yemanov * Bugfix CORE-851 Field can be used multiple times in multi-segment index definition Contributor(s): Claudio Valderrama * Bugfix CORE-850 DYN layer allows to set defaults for computed fields when altering a field Contributor(s): Claudio Valderrama * Bugfix CORE-847 Computed field cannot be changed to non-computed using ALTER TABLE ALTER COLUMN TYPE Contributor(s): Claudio Valderrama * Bugfix CORE-842 Specific query crashing the server Contributor(s): Dmitry Yemanov * Bugfix CORE-833 Connection issues with very long hostname Contributor(s): Dmitry Yemanov * Bugfix CORE-347 Input of invalid dates through DSQL parameters Contributor(s): Dmitry Yemanov * Bugfix CORE-202 ORDER BY works wrong with collate PT_PT Contributor(s): Adriano dos Santos Fernandes * Bugfix CORE-200 Empty column names with aggregate functions Contributor(s): Claudio Valderrama * Bugfix CORE-152 Sqlsubtype incorrect on timestamp difference 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-91 Recreate and self-referencing indexes Contributor(s): Dmitry Yemanov * Bugfix CORE-87 Bug in libfbclient under Linux with SA_SIGINFO Contributor(s): Alex Peshkov * Bugfixes CORE-86, CORE-88 and CORE-99 Select/join on different datatypes produces undesired results Contributor(s): Dmitry Yemanov * Bugfix CORE-84 NBACKUP and security Contributor(s): Alex Peshkov * QLI crash (unregistered) Fix problem with QLI where a crash occurs using the following SQL: INSERT INTO relationx SELECT * FROM relationy Contributor(s): Paul Beach (pbeach at ibphoenix.com) * More dependencies (unregistered) Fixed untracked collation dependencies in PSQL Contributor(s): Adriano dos Santos Fernandes * Security fix (unregistered) Tricky paths can allow a directory traversal attack bypassing config file settings for DB creation dir, for example. Contributor(s): Claudio Valderrama * Various BOF fixes (unregistered) Contributor(s): Claudio Valderrama Alex Peshkov Adriano dos Santos Fernandes * Improvement CORE-1266 Using blob filters in dynamic SQL Contributor(s): Adriano dos Santos Fernandes * 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 * Improvement CORE-1091 isc_service_query() should return an alias name instead of a full database file name in the case of configured "DatabaseAccess = None" Contributor(s): Alex Peshkov * Improvement CORE-1071 Background garbage collector doesn't need to read backversion of active record Contributor(s): Vlad Horsun * Improvement CORE-1070 Optimize sparse bitmap operations (set, test and clear) with mostly consecutive values Contributor(s): Vlad Horsun * Improvement CORE-1069 Optimize index scan when more than one index scanned and ANDed Contributor(s): Vlad Horsun * Improvement CORE-979 Make RDB$DB_KEY in outer joins returns NULL when appropriate Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-978 Extend ISQL SHOW SYSTEM command Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-977 Put blob charset in XSQLVAR::sqlscale Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-976 Synchronization of DSQL metadata cache objects in classic-server Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-972 Case-insensitive collation for UTF-8 Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-971 Improve network protocol performance Contributor(s): Dmitry Yemanov Vlad Horsun * Improvement CORE-970 Show line/column numbers in PSQL error stack trace Contributor(s): Vlad Horsun * 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-958 Increase the maximum number of hash slots for the Lock Manager. Note(s): The new limit is 64K slots (the old one was 2048). Contributor(s): Dmitry Yemanov * Improvement CORE-937 Change default lock manager settings -- increase table memory and number of slots. Note(s): The default lock table size has been increased to 1MB on all platforms, the new default number of hash slots is 1009. Contributor(s): Dmitry Yemanov * Improvement CORE-863 INSERT without values Example(s): INSERT INTO DEFAULT VALUES [RETURNING ] 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-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-711 Make syntax for "CREATE TRIGGER" compliant with SQL2003 Contributor(s): Adriano dos Santos Fernandes * Improvement CORE-673 instsvc.exe now supports multi-instance installations Contributor(s): Dmitry Yemanov * GBAK improvement (unregistered) Now it's possible to use v2.1's GBAK to restore on any FB version Contributor(s): Claudio Valderrama * 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 5) SHOW COLLATION and collation extraction in ISQL See also: /doc/README.intl.txt Contributor(s): Adriano dos Santos Fernandes * Feature CORE-1018 Provide mechanism to get engine version without needing to call API function Example(s): SELECT RDB$GET_CONTEXT('SYSTEM', 'ENGINE_VERSION') FROM RDB$DATABASE Contributor(s): Dmitry Yemanov * Feature CORE-975 Thai character set TIS620 Contributor(s): Adriano dos Santos Fernandes * Feature CORE-964 Aggregate function LIST (string concatenation) See also: /doc/sql.extensions/README.list Contributor(s): Dmitry Yemanov * Feature CORE-963 Common table expressions and recursive queries See also: /doc/README.common_table_expressions Contributor(s): Vlad Horsun * Feature CORE-962 Global temporary tables See also: /doc/README.global_temporary_tables Contributor(s): Vlad Horsun * Feature CORE-864 Chinese character set GBK Contributor(s): Adriano dos Santos Fernandes * Feature CORE-815 UPDATE OR INSERT and MERGE statements See also: /doc/sql.extensions/README.update_or_insert.txt /doc/sql.extensions/README.merge.txt Contributor(s): Adriano dos Santos Fernandes * Feature CORE-795 Unicode collations Contributor(s): Adriano dos Santos Fernandes * Feature CORE-794 Kill a query on client request Contributor(s): Dmitry Yemanov * Features CORE-746, CORE-774 and CORE-1019 Runtime database monitoring via SQL See also: /doc/README.monitoring_tables Contributor(s): Dmitry Yemanov * Feature CORE-704 Ctrl-C to be used to cancel interactive ISQL output Contributor(s): Michal Kubecek Adriano dos Santos Fernandes * Feature CORE-684 Collations allowed in PSQL parameters and variables Contributor(s): Adriano dos Santos Fernandes * Features CORE-682 and CORE-819 Port to Windows 64-bit platform (AMD64 and Intel EM64T) Contributor(s): Dmitry Yemanov * Feature CORE-660 Domains allowed to be used in PSQL parameters and variables See also: /doc/sql.extensions/README.domains_psql.txt Contributor(s): Adriano dos Santos Fernandes * Feature CORE-655 BLOB SUB_TYPE TEXT datatype fully compatible with VAR[CHAR] Contributor(s): Adriano dos Santos Fernandes * Features CORE-645 and CORE-745 Database triggers See also: /doc/sql.extensions/README.db_triggers.txt Contributor(s): Adriano dos Santos Fernandes * Generic cleanup STL is removed in favor of the internal class library Contributor(s): Alex Peshkov * Generic cleanup Large amount of ongoing code cleanup and style standardization Contributor(s): Claudio Valderrama