January 2022 to November 2022
New development:
- Inline minor ODS upgrade (#7397)
- More cursor-related details in the plan output (#7441)
- Support for partial indices (#7257)
- Transform OUTER joins into INNER ones if the WHERE condition violates the outer join rules (#6992)
- Cost-based choice between nested loop join and hash join (#7331)
- Improved record compression (denser encoding of repeating bytes and less blocks) (#7302)
- Avoid data retrieval if the WHERE clause always evaluates to FALSE (#1708)
- Allow FB-known macros in replication.conf (#7294)
- ResultSet::getInfo() implementation (#7083)
- Enable merge joins. Implement a cost-based choice between hash and merge joins.
- Fix invariants optimization involving views (#7388, #7390)
- Query with SP doesn't accept explicit plan (#3812)
- Dummy (always true) conditions may change the join order (#6941)
- Server crashes when working with DSQL savepoints (#7288)
- Multi-way hash/merge joins are impossible for expression-based keys (#7164)
- Replication not restarting after network failure (#7150)
- Bad plan (HASH instead of JOIN) is chosen for some inner joins (#7137)
- Bad execution plan if some stream depends on multiple streams via a function (#3357)
- RDB$INDICES information stored inconsistently after a CREATE INDEX (#4085)
- Fixed regressions spotted by the QA suite
Other:
- Cleanup: remove the WNET protocol (#7082)
- Heavy optimizer refactoring
- v3.0.9, v3.0.10 and v4.0.2 releases (documentation and management)
Penza, Russia