Release Notes - Firebird Core - Version 4.0 Beta 1 - HTML format

Bug

  • [CORE-405] - Garbage vs indices/constraints
  • [CORE-1592] - Altering procedure parameters can lead to unrestorable database
  • [CORE-2284] - Records left in RDB$PAGES after rollback of CREATE TABLE statement
  • [CORE-2502] - Aliases and error about cyclic dependencies in CTE
  • [CORE-4481] - Local database mode parameters are ignored
  • [CORE-4492] - OR/IN predicates for RDB$DBKEY lead to NATURAL plan
  • [CORE-4964] - Real errors during connect to security database are hidden by Srp user manager. Errors should be logged no matter what AuthServer is used.
  • [CORE-5436] - [FB3 SC] Server hangs (under load test)
  • [CORE-5480] - SUBSTRING startposition smaller than 1 should be allowed
  • [CORE-5547] - Server crashes while compiling stored procedure with nested references to query-based computed fields
  • [CORE-5593] - System function RDB$ROLE_IN_USE cannot take long role names
  • [CORE-5598] - Error "block size exceeds implementation restriction" while inner joining large datasets with a long key using the HASH JOIN plan
  • [CORE-5600] - Invalid blob id when add a new blob column of type text and update another field
  • [CORE-5605] - Incorrect check for existing MAP in a case when pre-FB3 security database is used
  • [CORE-5611] - Higher memory consumption for prepared statements
  • [CORE-5613] - SuperServer could hung when changing physical backup state under high load
  • [CORE-5615] - Firebird 3 crashing randomly
  • [CORE-5618] - Part of the pages of the second level blobs is not released when deleting relations.
  • [CORE-5624] - using backslash in alias on linux does not work
  • [CORE-5630] - Can't create the shadow file.
  • [CORE-5637] - string right truncation on restore of security db
  • [CORE-5638] - Wrong result with index on case-insensitive collation using NUMERIC-SORT
  • [CORE-5643] - Message "Operating system call munmap failed. Error code 12" can appear in firebird.log under heavy load (2.5.x, CS, SC)
  • [CORE-5645] - Wrong transaction can be passed to external engine
  • [CORE-5646] - Parse error when compiling a statement causes memory leak until attachment is disconnected
  • [CORE-5649] - isc_add_user / isc_modify_user produce unusable user record
  • [CORE-5650] - Segfault when procedure dropped on classic server
  • [CORE-5651] - Problem migrating users to V3.0
  • [CORE-5653] - gbak restore with large number of small blobs very slow using Linux Classic
  • [CORE-5654] - Mixed intermediate build files for plugins examples
  • [CORE-5655] - isc_info_sql_relation_alias reports incorrect alias for CTE or nested queries
  • [CORE-5657] - Various UDF-related security vulnerabilities
  • [CORE-5659] - Bad PLAN generated for query on Firebird v3.0
  • [CORE-5667] - Regression in 3.0+: message "CTE 'X' has cyclic dependencies" appear when 'X' is alias for resultset and there is previous CTE part with the same name 'X' in the query
  • [CORE-5673] - Unique constraint not working in encrypted database on first command
  • [CORE-5675] - isc_vax_integer() and isc_portable_integer() work wrongly with short negative numbers
  • [CORE-5677] - Dirty RDB$PAGES after an error after phase 3 of create_relation
  • [CORE-5681] - AV when external statement is executed and local transaction is rolled back
  • [CORE-5684] - Error "no current record for fetch operation" is raised while deleting record from MON$ATTACHMENTS using ORDER BY clause
  • [CORE-5685] - Sometime it is impossible to cancel\kill connection executing external query
  • [CORE-5686] - Firebird 3.0.2 allows any protocol version >= 10 to connect, including interbase protocol 14
  • [CORE-5694] - Duplicate values in columns with a unique constraint
  • [CORE-5695] - Position function does not consider the collation for blob
  • [CORE-5699] - DECFLOAT should not throw exceptions when +/-NaN, +/-sNaN and +/-Infinity is used in comparisons
  • [CORE-5700] - DECFLOAT underflow should yield zero instead of an error
  • [CORE-5702] - Firebird Handle Leak Windows
  • [CORE-5706] - Trace config with misplaced "{" lead firebird to crash
  • [CORE-5710] - Datatype declaration DECFLOAT without precision should use a default precision
  • [CORE-5713] - Field alias disapears in complex query
  • [CORE-5719] - FB >= 3 crashes when restoring backup made by FB 2.5.
  • [CORE-5720] - Sweep in Firebird 3 in CS mode could run too slow when there is big load on server
  • [CORE-5721] - Information items isc_info_length and fb_info_crypt_state have same code
  • [CORE-5726] - Unclear error message when inserting value exceeding max of dec_fixed decimal
  • [CORE-5728] - Field subtype of DEC_FIXED columns not returned by isc_info_sql_sub_type
  • [CORE-5730] - Connection to server may hang when working with encrypted databases over non-TCP protocol
  • [CORE-5735] - Additional keyholder opens unauthorized connections to encrypted database
  • [CORE-5737] - Invalid parameters of gds transaction in ISQL
  • [CORE-5742] - Incorrect error message in iSQL when trying to create database with wrong password
  • [CORE-5747] - User can grant usage privilege by himself
  • [CORE-5753] - Parser should not allow to use GRANT OPTION for FUNCTION and PACKAGE
  • [CORE-5754] - ALTER TRIGGER check privilege for alter database instead of table
  • [CORE-5755] - No error if the GRANT target object does not exist
  • [CORE-5756] - Regression: FB crashes when trying to recreate table that is in use by DML (3.0.3; 3.0.4; 4.0.0)
  • [CORE-5757] - deadlock with events
  • [CORE-5760] - Server process crashes while restoring database
  • [CORE-5762] - Wrong transaction number in RDB$PAGES relation may cause infinite recusrion in engine and segfault
  • [CORE-5764] - Installation of Firebird 3.0.3 on SLES 12 SP3 fails with ''Could not find acceptable ICU library"
  • [CORE-5765] - Missing directives in Firebird.pas
  • [CORE-5769] - Database crypt plugin sample on Pascal is broken
  • [CORE-5773] - PSQL cursor doesn't see inserted record
  • [CORE-5776] - "Input parameter mismatch" error after altering external function into PSQL function
  • [CORE-5778] - install.sh fails if -path argument contains "firebird"
  • [CORE-5780] - Server hangs when client tries to send too long DB encryption key(s)
  • [CORE-5783] - execute statement ignores the text of the SQL-query after a comment of the form "-"
  • [CORE-5788] - Proposed Security Patch: Replacement of use of SHA-1 in the SRP Client Proof with SHA-256
  • [CORE-5790] - User with DROP DATABASE privilege can't drop database
  • [CORE-5791] - ODS for windows builds and linux-x64 (on the one side) and linux-x86 (on the other side) does not match
  • [CORE-5793] - Error returned from DbCryptPlugin::setKey() is not shown
  • [CORE-5796] - gstat may produce faulty report about presence of some none-encrypted pages in database
  • [CORE-5804] - Multiple error in REVOKE operator
  • [CORE-5815] - Server hangs for 60/120 seconds if client exits during database encryption key transfer callback
  • [CORE-5817] - Unable to compile Firebird with ICU 60 or higer
  • [CORE-5819] - Attachment might not gone after it was DELETEd FROM MON$ATTACHMENTS
  • [CORE-5822] - Client gets SQLSTATE = 28000 ("user/password not defined") if WireCrypt = Disabled is used on client side. Rather error SQLSTATE = 08006 ("Error occurred... check server firebird.log") should be raised
  • [CORE-5824] - Segmentation fault during install on Linux
  • [CORE-5829] - gsec does not release user manager plugin
  • [CORE-5830] - Encryption Interface crashing Firebird process when working on big db file (6.7GB)
  • [CORE-5831] - Not user friendly output of gstat at encrypted database
  • [CORE-5833] - DDL triggers for some object types (views, exceptions, roles, indexes, domains) are lost in backup-restore process
  • [CORE-5837] - Inconsistent results when working with GLOBAL TEMPORARY TABLE ON COMMIT PRESERVE ROWS
  • [CORE-5840] - Ignor of reference privilege
  • [CORE-5841] - no permission for SELECT access to TABLE PLG$SRP in newer snapshot
  • [CORE-5843] - Wrong handling of failures of TRANSACTION START trigger
  • [CORE-5844] - Firebird freeze for new connections
  • [CORE-5846] - CREATE VIEW issues "Implementation of text subtype 512 not located"
  • [CORE-5847] - "Malformed string" instead of key value in PK violation error message
  • [CORE-5851] - Incomplete fix for CORE-5779 - missing builds/posix/prefix.linux_riscv64
  • [CORE-5852] - There is no check of existance generator and exception when privileges are granted
  • [CORE-5855] - Latest builds of Firebird 4.0 cannot backup DB with generators which contains space in the names
  • [CORE-5861] - GRANT OPTION is not checked for new object
  • [CORE-5862] - Varchar computed column without explicit type does not populate RDB$CHARACTER_LENGTH
  • [CORE-5863] - Classic process crashes when client disconnected
  • [CORE-5865] - Alignment error on x86_64
  • [CORE-5870] - ISQL's "show database" command works wrong with 64-bit numbers
  • [CORE-5871] - Incorrect caching of the subquery result (procedure call) in independent queries
  • [CORE-5872] - Database validation reports false errors "Record XXX has bad transaction" and\or "Record XXX is wrong length" when record transaction number is greater than 2^32
  • [CORE-5879] - Error reading/writing data to connection
  • [CORE-5880] - Unhandled: C0000005.ACCESS_VIOLATION
  • [CORE-5881] - Network server ignores any error that took place in KeyHolderPlugin when establishing initial callback with client
  • [CORE-5884] - Initial global mapping from srp plugin does not work
  • [CORE-5886] - Nbackup does not work after 32K of backups iterations
  • [CORE-5891] - Invalid events are released in mapping shared memory when dead process is detected
  • [CORE-5893] - gbak may crash database when mixing alias with full database name
  • [CORE-5896] - NOT NULL constraint is not synchronized after rename column
  • [CORE-5898] - ROLE not passed in EXECUTE STATEMENT ... ON EXTERNAL
  • [CORE-5899] - Memory leak in GBAK code when used as service
  • [CORE-5900] - Login attempts while engine is shutting down caused unnecessary delays in shutdown process
  • [CORE-5904] - An attempt to create global mapping with long (> SQL identifier length) FROM field fails
  • [CORE-5905] - Inconsistencies with PSQL FUNCTION vs UDF
  • [CORE-5907] - Regression: can not launch trace if its 'database' section contains regexp pattern with curvy brackets to enclose quantifier
  • [CORE-5911] - Connection could hung after no activity for 60 seconds
  • [CORE-5918] - Memory pool statistics is not accurate
  • [CORE-5926] - Attempt to create mapping with non-ascii user name which is encoded in SINGLE-BYTE codepage (win 1251) leads to '-Malformed string' message.
  • [CORE-5927] - With some non-standard authentication plugins providing correct crypt key wire anyway remains not encrypted
  • [CORE-5930] - internal Firebird consistency check (Incorrect snapshot deallocation - too few slots)
  • [CORE-5934] - gpre_boot fails to link using cmake, undefined reference 'dladdr' and 'dlerror'

