April to August 2021

August 2021

master branch
  • Finished feature #6815 - Support multiple rows for DML RETURNING
  • Fixed BLR format problem present at least since v1.5
  • Add some utility code (GenericMap, RefPtr, AutoPtr) to improve codebase
  • Add VSCode C++ config for better editing experience
  • Add noreturn attribute to raise functions
  • Task #6933 - Remove blr_fetch, never generated by Firebird and its tools
  • Adjust build for MSVC 19
  • Started working in #6681 - Support for WHEN NOT MATCHED BY SOURCE for MERGE statement [CORE6448].
V.4 branch
  • Tested and reviewed PR #6914 - Allow keywords in locales when creating ICU collations
  • Improvement #6915 - Allow attribute DISABLE-COMPRESSIONS in UNICODE collations
  • Backported fix for #6913 - Buffer overflows in getInfo APIs
  • Tests and discussion about time zones and ICU installation in the client
  • Fixed error in batch example.
Fb/Java
  • Fixed build in GitHub Actions
  • Pull requests review.

July

master branch
  • Fixed #6873 - SIMILAR TO does not use index when pattern starts with non-wildcard character (in contrary to LIKE)
  • Working on feature #6815 - Support multiple rows for DML RETURNING
  • Fixed problem happening when epp file is modified after initial build
  • Fixed #6913 - Buffer overflows in getInfo APIs.
V.4 branch
  • Fixed #6875 - Significant performance regression of SIMILAR TO and SUBSTRING(SIMILAR) when pattern is taken from variable (rather than directly specified)
  • Fixed #6887 - Invalid SIMILAR TO patterns may lead memory read beyond string limits
  • Fixed warning deleting pointer to incomplete type 'Jrd::PatternMatcher' may cause undefined behavior
  • Fixed BLR BLOB filter for blr_marks following blr_erase
  • Fixed BLR BLOB filter for blr_receive_batch
  • Feature #6910 - Add way to retrieve statement BLR with Statement::getInfo and ISQL's SET EXEC_PATH_DISPLAY BLR
Future versions
  • Design and discussion: New getInfo2 API
  • Design and discussion: Local temporary tables internals

June

master branch
  • Removed QLI and adjust the builds and TCS tests
  • Created PR for #6839 - Weird string comparison with index
  • Fixed #6801 - Error recompiling a package with some combination of nested functions
  • Do not remove versioned filed with make clean
  • Improvement #6740 - Allow parenthesized query expression for standard-compliance [CORE6511].
V.4 branch
  • Improvement #6872 - Indexed STARTING WITH execution is very slow with UNICODE collation
  • Started fix for #6875 - Significant performance regression of SIMILAR TO and SUBSTRING(SIMILAR) when pattern is taken from variable (rather than directly specified).
V.3 branch
  • Fixed #5534 - String truncation exception on UPPER/LOWER functions, UTF8 database and some multibyte characters
  • Fixed #6854 - Crash occurs when use SIMILAR TO and compare string with pattern that contains non-ascii character with suppressed exception handling (or "Invalid SIMILAR TO pattern" raises otherwise)
  • Created PR for backported fix for CORE-5611 - Higher memory consumption for prepared statements
  • Replace deprecated ubuntu-16.04 by ubuntu-20.04 in GitHub Actions.

May

Master branch

  • Fixed #6787 - MON$ATTACHMENTS.MON$TIMESTAMP should use its session original time zone
  • Improvement #6788 - Extend EXTRACT to extract time zone strings
  • Improvement #6786 - Add session time zone to system context
  • Fixed #6790 - MON$ATTACHMENTS.MON$TIMESTAMP is incorrect when DefaultTimeZone is configured with time zone different from the server's default
  • Reviewed PR #315 - Compile an external trigger before executing if it was deleted
  • Fixed memory leaks in external triggers examples
  • Improvement #6794 -Add MON$SESSION_TIMEZONE to MON$ATTACHMENTS
  • Fixed #6796 - Buffer overflow when padding line with national characters causes ISQL crash
  • Dynamic libncurses versus static libtermcap patch and discussion
  • Fixed #6800 - Client config DefaultTimeZone is not passed to server when isc_dpb_session_time_zone is not set
  • Improvement #5588 - Support full SQL standard binary string literal syntax
  • Improvement #5589 - Support full SQL standard character string literal syntax
  • Feature #6798 - Add built-in functions UNICODE_CHAR and UNICODE_VAL to convert between Unicode code point and character
  • Some code cleanup
  • Updated build to C++17 standard
  • Updated re2 library to latest stable version
  • Fixed TCS tests for v4 and forked it for v5.
V.3 branch
  • Backported #5913 - Increase number of formats/versions of views from 255 to 32K (CORE-5647).
Future
  • Continuing INTL refactoring, integration in the new API
  • Researching usage of smart pointer in cloop generated code
  • Reviewing RDB$KEYWORDS and RDB$BLOB_UTIL pull requests
  • Research about increasing max. VARCHAR length to 64K
  • Proposed CALL statement.

April

master branch
  • Fixed CORE-6527 - Regression: inline comment of SP parameter with closing parenthesis leads to incorrect SQL when trying to extract metadata
  • Fixed some TCS tests
  • Frontported fix for CORE-6517 - CREATE DATABASE fails with 'Token unknown' error when DB name is enclosed in double quotes and 'DEFAULT CHARACTER SET' is specified after DB name
  • Fixed CORE-6494 - Inconsistent translation "string->timestamp->string->timestamp" in dialect 1
  • Asked Dmitry question about SKD_* and time zones
  • Fixed CORE-6542 - Implementation of SUBSTRING for UTF8 character set is inefficient
  • Fixed TCS tests for CORE-6494.
V.3
  • Backported fix for CORE-6527 - Regression: inline comment of SP parameter with closing parenthesis leads to incorrect SQL when trying to extract metadata
  • Fixed CORE-6517 - CREATE DATABASE fails with 'Token unknown' error when DB name is enclosed in double quotes and 'DEFAULT CHARACTER SET' is specified after DB name
  • Backported fix for CORE-6494 - Inconsistent translation "string->timestamp->string->timestamp" in dialect 1
  • Integrating Ubuntu build in GitHub Actions.
Future versions
  • Continuing INTL refactoring, integration in the new API and improvements
  • Working in unit tests in the core code
  • Memory manager cleanup / external libraries problem investigation.
General
  • Working on Jira tracker migration to GitHub issues
Adriano dos Santos Fernandes
Sao Paulo, Brazil