January to December 2022
December 2022
master branch
- Finished and merged RDB$BLOB_UTIL.
- Fixed docker Linux build after introduction of libcds.
- Remove appveyor build from master.
- Improvement to make TARGET usage allowing usage of Release/Debug independently of DefaultTarget. Add libcds cleanup.
- Fixed Android package version.
- Fixed #7422 - Seek in temporary blob level 0 makes read return wrong data.
- Investigating usage of vcpkg to maintain external dependencies.
- Fixed some warnings.
November
master branch
- Fixed #7379 - BLOB_APPEND with existing blob accepts malformed string.
- Improvement #7382 - Performance improvement for BLOB copying.
- Specifying dynamic external routines.
- Fixed #7385 - Broken lock of statements cache during multithreaded index activation.
- Improvement #7399 - Simplify client library build.
- Investigating hang happening in #7385.
- Fixed #7391 - AV when compiling stored procedure.
- Started implementation of dynamic external routines.
v4 branch
- www
- Add Linux and MacOS v4 snapshots to https://github.com/FirebirdSQL/snapshots/releases/tag/snapshot-v4.0.
- Tried to setup Windows snapshots using GitHub Actions self-hosted runner, but it was incompatible with WinCompile's Windows 2008.
Others
- Updated GitHub action mknejp/delete-release-assets to fix problems in our workflow and sent changes upstream.
- Research usage of antlr4
October
master branch
- - Continuing working in new getInfo() API.
- #7350 - SKIP LOCKED clause for SELECT WITH LOCK, UPDATE and DELETE.
- Review of opened PRs thinking on v5 beta 1.
- #7338 - Public interfaces: support for C++11 and add version definition (#define) for conditional compilation.
- Bringing RDB$BLOB_UTIL up to date.
- Fixed crash in debug build related to conditional indexes.
- Re-thinking RDB$BLOB_UTIL after BLOB_APPEND.
- Investigating usage of vcpkg to maintain external dependencies.
- Replace deprecated GitHub Actions' set-output.
v4 branch
- #6964 - Backported fix for --with-system-re2 configure option for using system-wide libre2
- #7369 - 4.0.2: build fails against re2 20220601.
Others
September
master branch
- Fix Android packaging issues.
- Split Android package into two phases, second one to run in emulator.
- Add GitHub action to create full package for x86, x64, arm32 and arm64.
- Added tzdata to Android packages.
- #7317 - Automated Linux ARM32/64 builds using crosstool-ng toolchain and QEMU. Changed x86/x64 builds to also use crosstool-ng.
- Fixed #7309 - Firebird 5.0 server does not release memory after INSERT query.
- Fixed #5749 - Token unknown error on formfeed in query [CORE5479].
- Start working in new getInfo() API.
- Added unit tests for Clumplet InfoResponse kind.
August
master branch
- Finished implementation of unit tests.
- Improve Windows build process making it generating public files directly in the output directory and separated by configuration.
- Fix problems with Windows package scripts.
- Improve Windows build speed not building both release and debug external libraries.
- Store snapshots in FirebirdSQL/snapshots.
- Specification and discussion of new statement EXECUTE SQL.
- Work in named parameters support.
- Change release filenames.
- Make Android build work with modern NDK.
v4 branch
- Fixed #7243 - Some UNICODE characters can lead to wrong CONTAINING evaluation when lower/upper uses different number of bytes in its encoding.
- Reviewed and applied fix for #7241 - Mac OS installer - firebird user not created correctly if group already exists.
v3 branch
- Finished fix for #7237 - Starting operator become unstable on indexed varchar fields.
Others
- Added ChangeLog generator action to make creation of CHANGELOG.md easier.
- Forked GitHub Action https://github.com/mknejp/delete-release-assets
- to improve for Firebird needs.
July
master branch
- Fixed #7220 - TYPE OF COLUMN dependency not tracked in package header and external routines.
- Fixed #7227 - Dependencies of subroutines are not preserved after backup restore.
- Research related to #3863.
- Started implementation of unit tests.
- Make MacOS GitHub Actions build use static libc++ to avoid problems with shared C++ libraries.
- Cache MacOS libicu build in GitHub Actions to make build faster.
v4 branch
- Fixed #7229 - ALTER COLUMN DROP IDENTITY does not reset generator name in metadata cache
v3 branch
- Started fix for #7237 - Starting operator become unstable on indexed varchar fields.
June
master branch
- Profiler: finished implementation of remote session profiling.
- Reviewed feature "Parallel backup, restore and sweep".
- Profiler: automatic flush.
- Profiler: improve timings accurary.
- Benchmarks and discussions related to record encoding and tested increase of MAX_RECORD_SIZE.
- Profiler: add TOTAL_TIME column to PLG$PROF_REQUESTS. Add view PLG$PROF_STATEMENT_STATS_VIEW.
- Profiler: improve PSQL stats in corner cases.
- Fixed #7202 - ISQL -ch utf8 (Windows only): either silently quits to OS or issues non-expected 'malformed string' when non-ascii character occurs in the typed command.
- Research and discussion about ISQL problem detecting pipe as interactive in Windows.
- Update VS docker build to 16.11.16.
- Fix build with VS build tools instead of Visual Studio.
- Profiler: design for future extensions with different timings types.
- Fixed #6869 - Domain CHECK-expression can be ignored when we DROP objects that are involved in it.
- Fixed #6807 - Regression in FB 4.x : "Unexpected end of command" with incorrect line/column info.
- Added workflow to trim trailing spaces from source files and avoid unnecessary merge conflicts.
v4 branch
- Fixed Windows empbuild Debug build.
- Fixed #7202 - ISQL -ch utf8 (Windows only): either silently quits to OS or issues non-expected 'malformed string' when non-ascii character occurs in the typed command.
- Backported improvement #7038 - Improve performance of STARTING WITH with insensitive collations.
- Reviewed PR #7217 - Fix a bug when it was not allowed to execute DROP PACKAGE BODY for a package with a procedure even if a user has DROP ANY PACKAGE privilege.
- Research related to #7171 - Authentication error / Connection shutdown problems.
- Fixed #7222 - Dependencies of packaged functions are not tracked.
May
master branch
- Profiler: various changes accordingly to review comments.
- Working in internal DSL to replace GDML.
- Fixed #7176 - Incorrect error "Invalid token. Malformed string." with union + blob + non utf8 varchar.
- Put debug option DSQL_KEEP_BLR into statement cache's key.
- Add possibility to have default expressions in system packages' procedures and functions parameters.
- Fixed #7179 - Wrong error message - "string right truncation. expected length 30, actual 30"
- Fixed #7183 - Regression when derived table has column evaluated as result of subquery with IN(), ANY() or ALL() predicate: "invalid BLR at offset ... / context already in use".
- Profiler: started implementation of remote session profiling.
v4 branch
- Fixed #7179 - Wrong error message - "string right truncation. expected length 30, actual 30"
- Reviewed fix for #7178: Add PUBLIC user to sql script condition which selects privileges from granted user roles.
v3 branch
- Investigation of #7190 - TRIM function is wrongly working in collate UNICODE_CI_AI.
April
master branch
- Working in internal DSL to replace GDML.
- Fixed problem found by Dmitry where node->getDesc is called after parts of csb is released.
- Improvement #7169 - Improve ICU version mismatch diagnostics.
- Adjust logic of POSIX DlfcnModule::findSymbol to avoid problems when same library is loaded through different file names (symbolic links /directly).
v4 branch
- Fixed #7167 - Incorrect transliteration of field names in constraint violation errors.
- Fixed #7168 - Ignore missing UDR libraries during restore.
- Fixed #7124 - Inconsistent RDB$USER_PRIVILEGES after dropping identity.
- Fixed #7123 - ISQL does not extract "INCREMENT BY" for IDENTITY column.
v3 branch
- Analized test for CORE-1885.
March
master branch
- Compiled statement cache.
- Make DeclareLocalTableNode::execute truncate the table if it already had data from a previous execution.
- Simplify Statement::verifyAccess for internal statements.
- Unset req_in_use in EXE_release.
- Do not checkCancelState twice when there is no contention in thread_db::reschedule().
- Local tables design.
- Working in internal DSL to replace GDML.
- Verified problem (record not found for user) reported by Pavel Zotov after compiled statement cache.
- Fixed problem with DDL+DML in the same transaction with compiled statement cache - reported by Pavel Zotov.
v4 branch
- Remove deprecated GitHub Actions Windows 2016 environment.
v3 branch
- Fixed #7094 - Incorrect indexed lookup of strings when the last keys characters are part of collated contractions and there is multi-segment insensitive descending index.
- Fixed #7140 - Wrong select result in case of special sort character.
February
master branch
- Refactor statement and request parts so multiple DSQL requests could be created from a single compiled statement paving the ground for compiled statement cache.
- Finished addition of table MON$COMPILED_STATEMENTS and columns MON$STATEMENTS.MON$COMPILED_STATEMENT_ID and MON$CALL_STACK.MON$COMPILED_STATEMENT_ID.
- Compiled statement cache initial work and discussions.
- Refactor: avoid prefix Jrd in Statement class and Statement/jrd_req accessors/variables.
- Removed bad asserts in INTL libraries.
- Refactor: renamed jrd_req class to Request.
- Started development of compiled statement cache.
v4 branch
- Verified problem with FB in OpenSUSE 15.3 which was reported as bugged - not confirmed.
January
master branch
- Worked in CALL statement.
- Improvement #4769 - Allow sub-routines to access variables/parameters defined at the outer/parent level [CORE4449].
- Code cleanup: mark nodes and stream classes as final as possible and replace FB_FINAL by final.
- Tested setting UTF-8 codepage through manifest for allow acessing database with Unicode characters in file name.
- Cleanup: remove blr_parameter3.
- WIP - DSQL refactor for compiled statement cache.
v4 branch
- Fixed #7090 - Performance degradation with CURRENT_DATE, LOCALTIME and LOCALTIMESTAMP.
- Improvement #7092 - Improve performance of CURRENT_TIME.
- Refactor request's timestamp handling.
- #7041 - Helping with MacOS M1 port.
- Fixed #7112 - Avoid unload of plugins in MacOS due to problematic reload of them.
- Fixed #7108 - Firebird does not find an record when adding a foreign key.
v3 branch
- Use clock_gettime in MacOS.
others
- Helping with C# mappings for the OO API.
Adriano dos Santos Fernandes
Sao Paulo, Brazil