Skip to content

v0.21.0

Compare
Choose a tag to compare
@eolivelli eolivelli released this 15 Oct 14:17
· 77 commits to master since this release

Feature highlights

  • implement REPEATABLE_READ transaction isolation, the default will be READ_COMMITTED, that holds less row-level locks
  • implement "UNIQUE" indexes (experimental)
  • improve SQL conformance of handling NULL values (this may be considered as a breaking change!)
  • implement simple jSQLParser based planner (server.plannertype=jsqlparser)
  • implement automatic fallback to Calcite in case of a query that is not plannable with the simple planner (server.plannertype=auto)
    default planner is still Apache Calcite based, as it offers full SQL support and cost based Volcano planner
  • several improvements on the JDBC driver (thanks to @rmannibucau )
  • several performance improvement for in-JVM communications (bypass Netty stack at all)
  • performance improvements in "local" mode (skip auth, apply better defaults, skip useless logging) (thanks to @rmannibucau )
  • ability to drop dependencies to most of Calcite third party dependencies in case of using server.plannertype=jsqlparser (in order to - make a smaller dependency set and resulting size of the JDBC Driver)
  • new "DUAL" table like Oracle
  • ability to replace the PK of a record
  • remove JsonPath and Geometry dependencies
  • cache ZooKeeper handle on the client to reduce the number of sessions

see
https://github.com/diennea/herddb/milestone/5?closed=1

Compatibility:
This release is 100% compatible with old versions, except from 0.20.0BETA, that was an experimental version.