v0.21.0
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.