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
  • Cleanup: remove the WNET protocol (#7082)
  • Heavy optimizer refactoring
  • v3.0.9, v3.0.10 and v4.0.2 releases (documentation and management)

Dmitry Yemanov

Penza, Russia