Improvement

  • [CORE-809] - Remove context limit for stored procedures / triggers
  • [CORE-1082] - Improve the statistics engine allowing auto-updating and gatherig more statistic data.
  • [CORE-2992] - Shorten backup/restore duration
  • [CORE-3295] - Estimate the actual record compression ratio in the optimizer
  • [CORE-3708] - Add actual configuration settings to the monitoring tables
  • [CORE-4017] - Add Transaction Parameters in Autonomous Transactions
  • [CORE-4401] - Optimize the record-level RLE algorithm for a denser compression of shorter-than-declared strings and sets of subsequent NULLs
  • [CORE-4402] - Add timing statistics to the monitoring tables
  • [CORE-4409] - Enhancement in precision of calculations with NUMERIC/DECIMAL
  • [CORE-4529] - Allow to use index when GROUP BY on field which has DESCENDING index
  • [CORE-4726] - Provide ability to do: REcreate user <user_name> password <user_pwd>
  • [CORE-4823] - Add support for Hash/merge algorithms for outer joins
  • [CORE-5239] - Add virtual table SEC$ROLES to return all roles currently active for the connected user
  • [CORE-5606] - Add expression index name to exception message if computation failed
  • [CORE-5610] - Provide info about database (or alias) which was in use during "Error during sweep: connection shutdown"
  • [CORE-5614] - Physical backup merge stage could run too long, especially with huge page cache
  • [CORE-5629] - gstat output does not include datetime of analysis
  • [CORE-5647] - Increase number of formats/versions of views from 255 to 32K
  • [CORE-5648] - Avoid serialization of isc_attach_database calls issued by EXECUTE STATEMENT implementation
  • [CORE-5660] - Make flush of big number of dirty pages faster
  • [CORE-5674] - Allow unused Common Table Expressions
  • [CORE-5676] - Consider equivalence classes for index navigation
  • [CORE-5703] - When database validation fixes "orphan page" errors it also should adjust "lowest free page" marker (pip_min) on corresponding PIP, if necessary
  • [CORE-5704] - Avoid UPDATE of RDB$DATABASE by ALTER DATABASE statement when possible
  • [CORE-5705] - Store precision of DECFLOAT in RDB$FIELDS
  • [CORE-5712] - Access to the name of DB encryption key
  • [CORE-5718] - Make TempCacheLimit setting database-wise
  • [CORE-5727] - Make faster engine response on cancel\shutdown signals when scanning long list of pointer pages
  • [CORE-5741] - Word "fixing" in gbak output is too scary
  • [CORE-5770] - User who is allowed to manage other users must have this ability WITHOUT need to grant him RDB$ADMIN role (which is related to admin tasks in "main" database rather than in security_db)
  • [CORE-5779] - Add support for riscv64
  • [CORE-5860] - Support auth_plugin_list dpb/spb item from application to client
  • [CORE-5874] - Provide name of read-only column incorrectly referenced in UPDATE ... SET xxx
  • [CORE-5876] - Provide name of udf function for "arithmetic exception, numeric overflow, or string truncation"
  • [CORE-5883] - Services version 1 cleanup
  • [CORE-5887] - Allow the use of management statements in PSQL blocks
  • [CORE-5908] - Enhance dynamic libraries loading related error messages
  • [CORE-5921] - Provide information about Global Commit Number, Commit Number of currently used database snapshot (if any) and Commit Numbers assigned to the committed transactions
  • [CORE-5928] - Make it possible for AuthClient plugin to access authentication block from DPB.

New Feature

  • [CORE-694] - Support for time zones
  • [CORE-820] - isc_dsql_exec* should allow list of parameter sets
  • [CORE-909] - Ability to retrieve Server Current UTC/GMT Timestamp
  • [CORE-1686] - Support value distribution histograms
  • [CORE-2021] - Built-in replication
  • [CORE-2479] - Add TRUNCATE TABLE
  • [CORE-3435] - Lateral derived tables
  • [CORE-5536] - Connections compressed and encrypted in MON$ATTACHMENTS table
  • [CORE-5620] - Add builtin functions FIRST_DAY and LAST_DAY
  • [CORE-5768] - Implement FILTER-clause for aggregate functions
  • [CORE-5808] - Support backup of encrypted databases

Sub-task

  • [CORE-1662] - Compress backup on the fly
  • [CORE-5601] - Add details on compression and crypt status of connection (fb_info_conn_flags) to getInfo() API call
  • [CORE-5746] - Remove the restriction on create/delete, enable/disable the user indexes in system tables
  • [CORE-5772] - Client hangs when working with events under high load
  • [CORE-5913] - Add context variables with compression and encryption status of current connection

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.