January to December 2022
Bugs fixed
- #7109 : Content of DB file can be overwritten with zero characters in some (rare) cases.
- #7103 : FB service hangs and can not be stopped after several 'DELETE FROM MON$STATEMENTS' being issued in order to stop ES/EDS which waits record for updating.
- #7119 : Database statistics service could not find existing table(s)
- #7134 : Firebird 4: Database page errors directly after gbak, which disappear after some calls of gfix
- #7128 : Incorrect error message with isc_sql_interprete()
- #7146 : Index is corrupted after multiple record updates
- Attempt to fix recent crashes in oltp-emul test.
- gbak backup could hung when Ctrl-C pressed.
- Corrections for "Windows instance conflict" handling
- Fixed AV and other issues found by FBT test bugs.core_6353.
- #7239 : Connect using XNET protocol shows different exception if DB is in shutdown state (comparing to INET)
- #7256 : Inconsistent conversion of non-TEXT blobs in BLOB_APPEND
- #7271 : Sporadic crash on 3.0.10.33106
- 7276 : Firebird 4 literal containing crashes server
- Fixed stack overflow reason as shown by failed fbt test for core-4653.
- Avoid too early kill of probably working (not hung) thread.
- #7314 : Multitreaded activating indices restarts server process
- Better error handling at transaction start.
- #7379: BLOB_APPEND with existing blob accepts malformed string, and #7380: Aliased blob variable with less restrictions makes text blob accept malformed string through BLOB_APPEND
- #7385: Broken lock of statements cache during multithreaded index activation
Maintenance
- Maintain Windows build system
- Fixed build with MSVC 17.1
- Don't generate browse info by MSVC build. It saves 15-20% of build time on Windows.
- Use correct Windows SDK version
- Adjust debug messages to avoid false failures of some fbt tests.
- #7161 : Update zlib to 1.2.12
- Update ISQL's "HELP SET" command.
- Restore correct order of trace events when attempt to attach failed.
- Change names of global shared memory areas (currently trace and mappings) to avoid conflicts with FB4.
- #7232 : Unify init\check methods for shared memory and avoid duplicating of type/version usage in code.
New features and improvements
- #7212 : Parallel backup, restore and sweep. Also including:
- optimize concurrent bulk inserts to not fight for the same data page,
- optimize concurrent bulk inserts of blobs,
- DIRECT_IO for restore.
- #7213 : Use Windows private namespace for kernel objects used in server-to-server IPC.
- #6983, #7216 : New built-in function BLOB_APPEND
- #6730 : Trace: provide ability to see STATEMENT RESTART events (or their count).
- #7208 : Trace: provide performance statistics for DDL statements.
- #7218 : Let isql show per-table run-time statistics.
- #7186 : FB4 Nbackup RDB$BACKUP_HISTORY issue
- #7259 : Remove TcpLoopbackFastPath and use of SIO_LOOPBACK_FAST_PATH
- Validation of condition indices.
- #7339 : Hash table based on lock-free list for page cache.
Vladyslav Khorsun
Dnetpropetrovsk, Ukraine